I upgraded the kernel on my Xen box (running Debian 5.0 “lenny”) to 2.6.33 last week and came across a curious issue. With recent versions of the Linux kernel (versions that seem to be affected: 2.6.31, 2.6.32, and 2.6.33), changes in /proc have broken the nfs-kernel-server init scripts. Despite having NFS server support in the kernel as a module that’s been properly loaded, the script dies with Not starting NFS kernel daemon: no support in current kernel. … (warning).
The problem is that the line if [ -f /proc/kallsyms ] && ! grep -qE ‘init_nf(sd| )’ /proc/kallsyms; then doesn’t work anymore. One way around it is to change the line to if [ ! -f /proc/fs/nfs/exports ]; then; another fix I saw suggested was to grep nfsd on /proc/filesystems. The /proc/fs/nfs/exports thing worked just fine for me, but that may not be the most correct solution.