Red Hat Bugzilla – Bug 979059
grub2 menu does not display on serial console
Last modified: 2013-11-07 11:26:53 EST
Description of problem:The grub2 menu does not show up on the serial console of SGI UV systems. It does boot (the default kernel). This is a UEFI system.
Version-Release number of selected component (if applicable): FC19-FC5
How reproducible: 100%
Steps to Reproduce:
1. At the EFI shell prompt type grubx64.efi and hit return.
After 15-30 seconds of nothing, the kernel boot messages show up.
Actual results: No grub2 menu on the serial console.
Expected results: Seeing the grub2 menu on the serial console.
Additional info: The system is UEFI, though not clear if UEFI is related to the problem. The menu does show up on the virtual console, so it seems like a serial console issue.
/boot/efi/efi/redhat/grub.cfg contains this line:
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
Red Hat has SGI UV systems in-house that can reproduce this problem.
The rhel7 BZ is https://bugzilla.redhat.com/show_bug.cgi?id=953674
attempting to get a loan on our UV system to track this down
note, all our uv systems are currently broken in one way or another. Gbeshers is working on getting one up and running for me.
gbeshers, where are we with installs on this system? Can I reserve one and provision it yet?
Tracked down the problem and the grub2 console now works.
Not a Fedora bug. Sorry about the noise.
Russ, for posterity, can you describe what the problem was here? Thanks.
grub2 menu on the console interacts differently with bios than legacy grub. Legacy grub (and elilo) menus worked on UV2 platforms but grub2 did not. Updating the Dxe/ConSplitter module in bios fixed the problem.
This was a difficult problem to track down because EFI console and Linux console messages both worked, so it did not look like a hardware or bios problem. Since only grub2 output did not work it look like a grub2 problem. Adding debug messages to grub2 was worthless because the debug messages did not show up either.
grub2 menu did work on UV1 hardware. So we could run debug grub2 on UV1 hardware, verify the debug messages came out correctly, but the same grub2 on UV2 showed no messages.
Our bios developer noticed that grub2 was trying to use Get/SetMode in the ConSplitter module, but in the version of ConSplitter module in UV2 bios Get/SetMode was not implemented. grub2 would see that and give up, so no messages. Legacy grub did not give up and messages worked. The bios developer said a one line change to grub2 to not give up when Get/SetMode was not implemented got grub2 menus to work. Using the UV1 version of ConSplitter module, which supports Get/SetMode, also fixed the problem.
If you can pass this information on to grub2 developers, to handle Get/SetMode in ConSplitter module the way that legacy grub does, that would be helpful. It would avoid having to use a newer bios with rhel7.