Da ich hier gerade auf einer Kiste (naja, eher mehr - ein ASUS M2N32WS mit 6x500GB SATA für ein schicken Fileserver) mich mit XEN und pciback rumschlage, und das ganze mit AMD64 nicht so ganz tut, wollte ich nun mal auf i386 zurückfallen. Aber idealerweise ohne irgendwelche Daten zu verlieren, und da /boot nicht im LVM liegt, brauche ich zumindest hier ein Backup. Den Debian-Installer habe ich schon per PXE gebootet, um mir das Brennen einer CD sowie den einbau eines passenden Laufwerks zu ersparen. Aber immer die Config ändern, jenachdem, was man booten möchte, saugt irgendwie. Also muss ein Bootmenü her, welches GRML sowie die Debian-Installer wahlweise startet. Und wenn innerhalb von 20s nichts ausgewählt wird, wird von Platte gebootet. Somit kann PXE in entsprechend gesicherten Umgebungen einfach angelassen werden, ohne dass es zu Probleme führt.
Was wir brauchen:
Nun geht es ans vorbereiten, natürlich als root ;)
# mkdir /srv/tftp/
# cd /srv/tftp/
# wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.51.tar.gz
# tar xvfz syslinux-3.51.tar.gz
# cp syslinux-3.51/com32/modules/menu.c32 .
syslinux brauchen wir nur für die menu.c32, welche den notwendigen Code zum darstellen des Menüs enthält. Nun geht es ans besorgen der Debian-Installer:
# wget http://ftp.debian.org/debian/dists/etch/main/installer-amd64/current/images/netboot/netboot.tar.gz
# tar xvfz netboot.tar.gz
# rm netboot.tar.gz
# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/netboot.tar.gz
# tar xvfz netboot.tar.gz
# rm netboot.tar.gz
# rm pxelinux.0
# rm pxelinux.cfg
Jetzt, wo die Installer für die beiden Architekturen da sind (beim entpacken über die Fehlermeldung von wegen bereits existierenden symlinks nicht stören lassen, die legen wir sowieso später selbst an!), fehlt eigentlich nurnoch GRML, bestehend aus dem Inhalt der CD und eimer speziellen Initrd für den Netzwerkboot
# mkdir grml
# wget ftp://ftp.uni-erlangen.de/pub/mirrors/grml/grml_1.0.iso
# mount -o loop grml_1.0.iso /mnt/tmp/
# cd grml
# cp -r /mnt/tmp/* .
# cd ..
# umount /mnt/tmp
# wget http://grml.org/terminalserver/grml_netboot_package_1.0.tar.bz2
# tar xvfj grml_netboot_package_1.0.tar.bz2
# cp tmp/terminalserver_grub.Ln6542/grml_netboot_package_grml/tftpboot/linux26 grml/boot/
# cp tmp/terminalserver_grub.Ln6542/grml_netboot_package_grml/tftpboot/minirt26.gz grml/boot/
# cp tmp/terminalserver_grub.Ln6542/grml_netboot_package_grml/tftpboot/memtest grml/boot/