Ключевые слова:linux, freebsd, iso, image, cdrom, boot, (найти похожие документы)
From: Maxim Chirkov <[email protected]>
Newsgroups: local
Date: Mon, 18 Dec 2003 14:31:37 +0000 (UTC)
Subject: Создание мультизагрузочного CD с мини-версиями Linux и FreeBSD.
Linux-BBC и FreeBSD-Frenzy на одном загрузочном CD
Задача:
Создать один CD, с которого можно загрузить как Linux (дистрибутив Linux-BBC),
так и FreeBSD (Frenzy), т.е. в зависимости от потребностей можно грузить то Linux,
то FreeBSD.
Все операции производились под Linux. ISO образы Linux-BBC и FreeBSD-Frenzy
можно скачать с ftp://ftp.opennet.ru/pub/mini-cd/
1. Копируем Linux-BBC и FreeBSD-Frenzy в одну директорию, например, mix_cd:
mkdir 0
mkdir mix_cd
# Копируем содержимое Linux-BBC
mount -o loop bbc-2.1.iso ./0
cd 0
find . -xdev | cpio -pdumv ../mix_cd
cd ..
# монтируем образ floppy из Linux-BBC и копируем некоторые файлы
# (memtest.gar, root.bin и linux) в корень mix_cd.
mkdir 1
mount -o loop ./0/lnx.img ./1
cp ./1/memtest.gar ./mix_cd/
cp ./1/root.bin ./mix_cd/
cp ./1/linux ./mix_cd/
umount 0
# Копируем содержимое Frenzy
mount -o loop frenzy_v02_release.iso ./0
cd 0
find . -xdev | cpio -pdumv ../mix_cd
cd ..
umount 0
2. Настраиваем загрузчик isolinux, чтобы грузить несколько образов с одного CD:
- Качаем архив syslinux_2.04.orig.tar.gz с сайта http://syslinux.zytor.com/iso.php
- Копируем загрузчик isolinux.bin из поставки syslinux в корень mix_cd.
- Создаем в корне mix_cd файл isolinux.cfg, следующего содержания:
--------------- isolinux.cfg --------------
SERIAL 0
DEFAULT 1
TIMEOUT 150
DISPLAY main.txt
PROMPT 1
LABEL 0
KERNEL boot/cdboot.bin
LABEL 1
KERNEL linux
APPEND vga=normal console=ttyS0,9600n8 console=tty0 root=/dev/ram0 initrd=root.bin ramdisk_size=10000 init=/linuxrc rw
LABEL 2
KERNEL linux
APPEND vga=785 console=ttyS0,9600n8 console=tty0 root=/dev/ram0 load_ramdisk=1 initrd=root.bin ramdisk_size=10000 init=/linuxrc rw
LABEL 3
KERNEL linux
APPEND vga=788 console=ttyS0,9600n8 console=tty0 root=/dev/ram0 load_ramdisk=1 initrd=root.bin ramdisk_size=10000 init=/linuxrc rw
LABEL 4
KERNEL linux
APPEND vga=791 console=ttyS0,9600n8 console=tty0 root=/dev/ram0 load_ramdisk=1 initrd=root.bin ramdisk_size=10000 init=/linuxrc rw
LABEL 5
KERNEL linux
APPEND vga=794 console=ttyS0,9600n8 console=tty0 root=/dev/ram0 load_ramdisk=1 initrd=root.bin ramdisk_size=10000 init=/linuxrc rw
LABEL memtest
KERNEL memtest.gar
--------------- end of isolinux.cfg --------------
- Создаем файл main.txt с подсказкой выдаваемой в момент загрузки:
--------------- end of main.txt --------------
Please press Enter for defaults or type one of the following boot options:
0 - FreeBSD Frenzy
1 - Linux-BBC, no framebuffer
2 - Linux-BBC (640x480)
4 - Linux-BBC (1024x768)
3 - Linux-BBC (800x600)
5 - Linux-BBC (1280x1024)
memtest (for RAM test utility only)
--------------- end of main.txt --------------
3. Конфигурируем Frenzy и Linux-BBC под свои нужны, например, русифицируем Linux-BBC
(можно сделать линк на русские шрифты от Frenzy), удаляем лишние программы
и т.д. Описывать не буду, так как уе не помню, что именно было сделано :-)
4. Создаем образ и пишем на CD:
mkisofs -b isolinux.bin -c boot.catalog -no-emul-boot -boot-load-size 4 -boot-info-table \
-r -J -D -o mix_cd.iso cd_mix
cdrecord -dev=0,0,0 -speed=16 -eject -v mix_cd.iso