Linux-BBC и FreeBSD-Frenzy на одном загрузочном CD

В статье рассказывается, как создать один CD, с которого можно загрузить как Linux (дистрибутив Linux-BBC), так и FreeBSD (Frenzy)

[Максим Чирков (mc@tyumen.ru)]

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
    

    Статья взята с сайта OpenNet.

    [ опубликовано 29/12/2003 ]

    Максим Чирков (mc@tyumen.ru) - Linux-BBC и FreeBSD-Frenzy на одном загрузочном CD   Версия для печати