You are not logged in.

#1 2021-01-13 02:03:22

crystaldust
Member
Registered: 2016-05-29
Posts: 3

Macbook Pro 2016 won't boot into Arch Linux

Hello Community!

I'm recently trying to install Arch Linux to my old MacBook pro(with big sur updated) while the book won't boot into the EFI USB of the latest iso image, when selecting the 'EFI USB' in the boot selection screen(boot with option key pressed), it turns into black screen and nothing is showing.

I clearly remember that I successfully installed Arch on this book at the end of year 2019, so I tried to switch to 2019.10 iso, I can boot to the live cd but got a keyring issue, then I switched to 2019.12, everything is back! I install Arch on my external harddisk, then reboot, but this time, when I try boot into the newly installed Arch Linux, again, black screen and nothing showing. After checking several times I'm sure there is no problems of the new Arch Linux on my external hard disk. I even plug it into another normal PC, it works well(I can boot into the new system and see the login console).

So that's pretty weird, seems like Macbook has filtered the latest Arch boot file and only some versions can successfully boot. I'm not sure if there are some differences between the different Arch's boot files. Would like to talk about it here and see if we can dig up something.

Btw, some side context:
1. I've turned off the SIP(something like Secure Boot on other UEFI PCs)
2. I also tried some archboot ISOs, the 2020.7 version won't boot, 2016.8 shows the boot menu, but the screen got stuck and lost response after selecting UEFI iso. Considering the fails on latest ISOs boot and the success on 2019.12 ISO, I guess the boot files are different and Macbook's boot system treat them differently.
3. I  installed bootctl in the new Arch Linux system.

Offline

#2 2022-11-17 18:18:40

jwh7
Member
Registered: 2020-09-11
Posts: 2

Re: Macbook Pro 2016 won't boot into Arch Linux

Regarding the iso boot issue, I've been able to boot 2022.11.01 from USB on the 2017 MacbookPro14,1 (which is very similar to the 2016 13,1 model).  It does sit at a blank screen for a while, likely cuz its a USB 2.0 drive.  I installed to new drive as orig SSD failed (common f/w issue on the 128/256GB), and upgraded to a much faster 2230 NVMe 256GB via socket adapter.  Set up and installed 200MB UEFI FAT32 partition and the rest F2FS.

Hope this helps others finding this thread via search... I had lots of trouble with the UEFI.  I've installed several UEFI systems before (using EFISTUB or UKI via efibootmgr -c ...) but only got this on the MbP:

Could not prepare Boot variable: Invalid argument.

Removing the kernel commands didn't help, using refind was able to get entries populated (I think with the --usedefault option, normal one had the same error I think) which then booted to the refind splash, but with nothing to select.  And I found refind confusing anyway, so I removed all of it, deleted the efi entries, and tried UKI using the (new) mkinitcpio method (so much nicer than years ago when I built it manually on my former Dell desktop...), but still got the same error. So then I finally broke down and tried GRUB, which I wanted to avoid (I use it for non-UEFI though).  It also got the same error using the normal install:

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

But then I noticed a tip* in the wiki about `--removable`, and voila!  It worked:

grub-install --removable --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

...and booted fine.

* https://wiki.archlinux.org/title/GRUB#UEFI_systems

Tip: If you use the option --removable then GRUB will be installed to esp/EFI/BOOT/BOOTX64.EFI [...] and you
will have the additional ability of being able to boot from the drive in case EFI variables are reset or you move the
drive to another computer. Usually you can do this by selecting the drive itself similar to how you would using BIOS.

Last edited by jwh7 (2022-11-17 19:51:12)

Offline

Board footer

Powered by FluxBB