If you happen to own one of these ‘good old’ (solid) MacPro’s then you most definitely know the macosxbootloader project, developed by Tiano in 2013. Unfortunately, it lacks support for Yosemite, and with the first GM candidate now being tested by (registered) Mac developers… its boot.efi replacement is starting to annoy people, who are eagerly awaiting for someone to fix this. And because nobody else stepped in before me, Peter Holbrook asked for a little help. Sure. No problem!
The first problem was to find someone that could compile the source code, since I don’t use Microsoft Windows, and that hurdle is already taken. I now have remote access to a MS box with all dev tools installed on it, and it appears to work. Pretty cool.
Now the big question is; Can you deliver Pike? Sure we can. And note that I used “we” here, because I need your help just as much as (some of) you need my help because I do not have an old MacPro to play with. So please, let us try to solve this as friends, sharing the same passion for old stuff. Lol.
Anyway. The first couple of changes went in already, and all that is missing to actually boot Yosemite on your good old MacPro is the missing “random-seed” property (see TODO file). So how do we attack this?
Simple. Open BootArgs.cpp and look for BlInitializeBootArgs. Add the seedBuffer declaration and call to DevTreeAddProperty () above the line with:
*bootArgsP = bootArgs;
You may need to change it a little, but I am past my bed time already so this exercise is yours my friends 😉
After this you compile and replace boot.efi with the new file. Then try to boot with -f because that will skip kernel cache. You need this due to the lacking LZVN decompression, but that can be added later on. This step is to see if the reboot is gone. That and finding the kernel are key tests now.
If it can’t find the kernel, then I made a mistake somewhere. In that case be smart and use the kernel boot argument, to load the kernel of your choice.
Gaap. I really, really need to get some sleep now. Our son will wake up for food in the middle of the night so.. have fun guys and gals. See you on the other side of the moon!
Someone e-mailed me about setting up a 90-day trial version of Visual Studio and NASM on his 2006 MacPro, because he ran into this error after trying to build the source code:
Error 1 error MSB6006: "cmd.exe" exited with code 9009.
Right. We got the same error when we forgot to add the path to the NASM executable. We fixed it and after that everything was fine.
New experimental patches have been committed, a few minutes ago, but I don’t know if they will work (compiles fine) because I don’t have an old MacPro.