Linux userland rarpd (should work with all kernels)
There are at least two known implementations of userland rarp. There is an older one (by D.Brashear & J.Hutzelman) at ftp://ftp.dementia.org/pub/net-tools (source only), and a newer one (by A. Kuznetsov & J.Jelinek) that comes in all (?) recent distributions.
#/etc/ethers CC:CC:CC:CC:CC:CC client
If RARP fails, the client will print:
No response for RARP request le(0,0,0,0): Unknown error: code 60 boot: Unknown error: code 60If RARP succeeds, the client will print:
boot: client IP address: 192.168.1.10
Continue on to setting up bootparams
Linux kernel rarp ( kernel<2.3 )
If you don't want to (or can't) use the userland rarpd, you will need to compile rarp support in the kernel or (if your kernel supports it) add it as a loadable module.
Address HWtype HWaddress Flags Mask Iface client.test.net ether CC:CC:CC:CC:CC:CC CM * eth0
SIOCSRARP: Invalid argument This kernel does not support RARP.
IP address HW type HW address 192.168.1.10 10Mbps Ethernet CC:CC:CC:CC:CC:CC
If RARP fails, the client will print:
No response for RARP request le(0,0,0,0): Unknown error: code 60 boot: Unknown error: code 60If RARP succeeds, the client will print:
boot: client IP address: 192.168.1.10
Continue on to setting up bootparams
#/etc/bootparams client root=nfsserver:/export/client/root
This runs the bootparamd server in debugging mode. When the bootparamd server gets a request, it will print the following messages:
whoami got question for 192.168.1.10 This is host client.test.net Returning client (none) 127.0.0.1 getfile got question for "client" and file "root" returning server:nfsserver path:/export/client/root address: 192.168.1.5
If the bootparams requests fail, the client will print:
bootparamd: `whoami' call failed le(0,0,0,0): Unknown error: code 60 boot: Unknown error: code 60
There have been several reports of problems with the bootparamd that ships with some distributions of linux. If you run into this, try compiling the NetKit bootparamd from source and check that your rarpd is working. Debian/woody with kernels 2.4.x, rarpd-0.981107 and netkit-bootparamd-0.17 are reported to work without problems.
If the bootparams requests succeed, the client will print:
boot: client name: client.test.net root addr=192.168.1.5 path=/export/client/root
tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
You can test your tftpd from any unix machine, by running:
# tftp tftpserver.test.net tftp> get C0A8010A.SUN4C Received 683 bytes in 0.3 seconds tftp> quitIn this case, we use C0A8010A.SUN4C, the sparc kernel name as the test file to get.
Continue on to setting up nfs
#/etc/exports /export/client/root client.test.net(rw,no_root_squash) /export/client/swap client.test.net(rw,no_root_squash) /export/client/usr client.test.net(rw,root_squash) /export/client/home client.test.net(rw,root_squash)
Se digitando questo comando compare il messaggio di errore
nfssvc: Function not
implemented
significa che il kernel non e' compilato con l'nfs, in tal caso si puo'
aggiungere al volo con
modprobe nfsd
le(0,0,0,0): Unknown error: code -1 boot: Unknown error: code -1If the server is running NFS, but isn't exporting the root directory to the client, the client will print:
boot: no such file or directoryIf everything is working properly, you will see a few numbers and a spinning cursor on the client. This means you have succeeded! At this point, your client isn't bootable. If you let it continue, it will panic when attempting to start init.
Kernel NFS Problem:
Most versions of linux only implement NFS2, in which case NetBSD will try NFS3 and then automatically fall back. Some versions (notably RedHat 6.0) will incorrectly answer both NFS2 and NFS3 mount requests, then ignore any attempt to access the filesystem using NFS3. This causes untold pain and hassle.
The workaround is to kill mountd and start it with options preventing NFS3 problems (i.e., rpc.mountd --no-nfs-version 3).
Continue on to setting up the client filesystem