On Oct 12, 2012, at 4:26 PM, Mark Cave-Ayland wrote:
On 12/10/12 20:59, Programmingkid wrote:
[CC to list]
On 12/10/12 18:25, Programmingkid wrote:
I did some research with Apple's Open Firmware implementation and found out something that might make fixing the auto partition selection system work. What Apple's Open Firmware does when a command like "dir hd:," is entered is it selects the partition that has the lowest partition number, and displays its files.
What I did was partitioned a hard drive into three different partitions, then ran the "dir hd:," command. I have verified that the lowest numbered partition is selected by default. The other two partitions can be selected by doing this "dir hd:10," and "dir hd:11,". Is there any more information that is needed to fix the auto selection system?
Do any of them have a system partition on?
If you mean have an operating system on them, all three partitions have Mac OS X installed on them.
The reason I ask is that because on some of the debug traces you've sent me, a filesystem has been identified on the Apple_Driver43_CD partition. Therefore there must be some other logic involved with Apple's Open Firmware in order for it to locate the partition containing the installer.
When you say the installer, I am guessing you mean the boot loader.
For CD's, there is usually one partition that has the files on it. I think a simple algorithm for finding the right partition is to select the first partition that is of the type APPLE_HFS or APPLE_HFSX.
Perhaps the algorithm really is that simple? For PearPC I found the following which suggests this is exactly what they do:
http://old.nabble.com/Problems-booting-from-Panther-DVD-p104313.html
I'd be interested to hear from people who have OF experience with Macs to confirm if this is the case or not. Have you coded up a suitable patch in OpenBIOS to test?
I don't quite know enough about file systems yet to make a patch. I will try to make the changes you wanted to my local variable patch.
Maybe someone else out there knows how to fix this problem?