Hello! I'm using TFTP, NFS and DHCP to boot a diskless node using PXELinux.
Each node has a basic root filesystem which resides in
/diskless/ip_address on the server
Right now, my node acquires an IP from my DHCP server, which instructs the bootrom to download a file called pxelinux.0, and the default pxelinux config file (/diskless/pxelinux.conf/default ) is shown below:
APPEND ip=dhcp root=/dev/nfs nfsroot=192.168.1.1:/diskless/192.168.1.21
The node downloads the bzImage via tftp (INTFTPD_PATH="/diskless") and boots the kernel. It goes through its hardware detection and all that fun stuff, and then the message:
VFS: cannot open root device "nfs" or unknown block(2,0)
The root device that it is refering to "nfs" is that which is defined in the pxelinux default config as root = /dev/nfs
[NOTE: Modern kernels recognize root=/dev/nfs as a command-line argument] Which leads me to think that I am possibly missing something in the kernel (bzImage) that the client node is booting. Here is a grep NFS of the kernel .config file:
# CONFIG_NFS_V4_1 is not set
# CONFIG_NFS_USE_LEGACY_DNS is not set
# CONFIG_NFS_USE_NEW_IDMAPPER is not set
# CONFIG_NFSD_V3_ACL is not set
# CONFIG_NFSD_V4 is not set
From what I can see, everything is enabled that needs to be enabled. Maybe a missing kernel option isn't the answer.
ANY suggestions would be awesome!