LPS:Implementace nového FAI
Nutné kroky pro zprovoznění nového FAI na Debianu Lenny
Úprava busyboxu
Je nutné překompilovat v nfsrootu busybox s podporou NFS rootu tzn. kompilovat s parametrem CONFIG_FEATURE_MOUNT_NFS=y. Pak je potřeba bloknout busybox proti přeinstalaci
aptitude hold busybox
Úprava initramfs skriptů
Nejprve zkopírujeme současný initrd do nějaké nové složky a rozbalíme jej
mv initrd initrd.gz gunzip initrd.gz cpio -i < initrd
Initramfs nepodporuje mountovaní NFS pomocí nfsmount ale pouze mount -t nfs, to je zapříčiněno použitím balíku nfs-user-server. Toto je nutné upravit v /usr/share/initramfs-tools/scripts/live V souboru etc/initramfs-tools/initramfs.conf umístěném v nfsrootu je třeba změnit následující položky
MODULES=netboot BOOT=live
Pozor parametr BOOT=nfs nefunguje!!! Také jej bloknem proti úpravám a vygenerujeme nový initrd
aptitude hold live-initramfs update-initramfs -c -k all
BUG ve FAI
Bohužel, nyní používaná verze FAI (3.2.16) špatně vytváří (resp. nevytváří) zařízení /dev/md1 a další. Řešením je buď počkat na verzi >3.2.18 nebo ručně aplikovat patch:
--- Commands.pm.orig 2008-12-08 15:56:58.000000000 +0100 +++ Commands.pm 2008-12-08 17:33:23.000000000 +0100 @@ -224,7 +224,7 @@ $pre_req =~ s/^,//; &FAI::push_command( "yes | mdadm --create /dev/md$id --level=$level --force --run --raid-devices=" - . scalar(@eff_devs) . " --spare-devices=" . scalar(@spares) . " " + . scalar(@eff_devs) . (scalar(@spares) !=0 ? " --spare-devices=" . scalar(@spares) : "") . " " . join(" ", @eff_devs) . " " . join(" ", @spares), "$pre_req", "exist_/dev/md$id" );