Доброго времени суток всем сюда заглянувшим. Если не лень, может кто-нибудь ответит на мой вопрос. Давно хотел заиметь загрузочную флешку. Тут на сайте
www.mandriva.ru увидел предложение о приобретении подобного девайса, но цена в 2000 рублей несколько смутила. На нашем сервере обнаружил дистрибутив флешдрайва, скачал и вот теперь бы узнать, как сие загрузить на флеху. У меня в принципе есть подробное описание того, как загрузить на флешку LiveCD, но я подозреваю, что здесь немного другой случай, да и надеюсь, что есть немного более простое решение.
А вот и это описание, для экономии места привожу без рисунков:
В этом документе я расскажу о том, как быстро, но качественно и правильно
перенести 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'шник, то его совсем необязательно
сначала прожигать на болванку. Просто делайте как я:
[root@localhost extrabbit]# mkdir /mnt/dsl-loop
[root@localhost extrabbit]# mount -o loop /home/extrabbit/dsl-2.2.iso
/mnt/dsl-loop
Что это я сделал: я создал точку монтирования (/mnt/dsl-loop) для образа
(/home/extrabbit/dsl-2.2.iso) и примонтировал его (образ) с помощью обратной
петли (-o loop). Если mount будет ругаться на -o loop, то придется обновить
util-linux. Но я надеюсь, что у вас дистрибутив новее Red Hat 6
Теперь
копируйте все файлы с компакт-диска на флешку (/mnt/removable - моя флешка):
[root@localhost extrabbit]# cp -r /mnt/cdrom/* /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, и все заработает!
[root@localhost removable]# mv 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. Мы сделали это!!!
Вот и готова живая флешка. Перезагружайтесь, ставь флешку загрузочным
устройством и наслаждайтесь linuxом, который помещается даже в самом тесном
кармане.