From: ExtraBbit <mail.xpd@gmail.com.>, <extrabbit@localhost.com.>
Newsgroups: email
Date: Mon, 30 Jan 2007 14:31:37 +0000 (UTC)
Subject: Перенос Linux LiveCD на Flash диск
v.0.2, 15 января 2007.
Версию 0.1 можно посмотреть здесь: http://www.opennet.ru/base/sys/live_flash.txt.html
В этом документе я расскажу о том, как быстро, но качественно и правильно
перенести LiveCD на флешку. Получается очень удобная и компактная вещь.
1. Зачем?
Удобно ли вам таскать с собой 12-сантиметровый диск со своим любимым LiveCD
(Knoppix, DSL, Blin)? Нет? А ведь хочется всегда под рукой иметь свою систему,
причем Linux, да чтобы она в кармане много место не занимала.
К чему я клоню. Настало время вспомнить про свою флешку (USB Flash Drive
по-научному) и перенести туда свой любимый дистрибутив. Предлагаю вам свое
решение этой задачи.
2. Что нам понадобится
Список продуктов, необходимых для приготовления живой флешки:
* Собственно, флешка. Размер зависит от ваших аппетитов. Для Damn Small
Linux подойдет и 128 Мб, для Knoppix понадобится не меньше одного
гигабайта. Я использовал Transcend JetFlash JF150 на 1 Гб;
* LiveCD, который мы будем пытать. Мною опробованы: Knoppix
(http://www.knopper.net), Damn Small Linux (http://www.damnsmalllinux.org), Trinux
(http://www.trinux.org). Последний, правда, не работает конкретно на моем
компьютере (точнее, нормально не работает), т.к. нет некоторых
специфических модулей, а докачивать мне лень :) В HOWTO рассматривается
DSL, но отличия между ними минимальны (в плане переноса на флешку);
* Операционка, из-под которой мы будем все это делать. Тут на вкус и цвет
товарища нет, выбирайте сами. Я использую Mandriva Linux 2007 LCE. И
тут мне уже неважно, что вы на это скажете :);
* Syslinux (http://syslinux.zytor.com). Если вас в дистрибутиве вдруг не оказалось
этой программы (странный какой-то дистрибутив), качайте с вышеуказанного
сайта исходники и собирайте.
* /dev/hands и /dev/brains + последние патчи для этих устройств.
Вот и все.
3. Подготавливаемся
Убеждаемся, что все на месте.
[extrabbit@localhost extrabbit]$ syslinux help
bash: syslinux: command not found
Вот вам и первое препятствие отсутствие syslinux'а. Но в Mandriva он есть,
просто не установлен по умолчанию. Ставим! Rpmdrake и urpmi вам в помощь:
Если в вашем дистрибутиве все же не окажется syslinux вообще, грузите исходники.
Кстати, к этому моменту надо бы уже открыть консоль, причем
суперпользовательскую.
Теперь разберемся с самой флешкой. В принципе, все данные на ней можно и
оставить, но чем пингвин не шутит! На бэкап-то на жестком диске места должно
хватить.
А, еще нюанс: придется нам использовать vfat. Нет, можно, конечно, и в ext3,
но пользователи, которые до сих пор сидят под Windows, этого не оценят. Вам оно
надо? Вот и я так же подумал. В общем, я вначале флешку почистил:
Поехали дальше. Вставляем диск с LiveCD ("и монтируем" я вычеркнул - automount
творит чудеса :). Если у вас лежит только iso'шник, то его совсем необязательно
сначала прожигать на болванку. Просто делайте как я:
Что это я сделал: я создал точку монтирования (/mnt/dsl-loop) для образа
(/home/extrabbit/dsl-2.2.iso) и примонтировал его (образ) с помощью обратной
петли (-o loop). Если mount будет ругаться на -o loop, то придется обновить
util-linux. Но я надеюсь, что у вас дистрибутив новее Red Hat 6 :) Теперь
копируйте все файлы с компакт-диска на флешку (/mnt/removable - моя флешка):
Пока копируется Damn Small Linux, можно успеть поменять обои. Если же ваш
выбор - Knoppix, лучше попейте чаю, причем из самовара, потому как смотреть на
консоль в ожидании появления $PS1 пять-семь минут - это первый признак
шизофрении :)
3. Почти готово...
Половина дела сделана. Теперь остается самое главное - сделать флешку живой,
т. е. загрузочной. Но для этого нам сначала нужно ядро, initrd и конфиг
syslinux. Можно все это сделать своими руками, но зачем? У нас все это добро
есть в папке boot/isolinux:
Копируйте все это в корень флешки. Но тут есть одна маленькая деталь, которая
тем не менее заставила 2 часа искать причину, почему же syslinux не находит
ядро. Конфиг syslinux'а называется syslinux.cfg, а isolinux'а - isolinux.cfg.
Т. к. мы перетаскивали файлы с LiveCD, где использовался isolinux, надо
поменять имя конфига с isolinux.cfg на syslinux.cfg, и все заработает!
Вот и пришло время для syslinux. Не забудьте только отмонтировать флешку! :)
[root@localhost removable]# cd ..
[root@localhost mnt]# umount removable
Вот только теперь можно уже давать команду:
[root@localhost mnt]# syslinux /dev/sdb1
(/dev/sdb1 флешка; у вас она может быть и sdc, и sdd)
Проверить, успешно ли прописался syslinux на флешке, можно так:
[root@localhost mnt]# ls -l removable/ldlinux.sys
Если его на флешке не окажется, то с записью вышел облом. Ищите ошибку (вы
точно отмонтировали флешку?), или попробуйте syslinux -f /dev/sdb1. Но это на
крайний случай.
Убедились, что все в порядке? Теперь можно и мусор в лице /mnt/removable/boot
удалить:
[root@localhost DSFL]# rm -rf boot
Главное, /boot не удалить:)
4. Мы сделали это!!!
Вот и готова живая флешка. Перезагружайтесь, ставь флешку загрузочным
устройством и наслаждайтесь Линуксом, который помещается даже в самом тесном
кармане.
5. Спасибы и копирайты
Большое спасибо всем, кто читал и помог улучшить первую версию HOWTO. В
частности, администраторам OpenNet.ru - ребята, спасибо за придание документу
человеческого вида, да и вообще за то, что выложили :)
Также спасибо людям с #linux RusNet'а за то, что объявили статью бояном :)
Постараюсь больше не писать (вот опять вру :)
(С) 2006-2007 ExtraBbit.
Все отзывы предложения по улучшению, исправлению ошибок вы можете посылать мне
на ящик, по мере возможности я постараюсь принять это к сведению и выпустить
более полное и не такое сумбурное HOWTO.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не
указано иное. Документы Linux HOWTO, а также их переводы, могут быть
воспроизведены и распространены полностью или частично на любом носителе
физическом или электронном, при условии сохранения этой заметки об авторских
правах на всех копиях. Коммерческое распространение разрешается и поощряется;
но, так или иначе, автор текста и автор перевода желали бы знать о таких
дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO,
должны сопровождаться этой заметкой об авторских правах. Это делается в целях
предотвращения случаев наложения дополнительных ограничений на распространение
документов HOWTO. Исключения могут составить случаи получения специального
разрешения у координатора Linux HOWTO, с которым можно связаться по адресу
приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при
этом сохранить авторские права и быть уведомленными о всех планах
распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к
координатору проекта Linux HOWTO.
Приложение А. Как поменять загрузочное лого.
Но это еще не конец... :) Если вам не нравится логотип DSL, появляющийся при
загрузке, или просто хочется его сменить, читайте дальше.
Лого, которое выводит syslinux, хранится в файле logo.16 (на самом деле, имя
может быть любое, просто конфиг менять мне тоже лень :) Сначала решите,
изменять прежнее лого или делать новое. Если хотите исправить старое лого, то
тебе сначала придется перевести его в ppm с помощью lss16toppm:
Образуется logo.ppm, которое вполне переваривается GIMP'ом. Редактируйте его,
как хотите. Но помните, что syslinux ограничивает размер рисунка 640x480 и 16-ю
цветами.
После сохранения готового лого в формате ppm его нужно перевести в lss16:
Та флешка, которая образуется в результате проделанных операций, вещь,
безусловно, полезная. Но! Flash-накопитель всегда и полностью доступен на
чтение/запись. Поэтому почему бы просто не установить на нее систему (как на
обычный hdd)? Получится вообще красота! Все настройки и документы сохраняются,
изменения применяются...
Пока у меня есть только черновой вариант это команда