Cannot boot from nfs export after November update

Hi,
I started a manual update of OSMC last night which progressed ok up to the final reboot. After that…

mount: mounting 192.168.x.x:/mnt/nas04/nfsroot/rpi03 on /real_root failed: Permission denied
OSMC cannot mount 192.168.x.x:/mnt/nas04/nfsroot/rpi03 of nfs filesystem
sh: can’t access tty: job control turned off
/ #

OSMC has been booting and running without an issue from an nfs export since I first installed a beta version on the Raspberry Pi 2. No permissions on the nfs export changed while the update was happening, at least, I didn’t change anything. Can anyone suggest how I start troubleshooting this?

Thanks,

Chris

Hi Chris,

In the November update we have started using an initramfs built into the kernel, which runs before the normal systemd init. One of the things the new script is responsible for is mounting the root filesystem.

The initial release of this initramfs is a little bit buggy unfortunately for USB and possibly NFS installs and there has been a lot of work done on it in the last few days to resolve a few bugs.

Can you please try downloading and installing the external initramfs.gz as described in the following thread:

Ignore the bit about UUID, which is not relevant to NFS.

This will override the built in initramfs with the most current version. See if that solves your issue, if not, please post a screenshot of the exact boot error you’re getting, your cmdline.txt, and if possible the relevant part of your /etc/exports file on the nfs server and we’ll take it from there.

It’s probably just a missing/wrong mount option in the initramfs script that works for some people but not others. (NFS root is working for @sam_nazarko on his test install)

You can see the latest version of this script here, to get an idea of what it does:

Thanks very much for the quick reply. Still no joy. After making the changes:

Here’s config.txt

gpu_mem_1024=256
hdmi_ignore_cec_init=1
disable_overscan=1
start_x=1
decode_MPG2=0x********
initramfs initramfs.gz followkernel

And the line from /etc/exports file on my FreeNAS PC (used for nfs boot)

/mnt/nas04/nfsroot/rpi03 -maproot=root:wheel 192.168.1.15

Thanks!

Chris

Hi,

It was cmdline.txt we needed to see, not config.txt.

Thanks

Hello,

The command we run to mount is:

/bin/busybox mount -t nfs -o nolock.

I’d suggest appending ,vers=3 to the nfsroot argument.

Sorry - not reading posts properly. Here’s cmdline.txt:

root=/dev/nfs nfsroot=192.168.1.12:/mnt/nas04/nfsroot/rpi03 ip=192.168.001.015::192.168.001.254:255.255.255.000:osmc:eth0:off:192.168.001.254:192.168.001.254 rootwait quietosmcdev=rbp2

Hi Sam,

Sorry, Linux is not a strong point of mine. What’s the nfsroot argument you refer to? Is it in etc/exports file or cmdline.txt?

Thanks

Change nfsroot=192.168.1.12:/mnt/nas04/nfsroot/rpi03
ip=192.168.001.015::192.168.001.254:255.255.255.000:osmc:eth0:off:192.168.001.254:192.168.001.254

to

nfsroot=192.168.1.12:/mnt/nas04/nfsroot/rpi03
ip=192.168.1.15::192.168.1.254:255.255.255.0:osmc:eth0:off:192.168.1.254:192.168.1.254,vers=3

You should also remove the prefixed '0’s

Sam

Fantastic, that’s fixed it. Thank you so much.

Chris