After digging deep into Open Firmware, I think I have discovered a method to booting from USB on PowerPC Macs that works flawlessly* on every NewWorld Mac made after 1999. This method doesn't rely on having a USB flash drive that happens to play well with Open Firmware or any externally powered hub like previous methods do; rather, it probes the USB ports after boot. All it requires is a PowerPC Mac and any USB flash drive with a PowerPC OS (Mac OS X*, Linux, BSD) installed on it.
*Only some versions of Mac OS X boot cleanly from USB. The Mac OS X 10.5 installer seems to reliably work on every machine I tried it on, 10.4 seems to work on some machines and hang on others, and everything before that probably won't work. For everything but 10.5 I'd recommend using CD/DVD media in general, which lines up perfectly with 10.5's requirement of dual-layer DVDs.
For this process, you'll need 2 pieces of crucial information; the partition number and USB port ID. The partition number is pretty easy to get; you can find it in Disk Utility -> your USB partition -> Info -> Partition Number. For Mac OS X USB drives, the correct partition number is usually 3.
The USB port ID is a little bit more difficult. The easiest way to find it is this method:
It's now time to actually boot the Mac from USB. To do this, you need to issue this command:
An example of this command with a port ID of 1 and a partition number of 3:
If you're lucky, Mac OS X (or Linux, or BSD) will now boot.
*Only some versions of Mac OS X boot cleanly from USB. The Mac OS X 10.5 installer seems to reliably work on every machine I tried it on, 10.4 seems to work on some machines and hang on others, and everything before that probably won't work. For everything but 10.5 I'd recommend using CD/DVD media in general, which lines up perfectly with 10.5's requirement of dual-layer DVDs.
For this process, you'll need 2 pieces of crucial information; the partition number and USB port ID. The partition number is pretty easy to get; you can find it in Disk Utility -> your USB partition -> Info -> Partition Number. For Mac OS X USB drives, the correct partition number is usually 3.
The USB port ID is a little bit more difficult. The easiest way to find it is this method:
- Disconnect all USB devices from your Mac.
- Connect a USB keyboard to your Mac. If it has a hub, make sure nothing's plugged into it.
- Boot to Open Firmware by holding Command-Option-O-F at startup.
- At the
0 >
prompt, type:
dev usb0 ls
- If there are any
keyboard@X
values, stop here. The number afterusb
is your port ID. If not, typedev usb1
andls
and keep incrementing that number until you find some. If you're on a laptop, make sure there are nomouse@X
values, since the internal keyboard and touchpad are sometimes connected via USB.
shut-down
at the prompt. Unplug the USB keyboard and connect the USB drive you want to boot from to the same port you just had the keyboard connected to. If you're on a desktop, reconnect the keyboard to a different port, and boot the computer back into Open Firmware.It's now time to actually boot the Mac from USB. To do this, you need to issue this command:
Code:
probe-usb boot usb<port ID>/disk:<partition number>,\\:tbxi
An example of this command with a port ID of 1 and a partition number of 3:
Code:
probe-usb boot usb1/disk:3,\\:tbxi
If you're lucky, Mac OS X (or Linux, or BSD) will now boot.
Last edited: