On the 64-bit Linux DVD images for 32-bit EFI Macs page, someone asked about the grey/white Mac boot screen that hangs for a good while before it boots Ubuntu.
Since that page is already way too long, and since this could potentially affect other non-Apple installs on Mac hardware, I figured I’d address it separately here.
Sure enough, I watched as the old Macbook 2,1 started and saw the white screen sitting for about 30 seconds (give or take since I was counting seconds in my head) before it triggered the Ubuntu boot loader.
I had a feeling the Mac’s firmware was busy searching for an OS during that time. Couple reasons:
- The delay is somewhat comparable to when you hold the “option” key down to find/select from all available operating systems.
- On a typical OS X install, OS X is always assigned as a Startup disk. If you install Windows via Bootcamp, it can be selected as a startup disk. But there’s always a startup disk.
With a full wipe and install of Ubuntu, by default we’ve never actually told the firmware what the startup disk is supposed to be.
Reducing the white screen from 30 to 5 seconds
This took a few attempts, but since I rambled above some already, I’ll cut right to the chase.
Step 1: Get a Mac OS X install disk. Ideally the latest version that runs on your Mac (though I suppose you could try whatever came with your Mac if need be). For my 2006 Macbook 2,1, the latest version was OS X Lion (10.7).
Step 2: Boot from the OS X install disk (hold alt/option after the start-up chime, pop in the DVD, and select it).
Step 3: Make some coffee. On my Macbook I had time to make a few coffee.
Step 4: When the installer’s up, choose your language.
Step 5: You should be at the screen below. From the menu, fire up the terminal as seen in the image (click for large version).
Step 6: Type the following(-ish) into the terminal (read this entire section first):
bless --device /dev/disk0s1 --legacy --setBoot --verbose
If you’re not on a single-partition single-hard-drive install, you will likely have to change disk0s1 to something else. You can run Disk Utility from the previous menu to get a rough idea as to your partition layout and (hopefully) figure out for yourself which is the boot partition.
The –legacy bit isn’t mentioned in the –help on the Lion DVD, but does exist as an option for bless here. It’s required to allow the bootloader to look for the bootloader in BIOS mode by default, which is what you want if using the modified Linux ISOs from the original writeup (which have EFI stripped so they boot in 64-bit BIOS mode). If you’re not using the modded Linux ISOs mentioned, do some extra research before proceeding… you don’t want –legacy if you’re using EFI, and you shouldn’t use –device unless you have no other option. If using Windows it’s possible the drive might be selectable simply from top-left Apple Menu -> Startup Disk.
…it’ll look something like this (click for larger image):
Note that I’d tried to set a label as well (it didn’t take).
Step 7: Restart. I held the option key, ejected the DVD, then restarted again without the option key.
Assuming it worked, you should only see the white screen for 5 seconds or so!
If it didn’t work, either you’ll still wait 30 seconds (like before), or if something went really awry it’s possible the Mac won’t find any drive. If it doesn’t find any drive, hold the OPTION key after the start-up chime, head back to the Install DVD, try to figure out where things went wrong (perhaps the wrong drive/partition was selected), and give it a shot again.
If you have to delve into something really wonky, note that Apple does have an online man page for bless here: https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/bless.8.html .