Создание LiveCD
Материал из NNLUG Wiki
Создание LiveCD на основе isolinux
Операционная система: Debian GNU/Linux "Sarge"
Образ RAM-диска initrd.img создается на основе busybox+uclibc без использования пакета initrd-tools.
1. Скомпилировать isolinux из исходников syslinux: make isolinux.bin
2. Создать каталог fs/boot/isolinux и заполнить fs/boot/isolinux/isolinux.cfg:
DISPLAY /boot/isolinux/boot.msg PROMPT 1 DEFAULT Linux LABEL Linux KERNEL /boot/vmlinuz APPEND initrd=/boot/initrd.img root=/dev/ram0
3. Набрать текст приглашения к загрузке в fs/boot/isolinux/boot.msg:
^L^UPiDGiN Linux Press Enter to default boot from CD-ROM To change root filesystem type: Linux root=/dev/<device> To disable ACPI type: Linux acpi=off
4. Установить uclibc под i386: пакеты libuclibc-dev, libuclibc0, uclibc-toolchain
5. Скомпилировать busybox с использованием uclibc (make config && make) и установить (make --prefix=$BASE/initrd-fs install)
6. Скомпилировать ядро, ядро vmlinuz конфигурируется под машину (платформу)
cp /boot/vmlinuz fs/boot/
7. Создать файловую систему, (каталог original-fs, у меня получился 1.8 MB)
8. Создать образ корневой файловой системы, initrd.img:
dd if=/dev/zero of=initrd.img bs=1M count=4 /sbin/mke2fs initrd.img sudo mount -o loop initrd.img initrd-fs/ cp -a original-fs/* initrd-fs/ # конфигурационные файлы sudo umount initrd-fs mv initrd.img fs/boot/
Должна получиться следующая структура каталогов:
fs/ fs/boot/ fs/boot/isolinux/ fs/boot/isolinux/boot.msg fs/boot/isolinux/isolinux.bin fs/boot/isolinux/isolinux.cfg fs/boot/initrd.img fs/boot/vmlinuz fs.iso initrd-fs/ initrd.img ... original-fs/ ...
9. Создать ISO-образ диска:
mkisofs -l -r -J \ -hide-rr-moved -no-emul-boot -boot-load-size 4 -boot-info-table \ -b boot/isolinux/isolinux.bin -V "PiDGiN Linux" -o fs.iso fs/
10. Загрузить через BIOS или через qemu:
qemu -cdrom fs.iso
Размер образа диска LiveCD под AMD K7 получается порядка 3.7 Мбайт.
Скриншот системы сразу после загрузки в qemu:
