Seems you are missing an EFI System partition which is necessary for UEFI boot (EF00).
FWIW, I’ve had success creating an EFI system partition using gdisk, building+installing grub 2.04 from source, and UEFI boot on both Debian and Centos. Regards, Hanson > On Dec 2, 2020, at 12:55 PM, David Huffman <dhuffma...@gmail.com> wrote: > > 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 > > >