This is a 64Bit EFI binary only at the moment. I will compile a 32 bit binary soon. This will only work on 64 Bit EFI macs!! (the ones that can run 10.8)
What is Grub4Mac? Grub4Mac is a special compilation of Grub that allows fully native EFI booting of any OS that grub normally supports (all linux flavors, windows, etc..)
Why? Bios emulation is slow and requires a Frankenstein hybrid MBR setup to boot windows and linux. Some of apple's older hardware doesn't do bios emulation very well or even at all (XServe). This allows GRUB to be seen as a startup disk and allows directly booting windows / linux disc media.
How? It is just a standard version of grub with HFS/HFS+, EFI, and GUID Partition support built into the EFI binary. The folder structure is setup on a standard HFS+ partition to mimic an OS X install. This allows it to be seen as a startup drive to OS X and the EFI firmware. It also includes all modules and features unlike many distribution versions of grub.
How do i install it?
GRUB4Mac can be installed on an internal or external drive. It should work on just about every type of drive (USB / Firewire / Thunderbolt) except for an SD card (Mac's wont boot from the SD port).
Step 1: At the moment GRUB4Mac requires it's own partition. This partition can be small (16MB-32MB is plenty of room). Download GRUB4Mac.dmg and restore it to whichever partition / drive you wish.
Step 2: On the newly created drive navigate to /System/Library/CoreServices/SystemVersion.plist and add in whatever values you see fit. This sets the name and version of the OS when picking a startup disk. The default values are "GRUB" and "2.0".
Step 3: Open system preferences and chose the grub startup disk, then restart your computer. Pick your installation CD from the grub menu and linux will boot! DO NOT INSTALL A BOOTLOADER IF YOUR INSTALLER ASKS YOU!
Step 4: After installing linux, reboot while holding option (alt). Choose your OS X partition and boot into OS X. On the GRUB4Mac drive navigate to /System/Library/CoreServices/Grub/Grub.cfg and open it in TextEdit. You will need the UUID of the partition you installed Linux on to create an entry for it. I will have templates available in the near future for this.
Note: You can get the UUID in grub by pressing C during the boot countdown. Execute the following commands in the console. Make sure no external drives are plugged in!
GRUB should spit out a list of partitions and UUID numbers, write the one down that has an ext* filesystem. This is your linux partition.
IMPORTANT! I take no responsibility for any harm caused to your computer using this software. While i believe it to completely safe and personally use it myself, i will not guarantee any results.
At the moment, i only have entries for the CentOS 6.4 installation CD. I am working to add more so please be patient. You can always manually edit Grub.cfg to add your own. Templates for after install booting are also on their way
Verified Working Systems
XServe - Early 2009
MacBook Air - Mid 2013
Change Log
Post your results! Let me know what works and doesn't work and ill do my best to get it fixed in a timely manner.
What is Grub4Mac? Grub4Mac is a special compilation of Grub that allows fully native EFI booting of any OS that grub normally supports (all linux flavors, windows, etc..)
Why? Bios emulation is slow and requires a Frankenstein hybrid MBR setup to boot windows and linux. Some of apple's older hardware doesn't do bios emulation very well or even at all (XServe). This allows GRUB to be seen as a startup disk and allows directly booting windows / linux disc media.
How? It is just a standard version of grub with HFS/HFS+, EFI, and GUID Partition support built into the EFI binary. The folder structure is setup on a standard HFS+ partition to mimic an OS X install. This allows it to be seen as a startup drive to OS X and the EFI firmware. It also includes all modules and features unlike many distribution versions of grub.
How do i install it?
GRUB4Mac can be installed on an internal or external drive. It should work on just about every type of drive (USB / Firewire / Thunderbolt) except for an SD card (Mac's wont boot from the SD port).
Step 1: At the moment GRUB4Mac requires it's own partition. This partition can be small (16MB-32MB is plenty of room). Download GRUB4Mac.dmg and restore it to whichever partition / drive you wish.
Step 2: On the newly created drive navigate to /System/Library/CoreServices/SystemVersion.plist and add in whatever values you see fit. This sets the name and version of the OS when picking a startup disk. The default values are "GRUB" and "2.0".
Step 3: Open system preferences and chose the grub startup disk, then restart your computer. Pick your installation CD from the grub menu and linux will boot! DO NOT INSTALL A BOOTLOADER IF YOUR INSTALLER ASKS YOU!
Step 4: After installing linux, reboot while holding option (alt). Choose your OS X partition and boot into OS X. On the GRUB4Mac drive navigate to /System/Library/CoreServices/Grub/Grub.cfg and open it in TextEdit. You will need the UUID of the partition you installed Linux on to create an entry for it. I will have templates available in the near future for this.
Note: You can get the UUID in grub by pressing C during the boot countdown. Execute the following commands in the console. Make sure no external drives are plugged in!
Code:
insmod ext2
root (hd0 (press tab on this command not enter)!
GRUB should spit out a list of partitions and UUID numbers, write the one down that has an ext* filesystem. This is your linux partition.
IMPORTANT! I take no responsibility for any harm caused to your computer using this software. While i believe it to completely safe and personally use it myself, i will not guarantee any results.
At the moment, i only have entries for the CentOS 6.4 installation CD. I am working to add more so please be patient. You can always manually edit Grub.cfg to add your own. Templates for after install booting are also on their way
Verified Working Systems
XServe - Early 2009
MacBook Air - Mid 2013
Change Log
Code:
Version 0.1 -
First Release
Supports CentOS 6.4 Installation Media Only!!
Post your results! Let me know what works and doesn't work and ill do my best to get it fixed in a timely manner.
Attachments
Last edited: