ArchARM cannot boot to NFS root

This forum is for discussion about general software issues.

Re: ArchARM cannot boot to NFS root

Postby asbachb » Fri May 05, 2017 1:30 am

Anyone resolved the problem?

Might be related to https://bugs.archlinux.org/task/28287

Do you want to boot nfs3 or nfs4?
asbachb
 
Posts: 11
Joined: Fri Sep 04, 2015 10:41 pm

Re: ArchARM cannot boot to NFS root

Postby daudaudaudau » Fri May 05, 2017 7:24 am

I don't have any solution yet. My workaround is atm. to stick with kernel 4.4.

I am booting nfs3 with kernel 4.4 and am having issues booting the exact same setup after an upgrade to kernel 4.9.
No nfs4 involved what so ever.
daudaudaudau
 
Posts: 4
Joined: Thu Apr 20, 2017 7:01 pm

Re: ArchARM cannot boot to NFS root

Postby keithspg » Fri May 05, 2017 11:27 am

Same here. It does not appear to be an NFS problem as it will actually mount the NFS at /new_root, it just does not move it to / after it has checked it for errors and allow the boot process to finish. This happens even when it is instructed to not check the volume for errors by removing the fsck hook from initramfs.

This may confuse things, but I add it here for background: As for the nfsv3/v4 issue, there are instructions to deal with nfs4 which differ from what appears to have been the default of v3 when using NFSroot but these instructions may be out of date. We cannot check these as the image will not complete the boot process. My NAS is freeNAS. In older raspian images, I had to place nfs3 in the cmdline.txt to get it to boot with the NFSv3 share. I've also selected nfsv4 on the NAS shares and that worked ad root NFS without any 'jumping through hoops' with the 2014 kernel, so the older nfsv4 instructions may be moot.

in summary: The current kernel does not have NFS enabled in the initramfs which will not allow an NFS root (this is an unannounced change or regression depending on your perspective as it was enabled by default in 2014). Once the nfs hook is enabled in the initramfs, the NFS volume is mounted at /new_root during boot but the boot process is interrupted at this point. Apparently it all worked in 4.4.x once the initramfs hook is enabled as daudaudaudau posted, but a bug/feature has been introduced with 4.9.x which will not allow the boot process to continue which makes NFS root impossible at this point.
keithspg
 
Posts: 19
Joined: Mon Feb 23, 2015 4:14 pm

Re: ArchARM cannot boot to NFS root

Postby Sagittarius » Sat May 06, 2017 3:30 pm

I'm not sure if it can help but I'm booting my Dockstar and GoflexNet plugcomputers by nfs (v3).
I had to add some parameters to our Dockstar/Goflex Net uboot, see here: viewtopic.php?f=53&t=9426
It works great since months and months.
4 x Dockstar - 2 x GoFlexNet booting on NFS - 1 x Odroid C1+ - 1 x Odroid C2
Sagittarius
 
Posts: 33
Joined: Mon Nov 14, 2011 9:21 pm
Location: France

Re: ArchARM cannot boot to NFS root

Postby asbachb » Sun May 07, 2017 9:36 pm

I played around a litte bit and recognized that my arch hangs on boot when adding
Code: Select all
ip=dhcp


to cmdline.txt

(Everthing is latest)
asbachb
 
Posts: 11
Joined: Fri Sep 04, 2015 10:41 pm

Re: ArchARM cannot boot to NFS root

Postby keithspg » Mon May 08, 2017 12:03 am

adbascb,

Do you get the same response I do? Does it mount root at /new_root and go no further?

Keith
keithspg
 
Posts: 19
Joined: Mon Feb 23, 2015 4:14 pm

Re: ArchARM cannot boot to NFS root

Postby McFox » Thu May 25, 2017 12:25 pm

I recently ran into this as well. At first I thought the problem was my router, which is hosting the NFS, and it was partially as it changed the paths for some reason (/tmp/mnt/<volume> -> /mnt/<volume>), but changing the paths didn't help. I also tried downgrading the kernel as someone said here, but it didn't help either... The Pi boots but then it starts printing "nfs server 192.168.0.1 not responding, still trying" and "nfs server OK" in between the output. Other machines in the network, including another raspberry pi running directly from SD, is able to mount the nfs's with the same settings... It also fails to mount the boot partition (probably because root fails to mount in the first place...)

EDIT:

Messed around with my router a bit, and now the shares are back to having /tmp/. I also added the 'nfsv3' (found some other arch linux forum post where someone said it changed from nfs -> nfsv3) module to mkinitcpio.conf and generated a new initramfs, so let's see if that solves my problem. I probably won't get a chance to try until tomorrow though, will report back.

EDIT2:

Yep, the problem was with my router after all. Or actually, the hard drive connected to it. The journal files had broken somehow, causing input/output errors and I couldn't delete them or do anything else with them either. So I plugged the HD into my laptop and ran fsck and then deleted the old journals (there was 27gb of it :D) and now my nfs root works again (with the latest kernel etc.). Woohoo !
McFox
 
Posts: 13
Joined: Fri Mar 21, 2014 12:57 pm

Re: ArchARM cannot boot to NFS root

Postby keithspg » Thu Jun 08, 2017 12:54 am

Mc Fox,

What now works for you and what did you do to fix it? Which kernel are you running? did you have to enable nfsv3? I tried this and got nowhere. It sounds like you may not be trying to mount your root partition from NFS. Maybe I got this wrong, though.

Still nowhere. What I 'think' we know is that the 4.4 kernel is somehow hosed with respect to root nfs. My Pi will boot and actually mount my root partition served as nfs, but at /new_root and will not actually mount it at / where it belongs. and the boot process stops. I can mount nfs shares on the pi after it is booted (off the sd card) without problem and do not need nvfv3 to do so. I am running 4.4.49-1-ARCH.
df:
Code: Select all
192.168.xxx.xxx:/mnt/first_NAS/Motion 3707934208 1426092160 2281842048  39% /motion

fstab:
Code: Select all
192.168.xxx.xxx:/mnt/first_NAS/Motion /motion nfs nolock,auto 0 0
keithspg
 
Posts: 19
Joined: Mon Feb 23, 2015 4:14 pm

Previous

Return to General

Who is online

Users browsing this forum: No registered users and 1 guest