Re: questions about NFSROOT + TFTP
Adam Di Carlo wrote:
> I'm going though your instructions on TFTP + NFSROOT; I've never done
> this and documenting "cold" (without any way to test) so I'd
> appreciate some clarifications.
> BTW, I think it would be nice if we enabled TFTP boot on x86 and all
> architectures. I don't think it'd be hard; we'd just have to
> repurpose the Sparc method. I believe that the big varience between
> platforms is how you actually kick up the TFTP boot installation;
> i.e., on x86 (??) you can use LILO/syslinux arguments.
> On to the text, from the sparc_release_notes file:
> 2. put the linux kernel image on your TFTP server after you have uncompressed
> $ zcat linux > kernel-2.0.33
> Where does the kernel image come from?
Oops, now it is named linux-a.out and it is in the latest disks-sparc release.
BTW, kernel is now 2.0.35 ;-)
> 3. untar the root archive on your NFS server (could be the same as your TFTP
> $ cd /tftpboot
> $ tar xvzf root.tar.gz
> Be sure to use the GNU tar (other tar programs, like the SunOS one, badly
> handle devices as plain files).
> 4. export your /tftpboot/debian-sparc-root directory with root access to your
> client. Eg. add the following line to /etc/exports (linux syntax):
> /tftpboot/debian-sparc-root client(rw,no_root_squash)
> Is that supposed to be /boot or /tftpboot on a debian system?
Mine is /tftpboot but it seems not to be Debian compliant. I surely set it by
It is really the path put as last argument to the tftp entry in /etc/inetd.conf.
Debian set it to /boot by default.
I guess I changed it not to populate the /boot directory on my PC box (my
TFTP+NFS server) with non i386 kernels.
Maybe putting the "sparc" literal to the kernel filename is wise to avoid
misinterpretation of kernel files (eg. kernel-2.0.35-sparc) when you put it
> 5. create a symbolic link from <your client IP addr in dotted notation>
> to debian-sparc-root in the /tftpboot directory:
> $ ln -s debian-sparc-root 192.168.1.3
> for a client IP address which is 192.168.1.3.
> 6. now you can boot your client as above.
> Really? It will automatically pick that up? 'boot net' will use an
> NFS root dir if it can?
Yes. sparc kernel is compiled with NFSROOT, BOOTP & RARP options. After the
kernel is loaded in memory, it broadcasts BOOTP & RARP requests. I just make
use of RARP, so I can describe it a bit. Don't know about BOOTP, sorry :-((
Your RARP server send back to the client its IP address based on the MAC addr
registered in its internal tables (with rarp -s ... in the linux world).
Then the client try to mount the /tftpboot/<client IP addr> directory as its
root fs. It assumes the RARP server is also an NFS server.
Hey, here is why I really chose /tftpboot as the TFTP directory ;-) It is
hardcoded in the kernel to compose it's root fs path to NFS server !!!
Hope it helps.
Eric Delaunay | "La guerre justifie l'existence des militaires.
email@example.com | En les supprimant." Henri Jeanson (1900-1970)