Hi Bcromwell,
I'm kinda new to this kind of thing myself but I think it goes as follows:
1) your nfs client which is pxe-booted loads the kernel and an optional initrd.img which are generally in /var/lib/tftpboot on the server.
This kernel and image are the ones from the client system, I think it is the fedora you're talking about? You had to copy them from the client system to the /var/lib/tftpboot/ on the server.
=> The system now is booted and "/" (root) is some temporary filesystem that is needed to initialize some hardware like the networkcard and some libs to be able to mount other filesystems and some other basic stuff.
2) the kernel is loaded and according to the entries in /var/lib/tftpboot/pxelinux.cfg/<mac||default|...> it knows now where the final "/" should be mounted. This "/" is in fact the nfs share that holds the client system.
The initial rootsystem (from the kernel and initrd.img) can mount the final rootsystem (the nfs)
=> The root is switched "pivoted" from the initial one to the final one.
I found some info here:
https://help.ubuntu.com/community/DisklessUbuntuHowto
http://www.xs4all.nl/~rjb/fatclient.html
http://www.linuxquestions.org/questi...n-etch-468870/
I'm having trouble with this myself since I want all the client fat pc's to mount the same readonly nfsfilesystem and login with the same userid.
I'm trying to figure out what makes the nfs readonly or readwrite.
In the /etc/exports, I can give the "ro" option for the nfs share.
But in the /var/lib/tftpboot/pxelinux.cfg/default I can also apppend "ro" to the mount options of the kernel.
Something else related that I'm trying to figure out is if a /dev/ram0 mount of "/" where "/" is the nfs root can make the real nfs root immutable. I tested it and it works but only if the /etc/exports exports the share as "rw"
When I share the nfs in exports as "ro"
then even an append to /proc/cmdline "ro"
and an entry "/dev/ram0 / ext2 defaults 0 0" in etc/fstab of the client
make that the client cannot boot.
As soon as I put the exports to "rw" then the client can boot. So I think that the appende "ro" option doesn't make the root filesystem readonly and thus it is unusable for sharing.
cheers,
Lieven