If you like this blog, please make a little donation.

It's a secure process, and with your generosity I will be able to review more hardware and software.

Just click the "Donate" button below and follow the easy instructions, and I will thank you eternally.

Saturday, April 16, 2011

USB booting on PowerPC Macintosh

It is commonly known that only G5 PowerMacintosh and iMac computers can boot from USB, and of course all Intel Macintosh computers.
However I found this assumption to be false.

While trying to test MorphOS on my Mac Mini G4 computer I encountered with a common problem of that computers. The DVD drive does not read anything.
Unfortunately this is a common problem with slot-in drives, as dust enters in the whole drive, even inside the laser lens assembly.

But I just though, that maybe, there was a way, and entered OpenFirmware with the usual Command-Option-O-F key combination on boot chime, and listed the device tree with the usual "dev / ls" command.

Pending on the Mac Mini's southbridge (/pci@f2000000) I found the usb devices, one empty and one with a HUB device (the keyboard), so at least controllers and hubs are supported by OpenFirmware.

I powered off, connected an external slim Asus DVD recorder (really a LG DVD recorder) to the USB ports and entered again on OpenFirmware, listed the devices and to my surprise a "disk@1" device appeared just hanging under one of the usb controllers.

I did a reboot and entered the OpenFirmware's boot menu pressing the Option key on boot chime, but the USB disk did not appear here.

Rentering OpenFirmware and constructing an adequate boot command (boot /pci@f2000000/usb@19/disk@1:2,\\:tbxi) booted MorphOS correctly.
I recorded all the installation and posted it on Youtube.

With my curiosity at maximum I took an older computer, my beloved PowerBook G4 Titanium, attached the USB drive and tested the same.

OpenFirmware worked, loaded the MorphOS bootloader, this loaded the MorphOS kernel, and, as expected because the PowerBook is not supported, it hang.

I took all the Mac OS disks and a couple of Linux disks to test it on the PowerBook and came to the following conclusions:

1.- USB booting is supported by all Mac OS X bootloaders, but Mac OS X <= 10.3 do not load the USB MSC drivers at boot and the kernel is then unable to find the root volume.
2.- USB booting is unsupported at all by Mac OS 9, because it requires Toolbox drivers and they only exist for ATA, ATAPI and SCSI. Dunno why FireWire boots, may be because a Toolbox driver is present in ROM. 
3.- USB booting is supported fully by MorphOS and by Linux, however all Linux distributions I tested expect to load Yaboot configuration file from "cd:" device alias, and you must point that to your exact USB device in OpenFirmware for Yaboot to work.
4.- If your last boot disk is an USB one, it DOES appear on the boot menu. If it's not the case, it will never do, and you must boot manually from OpenFirmware.