---- On Thu, 03 Oct 2024 11:23:08 +0400 Michael Chang via Grub-devel wrote
---
> A regression in grub 2.12 causes the grub screen to become cluttered
I just tested. Your patch doesn't fix anything for me!
(Note: I'm not GRUB developer, I'm just a user.)
Hi. I'm annoyed by screen cluttering, too. So I applied this patch to see
whether this will help.
Unfortunately, it did not.
Here is my test setup: I boot GRUB x86_64-efi in Qemu. My grub.cfg is so:
****
echo "This is /EFI/debian/grub.cfg from main file system (iso9660)"
echo "Testing shows that this file is loaded during UEFI-CD"
sleep 10
****
As you can see, my grub.cfg does "sleep 10" before GRUB command line. Also,
note that there is no any "menuentry". So, menu is not shown.
Okay, so what happens?
Both with your patch and without your patch the following happens: I see
message "This is /EFI/debian/grub.cfg from..." on screen with artifacts, then,
after 10 seconds I switch to GRUB command line without artifacts.
So, yes, artifacts are not present at GRUB command line screen, but they ARE
present (both with and without your patch) before we switch to GRUB command
line.
Now let me describe my exact setup for testing this.
I checked out GRUB's master branch. Then I compiled it so (both with and
without your branch) (in debian sid x86_64 docker):
***
./bootstrap
./configure --prefix=/opt/grub --with-platform=efi
make
make install
***
Note that freshly built GRUB got to /opt/grub.
Then I built ".efi" file so (inside debian sid x86_64 docker):
***
/opt/grub/bin/grub-mkimage -O x86_64-efi -o /tmp/grub.efi -d
/opt/grub/lib/grub/x86_64-efi -p /EFI/debian all_video boot cat configfile
echo fat font gfxmenu gfxterm gfxterm_background help iso9660 loadenv ls
memdisk minicmd normal part_msdos part_gpt regexp search sleep test true video
***
Then I built ".iso" file by this script (inside debian sid x86_64 docker):
***
#!/bin/bash
# This script creates isohybrid disk, which supports UEFI booting
# The disk can be used both as CD image and as USB disk image
# So, in total 2 boot modes are supported: UEFI-CD and UEFI-USB
{
# This is just boilerplate I insert to all my bash scripts
set -e
set -u
set -o pipefail
shopt -s inherit_errexit
shopt -s nullglob
export LC_ALL=C.UTF-8
if [ $# != 1 ]; then
echo "Usage: ${0##*/} OUT" >&2
exit 1
fi
OUT="$1"
DIR="$(mktemp -d /tmp/grub-XXXXXX)"
mkdir -p "$DIR/esp/EFI/boot" "$DIR/esp/EFI/debian"
"$DIR/main-root/EFI/debian" "$DIR/main-root/boot/grub"
wget -O "$DIR/esp/EFI/boot/bootx64.efi"
'https://sources.debian.org/src/shim-signed/latest/shimx64.efi.signed/'
mv /tmp/grub.efi "$DIR/esp/EFI/boot/grubx64.efi"
cat << "EOF" > "$DIR/esp/EFI/debian/grub.cfg"
echo "This is /EFI/debian/grub.cfg from ESP"
echo "Testing shows that this file is loaded during UEFI-USB"
sleep 10
EOF
mkfs.vfat -C "$DIR/main-root/boot/grub/efi.img" 10000
mcopy -s -i "$DIR/main-root/boot/grub/efi.img" "$DIR/esp/EFI" ::/
cat << "EOF" > "$DIR/main-root/EFI/debian/grub.cfg"
echo "This is /EFI/debian/grub.cfg from main file system (iso9660)"
echo "Testing shows that this file is loaded during UEFI-CD"
sleep 10
EOF
# I don't know why this "$DIR/main-root/zero" is needed. Anyway this is just
a demo
dd if=/dev/zero of="$DIR/main-root/zero" bs=1M count=1
xorriso -as mkisofs -b /zero -no-emul-boot --efi-boot /boot/grub/efi.img
-efi-boot-part --efi-boot-image -o "$OUT" -r "$DIR/main-root"
rm -r "$DIR"
exit 0
}
***
Then I booted resulting .iso file in Qemu running on my host (debian bookworm
x86_64) by this command:
***
qemu-system-x86_64 -enable-kvm -m 4096 -bios OVMF.fd -cdrom /tmp/dx/o.iso
***
Then in Qemu I saw text "This is /EFI/debian/grub.cfg from..." AND artifacts.
Then, after 10 seconds I saw GRUB command line without artifacts. All these
happened both with and without your patch, i. e. your patch doesn't fix
anything for me.
--
Askar Safin
https://types.pl/@safinaskar
_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel