I have built 2.04 from source (no errors). I have a script to create a BIOS/UEFI bootable hard drive. The grub-install command I am running succeeds without errors, but the kernel does not seem to execute when booting from UEFI (BIOS is fine).
Adding debug=all to the configuration file shows the execution stops at: (...last three lines) diskefiefidisk.c:595: reading 0x40 sectors at sector 0x48dc0 from hd1 diskefiefidisk.c:595: reading 0x40 sectors at sector 0x48e00 from hd1 diskefiefidisk.c:595: reading 0x40 sectors at sector 0x48e40 from hd1 If I use the grub /usr/lib/grub/x86_64-efi files (*.mod, kernel.img, etc) poached from Debian 10.5, the system executes the kernel properly. If I just swap out the x86_64-efi directory with the files I compiled, the kernel does not execute. I am using the grub-install program I compiled from source in both cases.The only difference are the files in lib/grub/x86_64-efi/. I have found references that linuxefi.mod was removed from grub and is a “distro patch”. This module appears to be missing from by source build but removing it from the debian grub files didn’t seem to make a difference. Here are the commands used to build: configure --with-platform=efi --target=x86_64 --disable-device-mapper —prefix=$GRUBDIR make make install Inside $GRUBDIR I have all of the files I would expect from the build. The disk has three partitions with an msdos partition table: # sfdisk -l /dev/sdb Disk /dev/sdb: 1305 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sdb1 * 0+ 12- 13- 102400 83 Linux /dev/sdb2 12+ 25- 13- 102400 83 Linux /dev/sdb3 25+ 1305- 1280- 10279936 83 Linux /dev/sdb4 0 - 0 0 0 Empty /dev/sdb2 on /mnt type ext2 (rw) /dev/sdb1 on /mnt/boot/EFI type vfat (rw) Here is the grub-install commands used: FOR BIOS: grub-install —force --boot-directory=$TMPMNT/boot --target=i386-pc —directory=$GRUBDIR/i386-pc /dev/sdb FOR UEFI grub-install --removable --efi-directory=$TMPMNT/boot/EFI --boot-directory=$TMPMNT/boot --target=x86_64-efi --directory=$GRUBDIR/x86_64-efi /dev/sdb At this point I am not sure what else to look at to find out what is different between the modules and kernel.img file I compile and what is supplied with debian. Any assistance in tracking down the problem would be appreciated. - David
