Booting ArchLinux on a MacPro (2006) from a second internal HDD

2012-12-31
2015-01-11
  • Shakir Abdul-Ahad

    Hi,

    Can you please explain to me the best way to setup rEFInd to boot Arch Linux on my MacPro? It's one of the early Mac's from 2006 with the 32bit EFI. I've read over the documentation on the webpage, but I'm still having problems getting the Linux install to boot properly from the second hard drive in my machine.. Here's what I've done so far:

    1. Used Mac OSX's Disk Utility to create a single 146GB partition on /dev/disk1
    2. Booted the Arch Linux install CD and chose /dev/sdb as the disk to create partitions on
    3. Created a 138GB partition for / and an 8GB partition for the swap file
    4. Installed Linux and the Grub boot loader as per the instructions on the Arch Linux website
    5. Rebooted the machine and selected "Boot Linux from HD" from the rEFInd menu, but I get the "Missing Operating System" error message.

    Thanks in advance.

     
  • Shakir Abdul-Ahad

    I was able to solve my problem and get ArchLinux to install correctly. Here's a write up of what I did:

    HOW TO:
    Install ArchLinux for dual boot on a Mac

    This document describes how to install and setup ArchLinux to dual boot on a Mac, with a 32-bit EFI

    1. Install rEFInd, reboot and verify that it works.
    2. Boot into OSX and launch the Disk Utility
    3. Select the disk to be used and create a single partition. Make sure to use GPT partitioning.

    4. Insert the Archlinux CD and reboot.

    5. Select the Archlinux CD from the rEFInd boot menu. Press ‘Enter’ to start the installation.

    6. Once Arch has booted and given you a command prompt, launch the cgdisk utility: cgdisk /dev/sdX, where X is the drive you wish to install Linux on.

    7. You should see two partitions: the Mac EFI partition which should be ~200MB and the hfs/hfs+ partition you created with the OSX Disk Utility.

    8. Delete the partition you created with the OSX Disk Utility.

    9. Select the ‘Empty Space’ and select ‘New’
    10. When prompted for the starting sector, enter +100M, then press enter. This will create a 100MB “boot/efi” partition. Select HFS/HFS+ for the filesystem type.

    11. Select ‘New’ to create another partition. When prompted for the starting sector, enter +128M. This will create the 128MB gap between the “boot/efi” partition. You will also notice that cgdisk has automatically created the Linux partition for you, out of the remaining space. This is what we want.

    12. Write the partition table, reboot, log back into OSX and fire up the Disk Utility again.

    13. You should now see the your drive with the 100MB HFS/HFS+ partition. Select the “partition” NOT THE DRIVE, in the left window and select “ERASE”. Make sure to format the partition as MacOS WITHOUT journaling. OSX will then reformat the partition. Exit Disk Utility, reboot and boot the Archlinux CD from the rEFInd boot menu.

    14. Once you’ve booted back into the ArchLinux installation, proceed with the setup as described in the Beginners Guide: https://wiki.archlinux.org/index.php/Beginners%27_Guide

    15. When you get to the “Prepare the Storage Drive” section, make sure you mount the 100MB boot partition at /mnt/boot/efi, then mount your Linux partition at /mnt

    16. Continue with the installation as detailed in the wiki.

    17. When it’s time to install the boot loader, follow these instructions to setup GRUB2: https://wiki.archlinux.org/index.php/GRUB#Install_to_UEFI_SYSTEM_PARTITION

    18. Once you’re done, reboot and you should now see the Linux penguin in the rEFInd menu. Select it and press enter.

    19. You should now see the GRUB loader menu. Select the SECOND boot option in the GRUB loader menu (fallback initramfs)

    20. Log in as root, open up /etc/mkinitcpio.conf and add ata_piix to the MODULES line. Save the file and reboot

    21. Again, select the Linux penguin at the rEFInd boot menu. When you see the GRUB boot loader, you can then select the first boot option. ArchLinux should start up.

    You can email me at shakir.abdul.ahad09@gmail.com if you have any question.

     
  • Shakir Abdul-Ahad

     
    Last edit: Shakir Abdul-Ahad 2013-01-05
  • Shakir Abdul-Ahad

     
    Last edit: Shakir Abdul-Ahad 2013-01-05
  • Shakir Abdul-Ahad

    I was able to solve my problem and get ArchLinux to install correctly. I've attached a document explaining what I did, step by step.

    You can email me at shakir.abdul.ahad09@gmail.com if you have any question.

     
    Last edit: Shakir Abdul-Ahad 2013-01-04
    • Donna Tang

      Donna Tang - 2015-01-10

      Hello Shakir, I followed the guide but failed during booting phase.

      I'm using the latest archlinux distribution which can be found here https://www.archlinux.org/download/
      and burnt it into a CD.

      It got stuck during booting, shows"Select CD-ROM Boot Type_" and keyboards stops responding.

      Is is because the Mac Pro is i386 while the image I was trying to boot supports only x86-64 and i686?
      Which archlinux version did you use for it?

      Thanks!

       
  • Roderick W. Smith

    An AMD64/x86_64 image will not work on a 32-bit (IA32/x86) CPU, period. If you've got a 64-bit CPU with a 32-bit EFI, you may be able to get it to work, but you'll need to use GRUB, ELILO, or SYSLINUX to boot the kernel; rEFInd (and gummiboot, for that matter) won't do the job. (In fact, this cross-bit-width booting is a tricky subject that I've not investigated in depth myself. I'm certain it can be done with some versions of GRUB, but I'm not 100% sure that ELILO or SYSLINUX can do it.)

    IMHO, it's best to use a 32-bit distribution on computers with a 32-bit EFI, even if the CPU is a 64-bit model. That may not take full advantage of the CPU's capabilities, but it does eliminate some potential problem areas in booting and in post-boot OS interactions with the firmware. Unfortunately, few distributions explicitly support EFI-mode booting from their 32-bit versions. I don't know offhand whether Arch Linux explicitly supports this configuration. If not, you'll have to either prepare your own installation medium with a 32-bit EFI boot loader or install it in BIOS/CSM/legacy mode and then set up an EFI boot loader after the fact (or do it beforehand in OS X).

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks