[Bug 1180383] New: Cannot boot on degraded raid with dual EFI partitions - dracut exits on emergency shell
https://bugzilla.suse.com/show_bug.cgi?id=1180383 Bug ID: 1180383 Summary: Cannot boot on degraded raid with dual EFI partitions - dracut exits on emergency shell Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.2 Hardware: Other OS: openSUSE Leap 15.2 Status: NEW Severity: Major Priority: P5 - None Component: Basesystem Assignee: screening-team-bugs@suse.de Reporter: jjletho67-esus@yahoo.it QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Created attachment 844709 --> https://bugzilla.suse.com/attachment.cgi?id=844709&action=edit /etc/fstab file with the aim to make a fully redundant system I created a partition layout in which everything is on raid1 except the EFI partition. (see partition layout and fstab attached) ( EFI on raid was working fine on LEAP 42.3 but with LEAP 15.2 I'm having trouble, see: https://bugzilla.suse.com/show_bug.cgi?id=1179981 and https://forums.opensuse.org/showthread.php/547946-grub2-install-error-with-e...) ) For EFI partition redundancy I created two different EFI partitions, one for every disks, and i mounted on /boot/efi (disk1) and /boot/efi2 (disk2). I manually copied all the content from efi to efi2 every time it is needed and I launch the efibootmgr command to crate the correct efivars entry. I set the nofail options for efi and efi2 filesystem in fstab, since installation time. By this way the sistem is able to boot from both the efi partitions. When the disk2 is in fail condition (I remove the disk to simulate the failure) the system is able to boot fine. When the disk1 is in fail condition the system cannot complete the boot and emergency shell appears on the screen I'm attaching the rdsosreport.txt generated from dracut emergency shell when the system fails to boot. Please note that when i remove disk1 to simulate the failure condition, the system assign /dev/vda to disk2 (which is normally /dev/vdb) My speculation is the system absolutely want the /boot/efi partition but it cannot find it. This is an illogical behavior because once the system has started booting and the kernel has control, efi partition is not needed anymore. For this reason I set the nofail option in fstab, but it is not honored at some point. From my point of view this is exactly the same bug I found on leap 42.3: https://bugzilla.suse.com/show_bug.cgi?id=1059169 STEP TO REPRODUCE: Install LEAP 15.2 with the same partitions layout described in my attachment Perform a "zypper patch" and reboot it Then remove disk1 and reboot again ACTUAL RESULTS: the system does not boot, Dracut drop me in emergency shell. Last line on the console log is a warning about the /boot/efi missing EXPECTED RESULTS: the system continues to boot properly, after the timeout for the missing disk and partitions is expired -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1180383 https://bugzilla.suse.com/show_bug.cgi?id=1180383#c1 --- Comment #1 from Marco M. <jjletho67-esus@yahoo.it> --- Created attachment 844710 --> https://bugzilla.suse.com/attachment.cgi?id=844710&action=edit partition layout (output of lsblk) -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1180383 https://bugzilla.suse.com/show_bug.cgi?id=1180383#c2 --- Comment #2 from Marco M. <jjletho67-esus@yahoo.it> --- Created attachment 844711 --> https://bugzilla.suse.com/attachment.cgi?id=844711&action=edit rdsosreport.txt generated when the system is not able to boot. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1180383 Marco M. <jjletho67-esus@yahoo.it> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P2 - High -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1180383 Chenzi Cao <chcao@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|screening-team-bugs@suse.de |thomas.blume@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1180383 https://bugzilla.suse.com/show_bug.cgi?id=1180383#c3 --- Comment #3 from Thomas Blume <thomas.blume@suse.com> --- In hostonly mode (which is the default), dracut is checking the filesystem UUID of the device mounted to /boot/efi at initrd creation time. It creates an initqueue hook for this UUID and will fail when this hook doesn't succeed at dracuts initqueue stage. So, the boot works, as long as the disk is that is providing this UUID is present but not when only the other disk is present, since the device mounted to /boot/efi2 has a different UUID. In order to make that work, you would need to provide 2 different initrds, one for each of your disks. It would probably also work if you generate a non-hostonly initrd that could be used for both disks. For details, please take a look at the hostonly parameters in the dracut manpage. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1180383 https://bugzilla.suse.com/show_bug.cgi?id=1180383#c4 --- Comment #4 from Marco M. <jjletho67-esus@yahoo.it> --- Thank you very much for your help. I'm going to generate an initrd with hostonly mode disabled and I'll let you known. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1180383 https://bugzilla.suse.com/show_bug.cgi?id=1180383#c5 Thomas Blume <thomas.blume@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |NORESPONSE --- Comment #5 from Thomas Blume <thomas.blume@suse.com> --- closing -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com