You are not logged in.
I am using Arch Linux on my MacBook Pro. The main bootloader is rEFInd, which then loads GRUB (in EFI mode) which in turns loads Linux. Of course rEFInd can also load OS X directly, but I am experimenting because I need OS X to be loaded by GRUB: some buggy hardware requires "outb" commands before booting the OS, and loading OS X through GRUB seems like the most natural way of doing it.
I am using the automatic script in /boot/grub.d/ to generate the bootloader configuration, so I use the following commands:
grub-mkconfig > /boot/grub/grub.cfg
grub-mkstandalone -o boot.efi -d /usr/lib/grub/x86_64-efi -O x86_64-efi --compress=xz /boot/grub/grub.cfg
They generate a new configuration and to create a new EFI image, which is then copied on a blessed boot partition. I am sure that the changes I make to the configuration file are put into effect, because I can (for instance) modify the kernel parameters for the default image and see the modified entry on the GRUB menu.
Now I am trying to add a new configuration entry, the usual way would be by modifying /etc/grub.d/40_custom. I add the following lines:
menuentry 'OS X (on /dev/sda2)' {
insmod hfsplus
insmod part_gpt
set root='hd0,gpt2'
chainloader /System/Library/CoreServices/boot.efi
}
which are added correctly to /boot/grub/grub.cfg after I run grub-mkconfig as shown above. I also generate boot.efi as shown above, too, and I copy it on the boot partition.
However when I reboot I cannot see the new entry in the GRUB menu. Is there something I am overlooking? Is there some way of troubleshooting GRUB when it's reading the configuration file? I think it may not like the syntax of the new entry I added.
Last edited by zakk (2014-12-04 20:35:17)
Offline
You should point grub-mkconfig to "your_efi_system_partition"/grub/grub.cfg instead of boot/grub/grub.cfg
“The future has already arrived. It's just not evenly distributed yet.”
― William Gibson
Offline