I am trying to setup a diskless client which will mount over nfs to the server. When I try to boot the client I get the following error message:

VFS: Cannot open root device "nfs" or unknown-block(0,255) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,255)

I've set up my kernel parameters as follows:


(they are tftpboot parameters, which work)

Linux PPC load: root=/dev/nfs rw nfsroot= ip=dhcp

The kernel is found via tftpboot, so I know the 'kernel' parameter above works. The kernel is loaded and start executing, but hits the above error eventually.

The mount point is properly exported from the server, as I can mount it manually from other machines.

I've read several threads about this topic (at least very similar), but none, as far as I've seen so far, has addressed mounting a nfs drive. I've only seen topics talking about local hard drives.


modern NFSv4 server has no UDP based connection support anymore. but the linux kernel is trying to mount rootfs over UDP by default, even for the NFSv4 yet. missing option would be to ask kernel to mount NFS over TCP as following:

Linux PPC load:

root=/dev/nfs rw nfsroot=,tcp ip=dhcp

for the complete reliable parameters set it would be good to ask for the NFSv4 protocol version specifically also:

root=/dev/nfs rw nfsroot=,vers=4,tcp ip=dhcp

in case of failure use a very helpful flag nfsrootdebug at the tail of the bootargs:

root=/dev/nfs rw nfsroot=,vers=4,tcp ip=dhcp nfsrootdebug

  • This answer should be accepted. – cJ Zougloub Nov 5 '18 at 0:07
  • worked for me :) – Insane Coder Dec 30 '18 at 12:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.