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