- чтобы можно было загрузиться с ядер 32-бит и 64-бит,
- чтобы был memtest86+,
- детектор оборудования,
- чтобы можно было пропустить загрузку с cdrom и загрузиться с жесткого диска,
кроме того познакомившись с функционалом syslinux я решил добавить возможность перезагрузки и выключения питания компьютера. и еще мне нужно было чтобы система по таймауту сама загружалась, т.к. часто приходится проверять "голые" системники без мониторов и клавиатур через ssh.
В качестве руководства я использовал официальное вики syslinux:
http://syslinux.zytor.com/wiki/index.php/SYSLINUX
Syslinux, кроме того что он простой и эффективный загрузчик, обеспечивает дополнительный функционал средствами небольших программ не требующих для работы операционной системы. В Slackware-13.1 они находятся в
/usr/share/syslinux
Необходимо понимать, что если isolinux предназначен для работы в файловой системе iso9660, где длина имени файла может быть довольно длинной, то syslinux работает в файловых системах fat16/fat32 и здесь имя файла ограничено dos-форматом 8.3, следовательно файлы используемые загрузчиком должны соответствовать этому формату.
сперва скопируем необходимые модули в рабочий каталог livecd
cp -v /usr/share/syslinux/menu.c32 /tmp/livecd
cp -v /usr/share/syslinux/chain.c32 /tmp/livecd
cp -v /usr/share/syslinux/hdt.c32 /tmp/livecd
cp -v /usr/share/syslinux/reboot.c32 /tmp/livecd
cp -v /usr/share/syslinux/poweroff.com /tmp/livecd
cp -v /usr/share/syslinux/chain.c32 /tmp/livecd
cp -v /usr/share/syslinux/hdt.c32 /tmp/livecd
cp -v /usr/share/syslinux/reboot.c32 /tmp/livecd
cp -v /usr/share/syslinux/poweroff.com /tmp/livecd
Memtest86+ можно скачать из исходников и собрать, а можно скачать готовый с оффициального сайта
wget http://www.memtest.org/download/4.10/memtest86+-4.10.bin.gz -O -|gzip -d - > /tmp/livecd/memtest
для определителя оборудования нужны будут файлы со списком модулей ядра
cp -v /lib/modules/`uname -r`/modules.pcimap /tmp/livecd
и списком PCI плат
wget http://pciids.sourceforge.net/v2.2/pci.ids -O /tmp/livecd/pci.ids
Меня терзали смутные сомненья по поводу русского языка в меню. Его можно реализовать в графическом меню, когда устанавливается видео режим и применяется растровый шрифт. Проблема в том, что видео режим не совместим со всеми видеокартами , я например до сих пор использую ISA-видеокарты, а ноутбушные видеоадаптеры - это вообще беда. В итоге решил отложить пока эту тему. Еще была мысль в качестве варианта загрузки добавить FreeDOS с установленными бесплатными программами mdd и victoria, но непонятные условия их распространения и то что они работают только с PATA-накопителями вынуждают держаться подальше от подобных затей. В заключение, текст полученного конфига isolinux.cfg
DEFAULT menu.c32
PROMPT 0
TIMEOUT 300
MENU TITLE ---------------- SlavankaOS v.1 Recovery -------------------
LABEL linux32
MENU LABEL kernel 2.6.33.4 32-bit
MENU DEFAULT
KERNEL linux32
APPEND vga=normal initrd=rootfs.cgz root=/dev/ram0 rw vt.default_utf8=1 acpi_enforce_resources=lax
LABEL linux64
MENU LABEL kernel 2.6.33.4 64-bit
KERNEL linux64
APPEND vga=normal initrd=rootfs.cgz root=/dev/ram0 rw vt.default_utf=1
LABEL memtest
MENU LABEL Memtest86+
KERNEL memtest
APPEND -
LABEL hardware
MENU LABEL Hardware Detection Tool
KERNEL hdt.c32
APPEND modules_pcimap=modules.pci pciids=pci.ids memtest=memtest
LABEL mbr
MENU LABEL Skip CD-ROM Boot
KERNEL chain.c32
APPEND hd0 0
LABEL reboot
MENU LABEL Reboot
KERNEL reboot.c32
LABEL poweroff
MENU LABEL Power off
KERNEL poweroff.com
PROMPT 0
TIMEOUT 300
MENU TITLE ---------------- SlavankaOS v.1 Recovery -------------------
LABEL linux32
MENU LABEL kernel 2.6.33.4 32-bit
MENU DEFAULT
KERNEL linux32
APPEND vga=normal initrd=rootfs.cgz root=/dev/ram0 rw vt.default_utf8=1 acpi_enforce_resources=lax
LABEL linux64
MENU LABEL kernel 2.6.33.4 64-bit
KERNEL linux64
APPEND vga=normal initrd=rootfs.cgz root=/dev/ram0 rw vt.default_utf=1
LABEL memtest
MENU LABEL Memtest86+
KERNEL memtest
APPEND -
LABEL hardware
MENU LABEL Hardware Detection Tool
KERNEL hdt.c32
APPEND modules_pcimap=modules.pci pciids=pci.ids memtest=memtest
LABEL mbr
MENU LABEL Skip CD-ROM Boot
KERNEL chain.c32
APPEND hd0 0
LABEL reboot
MENU LABEL Reboot
KERNEL reboot.c32
LABEL poweroff
MENU LABEL Power off
KERNEL poweroff.com
скриншот

Комментариев нет:
Отправить комментарий