[Bug 961149] New: GRUB2-EFI: Crash in linuxefi command, but not linux
http://bugzilla.suse.com/show_bug.cgi?id=961149 Bug ID: 961149 Summary: GRUB2-EFI: Crash in linuxefi command, but not linux Classification: openSUSE Product: openSUSE Tumbleweed Version: 2015* Hardware: x86-64 OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Bootloader Assignee: jsrain@suse.com Reporter: fvogt@suse.com QA Contact: jsrain@suse.com Found By: --- Blocker: --- This may sound like a quite weird issue, but it's really annoying with our current setup. Our system sets up a (QEMU with and without KVM) VM with network boot enabled. OVMF loads grub2-efi and runs it. On first boot, grub2-efi loads kernel and initrd for installation and the system is installed. So far, everything works fine. On the subsequent boots, the default option in grub2-efi is the label "local", which consists of the single command "exit", so that it boots from the local disk. On the local disk is the usual boot configuration with shim et al. and it ends up in GRUB2. However, during execution of the linuxefi command, it crashes hard with a !!!! X64 Exception Type - 0D(#GP - General Protection) CPU Apic ID - 00000000 !!!! error message from OVMF. I've seen an undefined instruction error as well. Using "linux" instead of "linuxefi" works fine. I guess this is rather hard to reproduce and debug, so I'll try to have a deeper look. I need some pointers into the right direction, though. I ran OVMF with full debug output enabled, but during GRUB2 it doesn't output anything else than AllocatePoolI and FreePool, so I conclude that it crashes inside GRUB and not OVMF. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=961149
Jiri Srain
http://bugzilla.suse.com/show_bug.cgi?id=961149
http://bugzilla.suse.com/show_bug.cgi?id=961149#c1
--- Comment #1 from Michael Chang
http://bugzilla.suse.com/show_bug.cgi?id=961149
Michael Chang
http://bugzilla.suse.com/show_bug.cgi?id=961149
http://bugzilla.suse.com/show_bug.cgi?id=961149#c2
--- Comment #2 from Michael Chang
On the subsequent boots, the default option in grub2-efi is the label "local", which consists of the single command "exit", so that it boots from the local disk.
Actually calling exit is not necessary boot the local disk, it's quite unpredictable as it could be pxe or anything for next boot order, or shouldn't it be used for returning to firmware menu ? So that the label local becomes misleading. But I agree a correct implement of booting "local" is not yet found for UEFI. (In reply to Fabian Vogt from comment #0)
!!!! X64 Exception Type - 0D(#GP - General Protection) CPU Apic ID - 00000000 !!!!
error message from OVMF. I've seen an undefined instruction error as well. Using "linux" instead of "linuxefi" works fine.
As you're using OVMF and so am I, would you please help in providing procedures to reproduce in detail then I could follow ?
I guess this is rather hard to reproduce and debug, so I'll try to have a deeper look. I need some pointers into the right direction, though.
Is "hard to reproduce" here means random ?
I ran OVMF with full debug output enabled, but during GRUB2 it doesn't output anything else than AllocatePoolI and FreePool, so I conclude that it crashes inside GRUB and not OVMF.
Maybe you should try the command manually. Type 'c' for command mode. grub> set debug=all grub> linuxefi /path/to/kernel/image grub> initrdefi /path/to/initrd/image grub> boot To see the protection error happens in loading or booting kernel image. Thanks. Michael -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=961149
http://bugzilla.suse.com/show_bug.cgi?id=961149#c3
--- Comment #3 from Fabian Vogt
http://bugzilla.suse.com/show_bug.cgi?id=961149
http://bugzilla.suse.com/show_bug.cgi?id=961149#c4
Fabian Vogt
(In reply to Fabian Vogt from comment #0)
On the subsequent boots, the default option in grub2-efi is the label "local", which consists of the single command "exit", so that it boots from the local disk.
Actually calling exit is not necessary boot the local disk, it's quite unpredictable as it could be pxe or anything for next boot order, or shouldn't it be used for returning to firmware menu ? So that the label local becomes misleading.
It should boot from the next option in the correct order, which is supposed to be the a local disk on QEMU. There is no other bootable device present and IPV6 is disabled in this particular OVMF build.
But I agree a correct implement of booting "local" is not yet found for UEFI. Any idea what to do instead, to avoid dropping into the shell or menu, which happens after a cold start as the QEMU NVRAM isn't configured yet? Cold starts are necessary because of https://github.com/tianocore/edk2/issues/42
I guess this is rather hard to reproduce and debug, so I'll try to have a deeper look. I need some pointers into the right direction, though.
Is "hard to reproduce" here means random ?
I rather meant that it might only be occuring on this special setup with special configs for everything to be automated. [ rest cut as fixed now :-) ] -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=961149
http://bugzilla.suse.com/show_bug.cgi?id=961149#c5
--- Comment #5 from Michael Chang
(In reply to Michael Chang from comment #2)
(In reply to Fabian Vogt from comment #0)
But I agree a correct implement of booting "local" is not yet found for UEFI. Any idea what to do instead, to avoid dropping into the shell or menu, which happens after a cold start as the QEMU NVRAM isn't configured yet? Cold starts are necessary because of https://github.com/tianocore/edk2/issues/42
I tried to work out a grub.cfg in this bug report which you might also be interested as it covered related topic. I did not submit the config because it's not receive response and lacking of test and effort to continue anyway ... https://bugzilla.novell.com/show_bug.cgi?id=848902#c20 Meanwhile you can check Tumbleweed DVD to refer its 'Boot from Hard Disk' option or ask Steffen detail for more details how he crafted that option. :) HTH. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com