First off, I have tried and tried again over the years to boot various PowerPC Macs via a USB2 disk. Thankfully, somewhere about the time the iMac G5 with the ambient light sensor (ALS) was released, Apple tweaked their Open Firmware, which allowed us to boot PowerPC Macs from USB2 drives.
Machines that I have tested this hint on and made it work are:
- iMac G5 w/ ALS
- iMac G5 w/iSight (thanks to the eager user who emailed me)
- 12″ PowerBook 1.3GHz
Without further delay, here’s the process to follow.
Note: As with all hints that have to do with Open Firmware, proceed at your own risk! I have not experienced a problem and I don’t see how this hint could render your Mac useless, since the default can always be recovered by resetting the SMU. Here’s what you need to do…
- You need a USB2 drive with an OS X system installed (I am using 10.4.3, though any I think will work as far as what the machine can boot). As you know, there are many different ways of getting a system on a USB drive; contact me if you have any questions on how to do that, or search macosxhints.com for that information.
- Connect the drive to your machine, and find out which partition the OS X system is installed on. I usually find this by going to Disk Utility and looking at the info for the partition on the USB disk with OS X. That is, disk2s3 is usually for a USB disk with no OS 9 drivers installed that is the second disk disk. disk3s9 might be a USB disk with OS 9 drivers that is considered the third disk. There are other ways of finding this out, but in my case, my disk is disk2s3 (the 3 on the end will come into play soon).
- Start up the machine in Open Firmware (this is the fun part). Hold Command-Option-F-F right after the machine is turned on.
- Here is the moment of truth. If this step does not work, I have had very limited success getting a machine to boot off USB2. In Open Firmware, type devalias, and you should get a list as output. In this list, look for ud, usually below where you see hd (ud is “USB Disk,” I presume). If found, it will usually have beside it /pci@f2000000/usb@1/disk1, or something similar. Again, if you see this, I have not had this fail yet.
- Now type printenv boot-device, which will usually get you output of boot-device hd:,\\:tbxi. (See where this is going yet?)
- Type setenv boot-device ud:3,\\:tbxi where the number after the colon corresponds to that partition number we found in step two. You should get an ok back.
- Type printenv boot-device, and you should see the change displayed already. Something like:
boot-device ud:3,\\:tbxi hd:,\\:tbxi”
- Type mac-boot and cross your fingers.
And now some more fun, there is a Unix script that can be written to enable this, because after all we are only changing a nvram variable. The command would be similar to this:
nvram boot-device ud:3,\\\\:tbxi
Now this looks a tad bit different then what we typed in Open Firmware, but that’s because we have to escape the two backslashes, each with a backslash of its own.
If this fails, there is a remote possibility that you can still boot off of USB2, but you may need to substitute ud for /pci@f2000000/usb@1/disk1, or something similar. If the firmware cannot list the contents of the drive, it seems it cannot boot off of it.
As you should know (thanks to the owner of the iMac G5 w/iSight for letting me know I should mention this), USB2 booting is not supported, therefore you should remember OS X has no support for booting USB 2 and the firmware has no support. So in System Preferences, the USB disk will not be shown as a bootable drive. In the optional boot menu (reached by holding down the Option key during boot), it also will not show.
So the two ways that I know how to enable it are through terminal by using the nvram command, and directly in Open Firmware. Hope this hint helps someone out there. I figured my trick was shot as soon as the Duo Core machines came out, but I now realize there are quite a few people with PPC Macs that might be able to use this hint.
From : http://www.macosxhints.com/article.php?story=20060301112336384&lsrc=osxh
I would like try this later.