I am trying for network file system (NFS) booting between two systems.
I am using dhcp server to assign IP-address for client. And my kernel and root file system are present in server. My client is able to load the kernel. But can't able to mount the root filesystem. I am getting error regarding remote procedure call (RPC)

The following lines appear while booting at client side

NFS:  MNTPATH:  '/nfsroot'
NFS:  sending MNT request for
NFS:  failed to create MNT RPC client, status=-101
NFS:  Unable to mount server, error -101
VFS:  Unable to mount root fs via NFS, trying floppy.
VFS:  Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
0000     bla bla bla
kernel panic- not syncing: VFS: Unable to mount root fs or unknown-block(2,0)

The above lines are few lines when I am doing NFS (network file system).

In kernel configuration i enabled all necessary flags for NFS support.

In above error The line related to RPC client is present in kernel fs/nfs/mount_clnt.c program.

I also came to know that the error occurs in rpc_ping() function which is present in net/sunrpc/clnt.c file.

How can I fix this?


My dhcp.conf looks like this:

  allow booting;
  allow bootp;
  use-host-decl-names on;
  ddns-update-style interim;
  ignore client-updates;
  subnet netmask {
    option subnet-mask;
    range dynamic-bootp;
    default-lease-time 21600;
    max-lease-time 43200;
    option domain-name-servers;
    option routers;
    filename "pxelinux.0";

  host hostname {
    hardware ethernet 74:27:ea:42:b7:b7;
    option root-path"";

And my pxelinu.cfg/default file looks like this:

  default openwrt
  label openwrt
  kernel openwrt-x86-generic-vmlinuz
  append boot=nfs root=/dev/nfs nfsroot=,soft,vers=3,clientaddr= ip=dhcp rw nfsrootdebug

If I am giving proto=tcp then the error number will become -110 (time out)

If I removed proto=tcp the error number becomes -101 (Network unreachable)

  • What does the relevant line of /etc/fstab look like? How is the NFS filesystem being mounted? Have you considered using initramfs to make sure the kernel has proper NFS support?
    – samiam
    Feb 7, 2014 at 14:45
  • @samiam thanks for the reply, My client is like diskless one. root file system is present in /nfsroot directory at server side. I am not using initramfs. And coming to /etc/fstab file, should i have to change it at server root file system or client root file system. If client root file system then can you please give me the tips Feb 7, 2014 at 15:44
  • have you /etc/init.d/rpcbind start Feb 8, 2014 at 0:32
  • @ThorstenStaerk I am having /etc/init.d/portmap instead of /etc/init.d/rpcbind. I saw in some websites that rpcbind is replaced by portmap . If so , I am running portmap by giving "service portmap restart". Feb 8, 2014 at 11:27

1 Answer 1


It's been years since I've done the boot-by-NFS-from-a-remote-client bit, but you really do need to be sure that NFS is either compiled into your kernel statically, or that you're loading up the module via initrd, as samian suggested. Also -- and I assume you've already done this, but "better safe than sorry" -- you should be sure you can mount your other system, period: boot your client from USB or CD-ROM/DVD, and make sure the server can be mounted. If /etc/exports isn't set up properly, or if portmapper isn't running server-side, that could well be a problem.

  • What all the daemon processes should I run at the client side. And how can i run those daemons related to RPC . Please suggest me Feb 8, 2014 at 11:20
  • Sorry for the delay; you should have process "portmapper" installed -- "apt-get install portmapper" or "yum install portmapper", though generally, it gets installed with the NFS server. You also want to make sure it's running: /etc/init.d/portmapper start .
    – ravenpi
    Feb 20, 2014 at 19:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .