MacEFIRom
Not Newbie
Offline
Posts: 19
|
 |
« on: September 07, 2011, 05:27:43 AM » |
|
I'm a big Mac Pro fan, and I own both a 2006 and 2010 Mac Pro. After writing the firmware tools for these systems, I started to feel like the 2006 Mac Pro didn't get much of a boost from the 2007 firmware upgrade, unlike the 2009 upgrade, which unlocked a lot of potential. I'm also a big hackintosh fan, and I've built numerous platforms going back to 2006, when it all began. I started doing some research on booting the 64 bit kernel on the 2006/2007 Mac Pro. As you probably know, these Macs have a 32 bit EFI implementation, so the Mac OS can only boot the 32 bit kernel. This is of course an arbitrary decision on Apple's part, as the Xeon CPUs in all the Mac Pros are certainly 64 bit capable. There's been some posts on this forum, as well as some earlier posts by netkas on the subject, about using the Chameleon bootloader to load the OS, since in theory, this should be a pretty darn compatible hackintosh! I attempted to configure the system to boot in this manner, using all of the information available in these posts, but all of the information and suggestions available are close, but none of them get everything right. I did successfully accomplish this, and I can say that it works very well, with the only thing not recognized and working is the built-in audio. This can probably be fixed with some additional work, and maybe someone else can suggest some settings to accomplish this, but right now, with this guide, you can boot the 2007 Mac Pro (of course my 2006 has been upgraded to 2007) in 64 bit kernel mode, and the system works 100%, with sleep, shutdown, networking, CPU identification working properly. If you are using the original nVidia 7300GT, you will have to use a more modern graphics card that the Chameleon bootloader can understand. Also, since this is booting like a hackintosh, you don't have to use a flashed card, or actual Apple card (although you can if you want) just any PC card that is currently working with the modern bootloaders, which is quite nice.
It's actually pretty easy once you know what to do and how to configure everything. In essence you will be booting the Mac Pro in what's called "Legacy Mode" which is Apple's way of saying a normal PC BIOS environment, not the EFI32 environment. One of the things I struggled with is that Apple's EFI implementation will not boot any sort of USB or Firewire storage in "Legacy Mode", so this has to be done on an internal hard drive. The Chameleon boot partition can be on a separate drive in the system or on an additional partition. The separate drive has the benefit of not having to touch the Mac OS partition at all, so it is very clean, but requires using a drive sled spot or using an additional drive in the optical bay area. In either case, the system can be booted the original way via the EFI32 mode, or the chameleon way for 64 bit kernel, so it's a very flexible solution.
Here is the guide:
If you are using a single drive, partition the drive with 2 partitions, both HFS+, using the MBR option. Name the 1st partition Boot, and make it 1GB in size. The 2nd partition will hold your normal Mac OS installation.
If you are using a separate drive, partition using MBR, choose HFS+, and name it Boot.
Install the older Chameleon bootloader, the filename is Chameleon-2.0-RC2-r640.pkg, you can easily find it on the web. Choose the Boot partition, and deselect all the options except the bootloader.
To delete the original boot file, type this command, via the Terminal:
rm /Volumes/Boot/boot
You can use any of the modern Chameleon bootloader files, you will only need the boot file. You can find installer packages all over the Internet for this, so don't ask here. If it's already in an installer package, you can use Pacifist to extract it. Copy this file to the Boot volume, at the root. I've included the one I used in my testing, so you can use this one as well.
Copy the attached smbios.plist and org.chameleon.Boot.plist to Boot/Extra, and if you have any themes you want to use copy these to the Boot/Extra folder as well. If you don't know how the Chameleon bootloader works, or about themes, or anything else related to the hackintosh, don't ask here, there are plenty of forums on the Internet for that.
If you are using a single drive, use this in the org.chamleeon.Boot.plist file (this is in the supplied file):
<key>Default Partition</key> <string>hd(0,2)</string>
If you are using a separate drive, use this in the org.chamleeon.Boot.plist file:
<key>Default Partition</key> <string>hd(1,2)</string>
The actual serial number can't be extracted from the system, so you can put your serial number in by editing this in the smbios.plist file:
<key>SMserial</key> <string>G666666PUPZ</string>
In order to boot the system this way, you have to bless the new Boot partition in a special way, via the Terminal:
sudo bless --folder /Volumes/Boot --file /Volumes/Boot/boot --setBoot --legacy
If you want to return to the normal EFI32 boot, use the System Preferences>Startup Volume. To boot the 64 bit kernel again, issue the above terminal command again.
In my testing I haven't run into any issues other than the sound, and benchmarking is right where it should be at for a 64 bit kernel. I hope you enjoy the benefits of extending the value of your 2006 or 2007 Mac Pro, or being able to change your system back and forth from the 32 to 64 bit kernel for development purposes.
|