Solved booting MacPro1,1 with 32bit EFI (not BIOS/Legacy)

tangles

New Member


Messages: 11

Hello,

I'm wondering if anyone is able to offer some suggestions:

Hardware:
MacPro 2006 (has 32bit EFI)
32GB RAM
2 x QuadCore Xeon 64bit CPUs (have been upgraded)
6 x SATA ports
2 x PATA ports

Anytime the Mac boots using Legacy BIOS and not EFI, only 4 SATA ports are recognised, temperature sensors (and thus fan control) are not presented to the kernel correctly to be controlled. This leads to all sorts of heat issues where other people on the net experience the CPUs halting to protect themselves.
For obvious reasons, I would much prefer to get EFI boot happening.
I have used mattgadent.com's method to patch the FreeBSD 12 ISO so that it has MBR boot only, and so the MacPro does boot the CD installer using BIOS legacy mode.
So I have booted up via CD and the installation asks whether to setup the PATA disk as EFI for BIOS.
If I choose EFI, a 64bit bootx64.efi file is copied to the ~260MB EFI partition. Naturally, the 32bit EFI of the Mac will not be able to execute this.
Using Sergey's blog as a reference, I thought I could swap out the bootx64.efi file in the EFI partition with a bootia32.efi file that is used to boot Ubuntu 64bit kernel via EFI. After swapping out the file, GRUB drops into rescue mode and doesn't boot the FreeBSD boot loader and so clearly my knowledge about freeBSD is lacking.
I tried renaming the bootia32.efi file to bootx64.efi also, but got the same result.
I know these Macs are ancient, but I just can't bare to see them go to waste.
Power consumption of these Macs is offset by our solar here so it would be great to put them to use somehow. I've installed Ubuntu 16 onto these MacPros via EFI okay and with 10GB Chelsio cards installed they make great backup machines with their 6xSATA ports, but I'd prefer to get BSD installed if I can.
I have searched for posts booting FreeBSD with Grub2 EFI, but cannot find any EFI howtos and only old BIOS posts.
Anyone able to suggest the glue needed to get a 32bit EFI of the MacPro to boot the FreeBSD Bootloader?
Thanks.
 
Last edited by a moderator:
OP
OP
tangles

tangles

New Member


Messages: 11

So after reading the 12.2. FreeBSD Boot Process a couple time nows, am I now correct in understanding that FreeBSD only boots via the old BIOS method (even though a disk may be formatted as MBR or GPT) and is not yet able to boot via EFI?

If so, I guess that's the end of that.
 

mickey

Well-Known Member

Reaction score: 85
Messages: 427

So after reading the 12.2. FreeBSD Boot Process a couple time nows, am I now correct in understanding that FreeBSD only boots via the old BIOS method (even though a disk may be formatted as MBR or GPT) and is not yet able to boot via EFI?
Much of the information in that chapter of the handbook has only limited applicability for UEFI systems. Whether you use GPT or MBR partitioning scheme should also make not much of a difference. What you need to boot in UEFI mode is a copy of /boot/boot1.efi or better yet /boot/loader.efi on your EFI system partition (ESP). The problem is that those binaries are by default built as 64 bit binaries which will probably not run on your 32 bit EFI. I am not sure how or if at all there is a chance to build 32bit versions of these, maybe someone else has more insight into this matter. Are you sure that the problems you are having with temperature sensors and disk controllers are caused by the boot mode and do not come from a faulty ACPI implementation?
 

trev

Aspiring Daemon

Reaction score: 175
Messages: 806

If you're intent on going the EFI32 route, here are a few places I’d start:

  1. Thread: Ubuntu 15.04 on Mac Mini 2,1 with EFI boot (2007 Intel) – The guide uses rEFInd on one USB stick. On a 2nd USB install disk it uses a Ubuntu USB install, but adds a bootia32.efi to the /EFI/BOOT folder. When starting up the Mac, uses ALT to bring up the manager and chooses rEFInd. Then once rEFInd has loaded, selects the option that contains “bootia32.efi”.

    Once the Ubuntu install is complete, grub fails to install, but there are steps listed to manually install a grub-efi-ia32. Much of it is based on the steps that Jason Heeris provided on his blog. This is a very “EFI-native” solution, but I’d personally still be a little concerned about the potential for major release upgrades to overwrite the bootloader with a new 64-bit EFI.
  2. Hackintosh bootloader solutions – The hackintosh community has been finding solutions for Apple’s EFI compatibility limitations for years. If you’re looking for something very Mac-specific, search for Mac Pro 1,1 and add ML/MountainLion/10.8/10.9/etc to the search. Otherwise you can peek into various bootloaders like Chameleon, Pike’s bootloader, etc., but your are more likely to hit some trial-and-error bits there since every guide looks at a different purpose (some for just intented for having a different bootloader, some aimed at hackintoshing, etc).
Source: https://mattgadient.com/2016/07/11/linux-dvd-images-and-how-to-for-32-bit-efi-macs-late-2006-models/
 

trev

Aspiring Daemon

Reaction score: 175
Messages: 806

There may be hope ... from the twittersphere:

New conversation marc r‏ @theunixwizard 24 May 2018
Replying to @ed_maste@FreeBSDHelp
What about a 32 bit UEFI booting to a 64 bit processor? (Apple X serve 2009 vintage as the example.)
1 reply 0 retweets 0 likes

Ed Maste‏ @ed_maste 25 May 2018
No support yet, but hopefully in the not-too-distant future
0 replies 0 retweets 0 likes
 
OP
OP
tangles

tangles

New Member


Messages: 11

... Are you sure that the problems you are having with temperature sensors and disk controllers are caused by the boot mode and do not come from a faulty ACPI implementation?
Hi Mickey,
I managed to boot the MacPro via 32bit Grub2 into Ubuntu 16.10 and all 6 SATA ports are usable. macOS also sees them and I've not had any heat/fan issues while booted in these OSes.
I also understand if you used Apple's official Bootcamp method to get Windows installed, BIOS emulation/legacy was used to do so and that too did not present the SATA ports to Windows, so It looks like Apple's effort (lack there of) when implementing emulated BIOS over the top of 32Bit EFI is half baked. Fair enough I guess considering they use EFI and control the hardware and software.

Thank you Trev for finding that post!
Yeah, old devices with 32-bit EFI…
I have a Mac mini 2006 (upgraded to 2007). I compiled GRUB 2 for 32-bit EFI and it boots 64-bit FreeBSD from ZFS just fine :)
I have (I think) contacted floatboat from that post and have asked for help.
 
OP
OP
tangles

tangles

New Member


Messages: 11

Success!

am able to boot using any of the 6 SATA ports.

am waiting to here back from floatboat before I post how we did it.
 
Top