I build "Linux from Scratch," and am trying to use grubx64.efi to boot LFS-7.4, LFS_7.5, Ubuntu-14.04 and Win-8.1. At this point, I get the Grub Menu, but when I select any of the OS's, the screen shifts to "Loading <name>....." and stops. The only action I can take then is CTRL-ALT-DEL.

To check things, I modified Ubuntu's three-line grub.cfg on the EFI partition to point to my LFS-7.5 partition and grub.cfg. I then can boot any of my OS's. So it seems that the problem is with either the grubx64.efi that I built or some interface with the efi variables that I don't know about, much less know how to manipulate. I'm thinking that I made some uninformed mistake with Grub.

Machine info:  HP Envy m6 Sleekbook
Partitions: Windows-(hd0,gpt1), EFI-(hd0,gpt2), LFS-7.5-(hd0,gpt6), LFS-7.4-(hd0,gpt7), Ubuntu (hd0,gpt8)
I configured Grub with these options:
"$pkg_source"/configure --prefix=/usr  \
            --sbindir=/sbin        \
            --sysconfdir=/etc      \
            --disable-grub-emu-usb \
            --disable-efiemu       \
            --enable-grub-mkfont   \
            --enable-device-mapper \
            --with-platform=efi    \
            --target=x86_64        \
            --program-prefix=""    \
            --with-bootdir="/boot" \
            --with-grubdir="grub" \
            --disable-werror

I ran grub-install this way:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=LFS-Grub --recheck --debug and got everything I expected including an entry in the OS boot manager.

I used grub-mkconfig to generate /boot/grub/grub.cfg

I used this document from the Archlinux wiki quite extensively in my grub work:

https://wiki.archlinux.org/index.php/GRUB2

There is one thing in that document that I have not done. In the troubleshooting section it says:


      Boot freezes

If booting gets stuck without any error message after GRUB loading the kernel and the initial ramdisk, try removing the |add_efi_memmap| kernel parameter.


Although I don't know anything about memmaps, except what they are, it just didn't seem reasonable that this would stop a boot. Anyway, I checked my kernel config file and found this:

CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_FIRMWARE_MEMMAP=y

Unless FIRMWARE_MEMMAP is the same as efi_memmap, I don't have the option in my kernel.

I'm fresh out of ideas, knowledge and options. I don't want to "grasp at straws" or "easter egg" this. I will be grateful for any directions, hints, procedures or help that you folks can provide.

Thanks,
Dan
_______________________________________________
Help-grub mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-grub

Reply via email to