0

After hours of reading and try and error process i'd like to explain my nfs mount problem and solution.

I was working for years on a virtual debian 8.5 host system to develop software for multiple embedded devices, based on imx, or raspi, beagle board and so on.

During the development process it's more than usefull to mount the embedded root partion over nfs from the host machine. The configuration is normaly straight forward.

host configuration

# /etc/exports
/opt/tftpboot/rootfs *(rw,sync,insecure,no_subtree_check,no_root_squash)
  • instead of wildcard it's recommend to use specific ips
  • also remove the option insecure in productive enviroment

client configuration

if the kernel supports the network file system it's pretty easy to configure the mounting of the root file system from the embedded / or remote system.

# example part of the kernel command line
root=/dev/nfs nfsroot=10.0.102.247:/opt/tftpboot/rootfs,nolock

By the way, with the new version of nfs-kernel-server, delivering with debian 10.2 or 9.x it's impossible to mount the root file system. The boot process stuck, no error log on host device, no error log on the remote system.

testing from shell

I've tried to boot the remote system from flash and mount the remote folder from our busybox shell, but failed.

$ mount -t nfs 10.0.102.247:/opt/tftpboot/rootfs /mnt/nfs
no route to host

Ping works fine ;-) Also the firewall on the host side was well configured. After exluding any other problem, like problems on the networking, i've changed the mount command to use the NFS V4 the mount command works like expected.

mount -t nfs -o nfsvers=4 10.0.102.247:/opt/tftpboot/rootfs /mnt/nfs
0

solution

Now we need to switch back to mount the root filesystem in the kernel command line and pass also the NFS V4.

# working example part of the kernel command line
root=/dev/nfs nfsroot=10.0.102.247:/opt/tftpboot/rootfs,v4,tcp 

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.