RARP ondersteuning in de kernel van de server zal vermoedelijk wel een goed idee zijn. Je moet het hebben als je zonder kernelparameters wilt booten. Aan de andere kant helpt het je niet als de client zich niet op hetzelfde subnet bevindt als de server.
De kernel voor het werkstation heeft minimaal het volgende meegecompileerd nodig:
Als het werkstation zonder kernelparameters zal worden geboot, moet je
ook het rootdevice instellen op 0:255. Doe dit door het aanmaken van een
dummy apparaatbestand met mknod /dev/nfsroot b 0 255
. Nadat je
een dergelijk apparaatbestand hebt aangemaakt, kun je het rootdevice van de
kernel-image instellen met rdev <kernel-image> /dev/nfsroot
.
Waarschuwing: ondanks dat deze instructies voor je zouden kunnen werken,
zijn ze in geen enkele betekenis zinvol in een produktie-omgeving.
Zie de NSF-Root-Client mini-howto van Ofer Maor
<ofer@hadar.co.il>
voor een betere manier om een rootbestandssysteem voor de clients in te stellen.
Nadat je hebt besloten waar de root-structuur te plaatsen, maak je het aan
met (b.v.) mkdir -p <directory>
en
tar cClf / - | tar xpCf <directory> -
.
Als je de kernel zonder LILO boot, dan moet de rootdir
/tftpboot/<IP-adres>
zijn. Als je dit niet prettig vindt,
kun je het wijzigen in de Makefile in de kernel-sources, zoek naar een
regel als:
NFS_ROOT = -DNFS_ROOT="\"/tftpboot/%s\""
Als je dit wijzigt, moet je de kernel opnieuw compileren.
Trim nu de niet benodigde bestanden, en controleer de /etc/rc.d scripts. Een aantal belangrijke punten:
Exporteer de rootdir naar het werkstation. Zie exports(5)
. Zeer
waarschijnlijk moet je de nfsd/mountd na deze wijziging opnieuw starten.
Onder RedHat kan dit eenvoudig worden bewerkstelligd door het typen van
/etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start
.
Stel RARP ergens op het net in. Als je zonder nfsroot parameter boot, moet de RARP-server de NFS-server zijn. Gewoonlijk zal dit de NFS-server worden. Om dit te kunnen doen, moet je een kernel draaien met ondersteuning voor RARP.
Voer het uit (en installeer het ergens in /etc/rc.d
op de
server!):
/sbin/rarp -s <ip-addr> <hardware-addr>
hier is
het IP-adres van het werkstation en
het Ethernet-adres van de netwerkkaart van het werkstation.
voorbeeld: /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12
Je kunt in plaats van het IP-adres ook een symbolische naam gebruiken, zolang de server maar achter het IP-adres kan komen. (/etc/hosts of DNS lookups)
Voor een BOOTP setup moet je /etc/bootptab
wijzigen. Raadpleeg
alsjeblieft de manpages van bootpd(8) en bootptab(5).
Ik weet het hardware-adres niet! Hoe kom ik daar achter?
/sbin/arp -a