Bootloader-CD mit GRUB
Um den Kernel auf einem Server, der seine Root-Partition auf einem RAID-1 hat, kontrolliert laden zu können, kann es manchmal empfehlenswert sein, eine Boot-CD mit GRUB zur Hand zu haben.
Wie eine solche CD erstellt wird, wird in der GRUB-Doku beschrieben. Hier ein konkretes Beispiel, für das die folgenden Angaben gelten:
- Das Root-Filesystem befindet sich auf dem RAID-1-Volume md0, bestehend aus /dev/hda1 und /dev/hdc1.
- Es ist keine gesonderte /boot-Partition vorhanden.
- Der Kernel wurde selbst übersetzt und trägt den Namen /boot/vmlinuz bzw. /boot/vmlinuz.old, wie vom install-Target des Kernel-Makefile vorgesehen.
- Alle erforderlichen Treiber (MD/RAID/Devicemapper, IDE, Filesystem, Serieller Port) wurden fest (d.h. nicht modular) in den Kernel eingebaut, damit keine Initial Ramdisk (initrd) benötigt wird.
- Der Server soll überwiegend an einer seriellen Konsole laufen.
Anlegen der Verzeichnisstruktur:
$ mkdir -p iso/boot/grub
Auffinden und Kopieren der stage2 für CD-Filesysteme:
$ locate stage2_eltorito /lib/grub/i386-pc/stage2_eltorito $ cp /lib/grub/i386-pc/stage2_eltorito iso/boot/grub
Inhalt von iso/boot/grub/menu.lst:
color yellow/red white/red timeout 10 default 1 fallback 2 serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console title ****** This is Grub loaded from CD ****** root title Mirror 1 - current kernel root (hd0,0) kernel /boot/vmlinuz root=/dev/md0 console=tty0 console=ttyS0,9600n8 title Mirror 2 - current kernel root (hd1,0) kernel /boot/vmlinuz root=/dev/md0 console=tty0 console=ttyS0,9600n8 title *** Fallback kernels (previous version) *** root title Mirror 1 - old kernel root (hd0,0) kernel /boot/vmlinuz.old root=/dev/md0 console=tty0 console=ttyS0,9600n8 title Mirror 2 - old kernel root (hd1,0) kernel /boot/vmlinuz.old root=/dev/md0 console=tty0 console=ttyS0,9600n8
ISO-Image bauen:
$ mkisofs -R -b boot/grub/stage2_eltorito \ -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso
Das so entstandene kann dann auf CD gebrannt werden und dauerhaft im CD-Laufwerk des Server gelassen werden oder nur zum Einsatz kommen, wenn das System nach einem Plattendefekt nicht mehr booten will.
Für den Fall, daÿ es am Ende das CD-ROM-Laufwerk ist, das den Geist aufgibt, lohnt es sich übrigens auch einen Bootloader auf der Festplatte zu haben. Das nur am Rande. ;-)