I gave up on trying to solo boot Arch on a MacBook(1,1), and I'm dual booting. I have Arch installed on its own partition, and rEFInd is installed and configured through Mac OS X. I followed the wiki's instructions on moving the initramfs files and creating refind_linux.conf in Arch's folder on the EFI partition, and when I reboot, Arch appears as a boot option! This is good news! However, when I select it, the following happens:
rEFInd - Booting OS Starting vmlinuz-arch.efi Using load options 'root=/dev/sda4 ro rootfstype=ext4 systemd.unit=multi-user.target initrd=\EFI\arch\initramfs-arch.img' Failed to open initrd file: EFI\arch\initramfs-img _
My question is, do I need to install refind-efi on the Arch partition, even though I've installed rEFInd on Mac OS X?
Also, do I need to install GRUB in Arch, even though I've [attempted to] used EFISTUB to link rEFInd with Arch?
Thanks in advance for your help.
I take it you typed this out by hand since this: "Failed to open initrd file: EFI\arch\initramfs-img" does not match this: "initrd=\EFI\arch\initramfs-arch.img". So ahve you checked to make sure that the paths are correct? On my system, and by default, the initramfs is named "initramfs-linux.img" not "initramfs-arch.img".
Yes, the slash is present in the first instance, but not the second. The wiki instructs me to copy the initramfs files from /boot to /boot/efi/EFI/arch, replacing the -linux with -arch, i.e. initramfs-arch.img from initramfs-linux.img.
I just realized: I installed Arch in BIOS Compatibility mode because 32-bit MacBooks have issues with booting from a UEFI disc. Would this have something to do with my problem? Would I be better off having rEFInd hand off the process to GRUB? I'm fine with using either EFI or BIOS Compatibility, though I'd prefer EFI.
Yes that would have soemthing (read everything) to do with the problem. You can use UEFI, but you would have to use the 32-bit UEFI. I think tht with those old macbooks, bios compatbility is the way to go. That is what I used on my 2,1. That way you can use a 64-bit system as well (if that interests you) as long as it is a core2 or newer.
Are you using GPT or MBR?
On a mac of any kind, in order to use the bios compatibility mode, you need to hav a hybrid MBR. That is, it needs to be GPT, but instead of having a protective MBR, the MBR should actually contain real partitions. The caveat is that you have to have the first partition of the MBR start at sector 1 and it has to be type coded to be a protective MBR. The other three slots can match up to whatever partitions you want, though I think it is wise to include the /boot partition (or the rootfs if there is no separate /boot) within the MBR.
Personally on my Thinkpad, I use GPT. It is far superior to MBR. But with macbooks you have to adhere to the funky quirks of their firmware in order to get things working.
I ended up not dual booting (I only was going to because that was the only way I could get rEFInd to work). And I redid everything as MBR. And now GRUB works, and Arch is good to go. Thanks for your help.
If anyone having issues solo booting Arch on a 32-bit MacBook discovers this thread, my advice to you is to use MBR and BIOS Compatibility. I spent over a week trying to get an EFI boot of any kind, and had not an ounce of success.
I got 32-bit UEFI to work on my macbook, and I found it to be rather straight forward. But 32-bit UEFI is not incredibly common, and I wanted to have a 64-bit system so that I could potentially chroot into my other computer's disk if necessary. So that is why I ended up using bios compatibility on my macbook.
Edit: Oh yeah, and yes, using MBR only is also another way in which you can use bios compatibility mode. Basically you just need to have a MBR with more than one protective partition, and I think you need to have one partition marked as bootable in the MBR. It has been a while since I got all that macbook stuff working though, so the info is a bit stale in my head.
Last edited by WonderWoofy (2013-06-09 20:31:17)