Hello
Hmm. Then it seems we need to actually bless the System Folder after all...
The blessed folder's directory ID is stored in HFS+ volume header and Open Firmware nomally searches this directory for bootinfo file with file type 'tbxi', which is "Mac OS ROM" in OS9 and "BootX" in OSX.
I thought specifing the full path to this file may suffice even if the blessed folder id is not properly set in volume header, but it seems to be wrong, at least as far as OS9 is concerned.
So now we'd need to set the blessed folder id in HFS+ volume header (sector 2) and also set the boot blocks (sectors 0 & 1) properly in order to boot OS9. I would not try to do it in Open Firmware if possible at all.
There's bless(8) command in OSX, that we may use. Two recipes here.
One is for the case that you can boot the target machine in OSX single user mode.
Another is for the case that you can set the target machine to target disk mode and use another OSX machine to modify the target.
cf.
bless(8)
http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/m an8/bless.8.html
Mac OS X: How to start up in single-user or verbose mode
http://support.apple.com/kb/HT1492
---
• RECIPE 1
Using target machine only, provided it can boot OSX in single user mode.
1) Boot OSX in single user mode by holding down Command-S when starting up machine.
2) Type the following command and press return to mount the root directory :
mount -uw /
3) Type the following command and press return to bless OS9 and set boot blocks :
bless -folder9 "/System Folder" -bootBlockFile "/usr/share/misc/bootblockdata"
or
bless --folder9 "/System Folder" --bootBlockFile "/usr/share/misc/bootblockdata"
*Note that it seems some versions of bless(8) require the first syntax and others the second.
If the syntax is wrong, command won't run and error message will appear.
4) Type the following command and press return to reboot the machine :
reboot
---
• RECIPE 2
Using the target machine in Firewire Target Disk Mode and another rescuer machine with OSX installed.
1) Boot the target machine in Firewire Target Disk Mode.
Boot the rescue machine and connect the target machine to it via Firewire.
2) Start Terminal.app in recuer machine, that is located at /Applications/Utilities/Terminal.app.
3) Type the following command in Terminal's window and press return :
sudo bless -folder9 "/Volumes/Mac HD/System Folder" -bootBlockFile "/usr/share/misc/bootblockdata"
or
sudo bless --folder9 "/Volumes/Mac HD/System Folder" --bootBlockFile "/usr/share/misc/bootblockdata"
When requested, enter administrator's password and press return.
*You need to change the name of the target volume, that is "Mac HD" in the above examples, to the real name.
*Note that it seems some versions of bless(8) require the first syntax and others the second.
If the syntax is wrong, command won't run and error message will appear.
4) Disconnect and restart the target machine.
Hope this may help,
H