[opensuse] Leap42: can't override dracut's initrd ?
I need an extra pair of eyes please - I have Leap42 system with root on NFS. This uses nfsv4 and works fine, but for some debugging I wanted to switch back to v3. I amended the PXE config, adding 'v3' to rootflags: rootflags=hard,intr,v3 Rebooted the system and /proc/cmdline looks good: # cat /proc/cmdline initrd=stork2/initrd.new2 root=/dev/nfs rw nfsroot=nfsroot.example.com:/srv/nfs/stork2/root rootflags=hard,intr,v3 elevator=deadline rd.shell However, mount -v shows something else: # mount -v 10.42.8.254:/srv/nfs/stork2/root on / type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,......) It would appear that the dracut initrd ignores my cmdline settings? Or more likely, I'm doing something wrong. -- Per Jessen, Zürich (9.4°C) http://www.hostsuisse.com/ - virtual servers, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 2016-02-08 14:10, Per Jessen wrote:
It would appear that the dracut initrd ignores my cmdline settings? Or more likely, I'm doing something wrong.
What about the fstab entry? -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar)
Carlos E. R. wrote:
On 2016-02-08 14:10, Per Jessen wrote:
It would appear that the dracut initrd ignores my cmdline settings? Or more likely, I'm doing something wrong.
What about the fstab entry?
Yes, thanks, that is an option, although it is obviously not read before the root is first mounted. Anyway, it wasn't that either - I changed the fstab and rebooted: # cat /etc/fstab server:/srv/nfs/stork2/root / nfs intr,hard,v3 0 0 No effect. -- Per Jessen, Zürich (10.1°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Le 08/02/2016 15:20, Per Jessen a écrit :
Anyway, it wasn't that either - I changed the fstab and rebooted:
just at random: mkinitrd? jdd -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
jdd wrote:
Le 08/02/2016 15:20, Per Jessen a écrit :
Anyway, it wasn't that either - I changed the fstab and rebooted:
just at random: mkinitrd?
Yes and no - I want to override what's stored in the initrd. I don't want to change the setup permanently, only for one boot. With the previous initrds made by the old mkinitrd, this worked fine. I still have this nagging feeling I'm doing something wrong, but the evidence points at dracut. -- Per Jessen, Zürich (11.8°C) http://www.hostsuisse.com/ - dedicated server rental in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Per Jessen wrote:
jdd wrote:
Le 08/02/2016 15:20, Per Jessen a écrit :
Anyway, it wasn't that either - I changed the fstab and rebooted:
just at random: mkinitrd?
Yes and no - I want to override what's stored in the initrd. I don't want to change the setup permanently, only for one boot. With the previous initrds made by the old mkinitrd, this worked fine.
I still have this nagging feeling I'm doing something wrong, but the evidence points at dracut.
ah well, I think I found it - dracut ignores my override via the ROOTFLAGS setting. This is the cmdline where rootflags= is being ignored: root=/dev/nfs rw nfsroot=10.42.8.254:/srv/nfs/stork2/root rootflags=v3,hard,intr,wsize=8192,rsize=8192 If I change that to: root=nfs:10.42.8.254:/srv/nfs/stork2/root:rw,relatime,wsize=8192,rsize=8192,v3,hard,intr it works. Bugreport on the way. -- Per Jessen, Zürich (12.1°C) http://www.hostsuisse.com/ - virtual servers, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2016-02-08 15:20, Per Jessen wrote:
Carlos E. R. wrote:
On 2016-02-08 14:10, Per Jessen wrote:
It would appear that the dracut initrd ignores my cmdline settings? Or more likely, I'm doing something wrong.
What about the fstab entry?
Yes, thanks, that is an option, although it is obviously not read before the root is first mounted.
I'm not familiar with dracut, but previously, initrd had a copy of fstab, so that it can be read before the root filesystem is mounted. To apply the change, you have to run mkinitrd before rebooting. - -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" (Minas Tirith)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iF4EAREIAAYFAla6hMQACgkQja8UbcUWM1wbQQEAnGtbgMcI3a7KA02qdVMAfZWa 5u12BxTm5YwfiuSV+WYA/jP4zqamItU38jCOvboLcjDulFfX5H0dlhhHib/bYjnb =+EIK -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Per Jessen wrote:
It would appear that the dracut initrd ignores my cmdline settings? Or more likely, I'm doing something wrong.
At various points in time, Dracut's initrds have been known to hard code various things so that cmdline options can't override them. Maybe you've found one that hasn't been fixed? -- "The wise are known for their understanding, and pleasant words are persuasive." Proverbs 16:21 (New Living Translation) Team OS/2 ** Reg. Linux User #211409 ** a11y rocks! Felix Miata *** http://fm.no-ip.com/ -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Carlos E. R. wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2016-02-08 15:20, Per Jessen wrote:
Carlos E. R. wrote:
On 2016-02-08 14:10, Per Jessen wrote:
It would appear that the dracut initrd ignores my cmdline settings? Or more likely, I'm doing something wrong.
What about the fstab entry?
Yes, thanks, that is an option, although it is obviously not read before the root is first mounted.
I'm not familiar with dracut, but previously, initrd had a copy of fstab, so that it can be read before the root filesystem is mounted. To apply the change, you have to run mkinitrd before rebooting.
I understand that, but that is exactly what I don't want to do, Carlos. I want a _temporary_ override at boot time. It works very well with initrds built by the old mkinitrd. Anyway, the problem has been solved. Dracut isn't as backward compatible as it pretends, I needed a different set of initrd cmdline arguments. This (the rootflasgs setting) no longer works: root=/dev/nfs rw nfsroot=10.42.8.254:/srv/nfs/stork2/root rootflags=v3,hard,intr Instead, this works with initrds built by dracut: root=nfs:10.42.8.254:/srv/nfs/stork2/root:rw,relatime,v3,hard,intr The above should also work with initrds built by the old mkinitrd. For those of us with elderly systems still running. -- Per Jessen, Zürich (2.6°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 2016-02-10 07:56, Per Jessen wrote:
Carlos E. R. wrote:
I'm not familiar with dracut, but previously, initrd had a copy of fstab, so that it can be read before the root filesystem is mounted. To apply the change, you have to run mkinitrd before rebooting.
I understand that, but that is exactly what I don't want to do, Carlos. I want a _temporary_ override at boot time. It works very well with initrds built by the old mkinitrd.
Ah! I see.
Anyway, the problem has been solved. Dracut isn't as backward compatible as it pretends, I needed a different set of initrd cmdline arguments.
This (the rootflasgs setting) no longer works:
root=/dev/nfs rw nfsroot=10.42.8.254:/srv/nfs/stork2/root rootflags=v3,hard,intr
Instead, this works with initrds built by dracut:
root=nfs:10.42.8.254:/srv/nfs/stork2/root:rw,relatime,v3,hard,intr
The above should also work with initrds built by the old mkinitrd. For those of us with elderly systems still running.
I'll save this to my archive ;-) -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar)
participants (4)
-
Carlos E. R.
-
Felix Miata
-
jdd
-
Per Jessen