Solving NFS issues on embedded machines

As part of my work on EveryWatt, I setup an NFS-based development environment for one of the data loggers we use for energy monitoring in the Caktus office. The stock 2.4 Linux kernel in the machine seemed to have some trouble mounting the file system root I had exported from one of our servers. The symptoms included long delays for most if not all activities that used the file system and lots of messages like these in dmesg:

nsm_mon_unmon: rpc failed, status=-110
lockd: cannot monitor 192.168.x.x
lockd: failed to monitor 192.168.x.x

The issue turned out to be that statd was not running on the client embedded machine. The solution is simple: mount the file system with the -o nolock option, to get around the statd requirement, like this:

mount -o nolock 192.168.x.x:/path/to/nfsroot /mnt/root 

Now the system is zippy as ever, and I have an embedded root file system that includes Python 2.4 and sqlite, and fits in just under 3.5 MB (compressed)!

New Call-to-action
blog comments powered by Disqus



You're already subscribed