LPS:Implementace nového FAI

Z HelpDesk

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" );