Bug 2162307
| Summary: | Broken GRUB output on a serial console | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Jiri Kortus <jikortus> | ||||
| Component: | edk2 | Assignee: | Gerd Hoffmann <kraxel> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Xueqiang Wei <xuwei> | ||||
| Severity: | low | Docs Contact: | |||||
| Priority: | low | ||||||
| Version: | 9.2 | CC: | berrange, jinzhao, juzhang, kraxel, lijin, mlewando, mrezanin, pbonzini, virt-maint, xuwei, yihyu, ymankad, zhguo | ||||
| Target Milestone: | rc | Keywords: | Triaged | ||||
| Target Release: | --- | Flags: | pm-rhel:
mirror+
|
||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | edk2-20221207gitfff6d81270b5-7.el9 | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2023-05-09 07:23:58 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 2129768, 2144442 | ||||||
| Attachments: |
|
||||||
To clarify (if only for myself), this occurs when the hypervisor is UEFI. Reproduced using RHEL-9.2.0-20230122.13 which contains grub2-2.06-53.el9 on ampere-mtsnow-altramax-37.khw4.lab.eng.bos.redhat.com and intel-purley-04.khw1.lab.eng.bos.redhat.com virt-install --os-variant rhel9-unknown --name test --arch aarch64 --memory 2048 --cdrom /var/lib/libvirt/images/boot.iso --boot cdrom --vcpus 2 --disk size=10 --boot uefi --graphics none Even after installation, it is very difficult to edit entries in the grub menu. It's much worse on aarch64 than on x86/UEFI, but neither one is friendly. both hypervisors were running relatively recent nightlies: RHEL-9.2.0-20230122.13, RHEL-9.2.0-20230201.12 Playing around with this, I've found that it breaks between RHEL-9.0.0-20220501.0 and RHEL-9.1.0-20220718.0. Installing an aarch hypervisor with RHEL-9.0.0-20220501.0 and updating edk2 to edk2-aarch64-20220526git16779ede2d36-2.el9 reproduces the problem. Reassigning to edk2. https://kojihub.stream.rdu2.redhat.com/koji/taskinfo?taskID=1953904 Added: Revert "MdeModulePkg: TerminalDxe: add other text resolutions (RHEL only)" Tested with edk2-ovmf-20221207gitfff6d81270b5-6.el9.noarch, reproduce this issue.
# cat virt_install.sh
virt-install \
--os-variant rhel9.0 \
--name test \
--memory 4096 \
--cdrom /var/lib/libvirt/images/RHEL-9.2.0-20230206.16-x86_64-boot.iso \
--boot cdrom \
--vcpus 2 \
--disk size=10 \
--boot uefi \
--graphics none
The output is as follows:
BdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
3;07HUse the ^ and v keys to change the selection. Install Red Hat Enterprise Linux 9.2
Test this media & install Red Hat Enterprise Linux 9.2
Troubleshooting -->
0;01H 0;?3H1;01H 1;?3H2;01H 2;?3H3;01H
0;01H 1;01H 5;01H
The selected entry will be started automatically in 60s.
5;01H The selected entry will be started automatically in 1s. 5;01H The selected entry will be started automatically in 0s.
Tested with attached edk2-ovmf-20221207gitfff6d81270b5-6.el9.bz2162307.20230214.1252.noarch in Comment 4, it works well.
The output is as follows:
# sh virt_install.sh
Starting install...
Allocating 'test-1.qcow2' | 0 B 00:00:00 ...
Creating domain... | 0 B 00:00:00
Running text console command: virsh --connect qemu:///system console test
Connected to domain 'test'
Escape character is ^] (Ctrl + ])
BdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
Install Red Hat Enterprise Linux 9.2
Test this media & install Red Hat Enterprise Linux 9.2
Troubleshooting -->
Hi Gerd,
Is this still a 9.2 target? Since ITM 26 is 1 week away and we will get into blocker/exception phase soon, I want to confirm whether QE can get the build before ITM26. In order to have enough time to arrange the test. Thanks.
Hi Jiri,
Can you help double check the fixed build attached in Comment 4? Does it meet your needs? Thanks.
According to Comment 5, tested with edk2-ovmf-20221207gitfff6d81270b5-7.el9.noarch, not hit this issue. Versions: kernel-5.14.0-252.el9.x86_64 qemu-kvm-7.2.0-8.el9 edk2-ovmf-20221207gitfff6d81270b5-7.el9.noarch The output is as follows: # sh virt_install.sh Starting install... Allocating 'test-9.qcow2' | 0 B 00:00:00 ... Creating domain... | 0 B 00:00:00 Running text console command: virsh --connect qemu:///system console test Connected to domain 'test' Escape character is ^] (Ctrl + ]) BdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0) BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0) Install Red Hat Enterprise Linux 9.2 Test this media & install Red Hat Enterprise Linux 9.2 Troubleshooting --> QE bot(pre verify): Set 'Verified:Tested,SanityOnly' as gating/tier1 test pass. qemu gating test and edk2 loop test with edk2-ovmf-20221207gitfff6d81270b5-7.el9.noarch, no new bug was found. Versions: kernel-5.14.0-268.el9.x86_64 qemu-kvm-7.2.0-8.el9 edk2-ovmf-20221207gitfff6d81270b5-7.el9.noarch.rpm 1. Gating_test_rhel9 - the results were passed. 2. edk2 test loop - hit existing bug, Bug 2168446 - Booting VM failed on AMD EPYC 7252 host with npt=0 According to Comment 12 and Comment 17, set status to VERIFIED. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: edk2 security, bug fix, and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2023:2165 |
Created attachment 1939119 [details] screenshot of console output Description of problem: GRUB2 TUI is broken when a headless machine with serial console is used. The text is not displayed or redrawn properly and is followed by many lines of something resembling to terminal control sequences. It is possible to select the available entries, but it's very difficult to edit an existing entry. It has to be done 'blind' (no text is displayed unless some text is typed) by guessing where the required line is, and then start typing. Deleting the text also leads to unwanted and improper text redrawing. I could only see this issue in a VM (reproduced on x86_64 and aarch64), bare metal machines seemed to work fine. Version-Release number of selected component (if applicable): grub2-2.06-46.el9.x86_64 (libvirt-8.10.0-2.el9.x86_64, qemu-kvm-7.2.0-3.el9.x86_64) / RHEL-9.2.0-20230115.7 How reproducible: 100% Steps to Reproduce: 1. Prepare an x86_64/UEFI or aarch64 headless VM with just a serial console. 2. Boot the installation ISO. Actual results: GRUB's TUI output to the serial console is broken, it's very difficult to edit a boot entry. Expected results: The output looks the same way as on a machine with graphical output, boot entry editing works in the same way as well.