Каждый раз, когда читаешь рекомендации по созданию загрузочных флэх (в частности для Linux live USB flash), автор предлагает начисто отформатировать съемное устройство, а при наличии извращенной фантазии — отформатировать под ext2/3/4, а при особо извращенной — он создает 2 раздела, а то и вовсе лезет в прошивку контроллера флэшки, дабы создать там эмуляцию cdrom. Или в рекомендации используется софт, который делает то же самое — но автоматически.
Извольте, но у меня уже есть загрузочная, боевая флэшка, с которой загружается с помощью Grub4dos и пары прямых рук целый арсенал софта — от windows XP PE до установки гипервизора VMWare ESXi… Итак, я захотел портировать туда еще и Live CD для новой Cent OS 6.
Что мне понадобится:
1) собственно, флэшка c ФС FAT16/32 с установленным и работающим загрузчиком grub4dos (при желании его можно установить, ничего не форматируя), размером как минимум 1 Гб
2) скачанный iso с CentOS 6 Live
Задача, которую мы себе ставим: получить совместимый с grub4dos способ загрузки, сохранив при этом меню вариантов загрузки, доступное на оригинальном Live CD.
Итак, поехали.
1. Создаем папку CentOS в корне флэшки. Копируем туда из ISO папки LiveOS и isolinux (в последней нужны только initrd0.img, memtest, vmlinuz0)
2. Проверяем, чтобы у флэшки как диска был лейбл, если его еще нет — называем, пусть для примера лейбл будет ZVER.
3. Вытаскиваем isolinux.cfg из isolinux уровнем выше в CentOS. Переименовываем его в centos.lst. Теперь потребуется переделать его из формата isolinux в формат grub4dos. Начинаем его править.
С начала и до строки
было:
стало:
а в конце файла должно быть так:
4. В корневом menu.lst добавляем 2 строчки:
Всё, можно опробовать нашу флэшку на загружаемость! Но прежде чем перезагружаться — советую посмотреть в сторону решений на основе эмулятора QEMU, например, такого — здорово экономит время при отладке.
Загруженный с флэшки CentOS Live прекрасно ставится на жесткий диск штатным способом. Таким образом, имеем 2 в 1 — еще и установочный дистрибутив.
Извольте, но у меня уже есть загрузочная, боевая флэшка, с которой загружается с помощью Grub4dos и пары прямых рук целый арсенал софта — от windows XP PE до установки гипервизора VMWare ESXi… Итак, я захотел портировать туда еще и Live CD для новой Cent OS 6.
Что мне понадобится:
1) собственно, флэшка c ФС FAT16/32 с установленным и работающим загрузчиком grub4dos (при желании его можно установить, ничего не форматируя), размером как минимум 1 Гб
2) скачанный iso с CentOS 6 Live
Задача, которую мы себе ставим: получить совместимый с grub4dos способ загрузки, сохранив при этом меню вариантов загрузки, доступное на оригинальном Live CD.
Итак, поехали.
1. Создаем папку CentOS в корне флэшки. Копируем туда из ISO папки LiveOS и isolinux (в последней нужны только initrd0.img, memtest, vmlinuz0)
2. Проверяем, чтобы у флэшки как диска был лейбл, если его еще нет — называем, пусть для примера лейбл будет ZVER.
3. Вытаскиваем isolinux.cfg из isolinux уровнем выше в CentOS. Переименовываем его в centos.lst. Теперь потребуется переделать его из формата isolinux в формат grub4dos. Начинаем его править.
С начала и до строки
label linux0
всё — удаляется. Все строки, начинающиеся с label комментируются знаком #. Словосочетание Menu label — превратить в title. Теперь самое сложное — параметры kernel и initrd для grub4dos. Смотрите сами и «найдите 10 отличий»:было:
label linux0
menu label Boot
kernel vmlinuz0
append initrd=initrd0.img root=live:CDLABEL=CentOS-6.2-i386-LiveCD rootfstype=auto ro liveimg quiet nodiskmount nolvmmount rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
стало:
#label linux0
title Boot
kernel /CentOS/isolinux/vmlinuz0 root=live:LABEL=ZVER live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg quiet nodiskmount nolvmmount rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img
а в конце файла должно быть так:
#label memtest
title Memory Test
kernel /CentOS/isolinux/memtest
Вот что в итоге должно содержаться в файле centos.lst
timeout 100
#label linux0
title Boot
kernel /CentOS/isolinux/vmlinuz0 root=live:LABEL=NARYA live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg quiet nodiskmount nolvmmount rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img
#title default
#label linuxtext0
title Boot (Text Mode)
kernel /CentOS/isolinux/vmlinuz0 root=live:LABEL=NARYA live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg 3 quiet nodiskmount nolvmmount rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img
#label linux0
title Boot (Basic Video)
kernel /CentOS/isolinux/vmlinuz0 root=live:LABEL=NARYA live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg quiet nodiskmount nolvmmount rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0 xdriver=vesa nomodeset
initrd=/CentOS/isolinux/initrd0.img
#label install0
title Install
kernel /CentOS/isolinux/vmlinuz0 root=live:LABEL=NARYA live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg liveinst noswap nolvmmount rd.luks=0 rd.md=0 rd.dm=0
initrd=/CentOS/isolinux/initrd0.img
#label textinstall0
title Install (Text Mode)
kernel /CentOS/isolinux/vmlinuz0 root=live:LABEL=NARYA live_dir=/CentOS/LiveOS rootfstype=auto ro liveimg textinst noswap nolvmmount rd.luks=0 rd.md=0 rd.dm=0
initrd /CentOS/isolinux/initrd0.img
#label memtest
title Memory Test
kernel /CentOS/isolinux/memtest
title Back to main menu
configfile /menu.lst
4. В корневом menu.lst добавляем 2 строчки:
title CentOS 6 LIVE
configfile /CentOS/centos.lst
Всё, можно опробовать нашу флэшку на загружаемость! Но прежде чем перезагружаться — советую посмотреть в сторону решений на основе эмулятора QEMU, например, такого — здорово экономит время при отладке.
Загруженный с флэшки CentOS Live прекрасно ставится на жесткий диск штатным способом. Таким образом, имеем 2 в 1 — еще и установочный дистрибутив.