control: tag -1 + patch Hi,
On 2026-02-07 15:02, Aurelien Jarno wrote: > Package: grub-efi-riscv64 > Version: 2.14-1 > Severity: grave > Justification: renders package unusable > X-Debbugs-Cc: [email protected] > User: [email protected] > Usertags: riscv64 > > Dear maintainers, > > When using grub version 2.14-1 on riscv64, it fails to boot after > selecting the kernel to boot with the following error: > > | error: ../../../grub-core/fs/fshelp.c:find_file:260:file > `/boot/grub/riscv64-efi/efi_uga.mod' not found. > | Loading Linux 6.18.8+deb14-riscv64 ... > | Loading initial ramdisk ... > | > | Press any key to continue... > > After pressing a key, the boot continues, but that breaks automatic > reboot and require having a keyboard/screen or a serial console. > > It seems that in the previous version loaded all_video.mod, while the > new version loads both efi_gop.mod and efi_uga.mod. According to the > Makefile, it seems the latter is x86 specific, and thus should not be > loaded on riscv64. Manually removing it from the config file fixes the > issue. > > I believe the issue also affects other non-x86 architectures, but I > can't easily check at the moment. The problem can also be reproduced on loong64 (except when GRUB_TERMINAL is set to serial). The following patch fixes that: --- grub2-2.14.orig/util/grub.d/00_header.in +++ grub2-2.14/util/grub.d/00_header.in @@ -183,7 +183,9 @@ else # GRUB_FORCE_EFI_ALL_VIDEO is not s cat <<EOF if [ x\$grub_platform = xefi ]; then insmod efi_gop - insmod efi_uga + if [ x\$grub_cpu = xi386 -o x\$grub_cpu = xx86_64 ] ; then + insmod efi_uga + fi elif [ x\$feature_all_video_module = xy ]; then EOF fi # end GRUB_FORCE_EFI_ALL_VIDEO @@ -193,7 +195,9 @@ cat <<EOF insmod all_video else insmod efi_gop - insmod efi_uga + if [ x\$grub_cpu = xi386 -o x\$grub_cpu = xx86_64 ] ; then + insmod efi_uga + fi insmod ieee1275_fb insmod vbe insmod vga Regards Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B [email protected] http://aurel32.net

