Bug#1127371: grub-efi-riscv64: failed to boot kernel: `/boot/grub/loongarch64-efi/efi_uga.mod' not found.

Aurelien Jarno aurel32 at debian.org
Mon Feb 9 19:22:01 GMT 2026


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: debian-riscv at lists.debian.org
> User: debian-riscv at lists.debian.org
> 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
aurelien at aurel32.net                     http://aurel32.net



More information about the Pkg-grub-devel mailing list