Friday, June 01, 2012

Mounting an NFS filesystem requires the loopback interface to be up

Over the last few weeks, I've been using flash drives connected to my BeagleBoard to store files for compilation; the MMC card I use for the root filesystem is too small for compiling MPlayer.  Unfortunately, the flash drive stopped working, and I can't seem to recover a single byte of what was on it.

So, I decided to mount an NFS partition instead, but most of the commands I tried after running rpcbind (the portmapper) hung until they timed out.  What I finally worked out is that the loopback interface has to be up ("ifconfig lo up") for them to work.

If I was trying to mount an NFS partition as my root partition, I would probably take the approach I used for the x86 live CD, which was to have a compressed minimal root filesystem as part of the kernel image (look into CONFIG_BLK_DEV_INITRD, CONFIG_INITRAMFS_SOURCE, etc.), which was able to bring up the appropriate interfaces (reading environment variables set in the uEnv.txt file for the NFS server, etc.).