-
Notifications
You must be signed in to change notification settings - Fork 1
Home
What does it do? I suppose showing the results of what fuse_pxebootfs does would make the most sense.
fuse_pxebootfs is mounted on your tftpd server’s pxelinux.cfg
directory and serves up a custom-built PXE config file after initializing a new AUFS branch of a specified root directory for PXE clients. This essentially auto-provisions a new root directory for new PXE network boot clients without the need for multiple copies of an nfsroot.
Prior to PXE client making config request, fuse_pxebootfs is mounted on /netboot/root/boot/pxelinux.cfg/
and the tftpd root is /netboot/root/boot
# ls -l /netboot/root/boot/pxelinux.cfg/ total 4 drwxr-xr-x 2 root root 4096 2009-10-13 12:00 by-ip #
Now a PXE client will make a request for a config file. The DHCP server assigns the IP address of 192.168.1.124
to the client, so fuse_pxebootfs will respond to C0A8017C
(192.168.1.124
in hex). It returns the following PXE config.
default rendernode label rendernode kernel vmlinuz26 append hostname=C0A8017C initrd=kernel26.img rootfstype=nfs root=/dev/nfs nfsroot=192.168.1.1:/netboot/node/C0A8017C,v3,rsize=16384,wsize=16384 ip=dhcp prompt 0
Notice that nfsroot=192.168.1.1:/netboot/node/<NODE>
from the pxelinux.cfg.template
is translated to nfsroot=192.168.1.1:/netboot/node/C0A8017C
.
Now if we look at the fuse_pxebootfs structure, we’ll notice some changes.
# ls -l /netboot/root/boot/pxelinux.cfg total 5 drwxr-xr-x 2 root root 4096 2009-10-13 12:44 by-ip -rw-rw-rw- 1 root root 215 2009-10-13 12:44 C0A8017C # ls -l /netboot/root/boot/pxelinux.cfg/by-ip total 4 lrwxr-xr-x 2 root root 4096 2009-10-13 12:44 192.168.1.124 -> /netboot/node/C0A8017C
The auto-generated PXE config exists in the mountpoint, as well as a by-ip
directory which holds symbolic links to each node’s respective root partition.