You are not logged in.

#1 2019-05-19 16:22:11

wpbdry
Member
From: Berlin, Germany
Registered: 2019-05-17
Posts: 3

Which .efi file is the right one for `bless`? (GRUB and MacOS)

Hello,

I recently installed Arch on my MacBook Pro, and I'm now trying to set Arch as the default boot option. For that you need to "bless" the Arch boot partition in MacOS. The problem is I don't know which --folder and --file parameters to set.

After "blessing", I reboot (without holding any key down), GRUB loads correctly, and then gets stuck on the following screen:

  Booting `Arch Linux'
Loading Linux linux ...
Loading initial ramdisk ...

It then waits for what feels like about 20 seconds, and then reboots.

However, if I reboot and hold `alt` and select `EFI boot` manually, Linux boots successfully. This is the part I really don't understand. But I know that `bless` sets the value in ramdisk, and so I assume that somehow I am "blessing" the wrong thing.

My disk partitions look like this:

$ lsblk
NAME     SIZE FSTYPE  PATH      MOUNTPOINT
sda    233.8G         /dev/sda
├─sda1   200M vfat    /dev/sda1                # Apple EFI boot
├─sda2 140.4G apfs    /dev/sda2 /MacOS         # Apple MacOS
├─sda4   256M hfsplus /dev/sda4 /boot
├─sda5    32G swap    /dev/sda5 [SWAP]
├─sda6    30G ext4    /dev/sda6 /              
└─sda7  30.8G ext4    /dev/sda7 /home

I installed GRUB, following the instructions in Mac#Using the native Apple bootloader with GRUB.

Now the file structure of /boot looks like this (I have replaced some less relevant nodes and blobs with "..." for readability):

$ tree /boot
/boot
├── grub
│   ├── fonts
│   │   └── unicode.pf2
│   ├── grub.cfg
│   ├── grubenv
│   ├── locale
│   │   │...
│   ├── themes
│   │   │...
│   └── x86_64-efi
│       |...
│       ├── core.efi
│       │...
│       ├── grub.efi
│       │...
│...
├── mach_kernel
├── System
│   └── Library
│       └── CoreServices
│           ├── boot.efi
│           └── SystemVersion.plist
└── vmlinuz-linux

14 directories, 347 files

I have tried all of the following (6) things individually in MacOS (after mounting /dev/disk0s4 at /Volumes/efi) and all of them result in the behavior described above.

  • Blessing boot.efi:

  • $ sudo bless --setBoot --folder=/Volumes/efi --file=/Volumes/efi/System/Library/CoreServices/boot.efi
  • $ sudo bless --setBoot --folder=/Volumes/efi/System/Library/CoreServices --file=/Volumes/efi/System/Library/CoreServices/boot.efi
  • Blessing core.efi:

  • $ sudo bless --setBoot --folder=/Volumes/efi --file=/Volumes/efi/grub/x86_64-efi/core.efi
  • $ sudo bless --setBoot --folder=/Volumes/efi/grub/x86_64-efi --file=/Volumes/efi/grub/x86_64-efi/core.efi
  • Blessing grub.efi

  • $ sudo bless --setBoot --folder=/Volumes/efi --file=/Volumes/efi/grub/x86_64-efi/grub.efi
  • $ sudo bless --setBoot --folder=/Volumes/efi/grub/x86_64-efi --file=/Volumes/efi/grub/x86_64-efi/grub.efi

If you've done this before or have any idea how one might be able to do it, please drop a reply.

Thanks!

Last edited by wpbdry (2019-05-19 16:26:12)

Offline

Board footer

Powered by FluxBB