Closed ondrejbudai closed 1 month ago
The inst.method
should be inst.stage2
or inst.repo
that is probably the issue here. Could you please try it with inst.stage2
?
Although we should automatically replace inst.method
by inst.replace
so it should not be problem...
I also don't see any sign of our Dracut modules like there are not there.
Ohh, my bad. The guest images shouldn't have inst. options at all. They should be handled by could-init so the command line options are completely wrong.
This is the same issue I'm seeing in https://github.com/fedora-eln/eln/issues/95
For some reason, the kernel command-line isn't getting a root=
argument for dracut.
Investigation is ongoing.
The key difference between the storage.log
from ELN and one from F36 appears to be this line:
INFO:anaconda.modules.storage.bootloader.grub2:bootloader.py: used boot args: resume=UUID=a2c04c22-897a-4407-8353-e020e080c527
INFO:anaconda.modules.storage.bootloader.grub2:bootloader.py: used boot args: rd.lvm.lv=fedora_fedora/root rhgb quiet
I've spent all day chasing this through Anaconda and Blivet, but at this point I really need to get some help from those teams. @poncovka @jkonecny12 @vojtechtrefny could one of you help me track this down?
In the log above it seems that Anaconda doesn't even start. That is correct because it shouldn't be present on guest image (cloud-init).
However, I tried to run compose from here https://odcs.fedoraproject.org/composes/ and the installed system has inst.stage2=
instead of root parameter (which won't work obviously). However, I did not had a time to look on why it's happening and I have PTO from today until next Monday. However, @poncovka is the best contact here to help you, she knows the code much more than me.
Sorry for not being able to help you more. :(
The boot arguments generated by Anaconda are fine. We don't generate the root=
option, I think that's done by grub2.
I was playing with Fedora-ELN-20220602.1-x86_64-dvd1.iso and, as Jirka mentioned, the boot options of the installed system are messed up. It is the cmdline of the installation environment. The Anaconda boot args are not even there.
Interestingly, the kernelopts
variable in grub.cfg
contains the right data.
The /etc/default/grub
file also looks file.
From the Anaconda point of view, I don't see anything unusual in the logs. Maybe the bootloader team could have some insights?
@frozencemetery Do you have any idea where things might be going wrong here?
The boot arguments generated by Anaconda are fine. We don't generate the root= option, I think that's done by grub2.
Kind of. Arguments are complicated because systemd (kernel-install) wants to be involved, and that's what's ultimately responsible for the arguments chosen. There are too many moving parts here.
I suspect the immediate cause of this change is grubby - I made it write out the contents of GRUB_CMDLINE_LINUX to /etc/kernel/cmdline when asked to --update-kernel=ALL. My guess is that this gets called during the install process at some point, but those arguments aren't what's supposed to be preserved. (Either that or config files get edited under us.) If /etc/kernel/cmdline doesn't have a root= argument, then the cmdlines generated by kernel-install won't either. I try to pick up the one from /proc/cmdline, but if that doesn't have one, we may be out of luck...
If we can't make this work, I can revert, though that'd probably mean declaring bankruptcy on interacting with kernel-install.
I guess to check that, could we see /etc/kernel/cmdline as well?
OK, as of the most recent compose, this doesn't seem to be happening anymore. I'm not sure what changed, unless https://github.com/rhinstaller/anaconda/pull/4158 indirectly solved this problem too.
I guess to check that, could we see /etc/kernel/cmdline as well?
/etc/kernel/cmdline
doesn't exist on the installed system.
I don't know if it can be related, but /proc/cmdline
of the installed system is the cmdline of the installation environment, because we mount proc
at /mnt/sysimage/proc
during the installation (so this is no longer true after the reboot). However, that's not something new and it never caused any issues.
/etc/kernel/cmdline
doesn't exist on the installed system.
Well, so much for that idea I guess :)
I tried booting the latest Fedora-ELN-Guest-9.0-0.1654091725.x86_64.qcow2 using qemu and it failed on:
Here's the full boot log: https://gist.github.com/ondrejbudai/ee12bfa4281a8b7df3fd58aa880bfb75