[OpenBIOS] [Qemu-ppc] Changing CD-ROM path

Programmingkid programmingkidx at gmail.com
Sat Jun 22 23:47:25 CEST 2013


On Jun 22, 2013, at 3:37 PM, Amadeusz Sławiński wrote:

> On Sat, Jun 22, 2013 at 03:21:50PM -0400, Programmingkid wrote:
>> 
>> On Jun 22, 2013, at 3:09 PM, Alexander Graf wrote:
>> 
>>> 
>>> On 22.06.2013, at 21:04, Programmingkid wrote:
>>> 
>>>> 
>>>> On Jun 22, 2013, at 2:05 PM, Alexander Graf wrote:
>>>> 
>>>>> 
>>>>> On 22.06.2013, at 19:53, Programmingkid wrote:
>>>>> 
>>>>>> 
>>>>>> On Jun 22, 2013, at 1:27 PM, Alexander Graf wrote:
>>>>>> 
>>>>>>> 
>>>>>>> On 22.06.2013, at 18:50, Programmingkid wrote:
>>>>>>> 
>>>>>>>> Mac OS 10.2 requires the boot CD-ROM to be located here: /pci/mac-io/ide at 1000/@0:9. It is currently located here:  /pci at 80000000/pci-ata at 4/ata-2 at 500/cdrom at 0. How would I go about changing the CD-ROM to this location? I'm looking for a specific file or files to make this change.
>>>>>>> 
>>>>>>> This is an OF path, which is up to OpenBIOS to construct.
>>>>>>> 
>>>>>>> What makes you think that Mac OS searches at that exact location?
>>>>>>> 
>>>>>>> 
>>>>>>> Alex
>>>>>>> 
>>>>>> 
>>>>>> XNU (Mac OS X's kernel) prints this line to the screen: 
>>>>>> From path: “ide1/@0:9,\mach_kernel”, Waiting on <dict ID=”0”><key>IOPathMatch</key><string ID=”1”>IODeviceTree:/pci/mac-io/ide at 1000/@0:9</string></dict>
>>>>>> 
>>>>>> The key IOPathMatch means the location of the cdrom has to be at a certain location. In this case it is /pci/mac-io/ide at 1000/@0:9.
>>>>> 
>>>>> Yes, but I don't see where Mac OS X has this hardcoded. It gets passed in somehow.
>>>> 
>>>> I think a kernel extension does it. I don't know which one.
>>> 
>>> Well, I've tried to grep through the full file system of the 10.2 ISO and don't find anything that would indicate the path above. It has to come from somewhere ...
>>> 
>>>> 
>>>>> 
>>>>> What machine type is this? g3beige?
>>>> 
>>>> g3beige.
>>>> 
>>>>> On there, I don't see an ide1 alias anywhere:
>>>>> 
>>>>> 0 > dev /aliases  ok
>>>>> 0 > ls
>>>>> ok
>>>>> 0 > .properties
>>>>> name                      "aliases"
>>>>> screen                    "/pci at 80000000/mac-io at 3/escc/ch-b"
>>>>> mac-io                    "/pci at 80000000/mac-io at 3"
>>>>> via-cuda                  "/pci at 80000000/mac-io at 3/via-cuda"
>>>>> adb-keyboard              "/pci at 80000000/mac-io at 3/via-cuda/adb/keyboard"
>>>>> adb-mouse                 "/pci at 80000000/mac-io at 3/via-cuda/adb/mouse"
>>>>> rtc                       "/pci at 80000000/mac-io at 3/via-cuda/rtc"
>>>>> nvram                     "/pci at 80000000/mac-io at 3/nvram"
>>>>> ttya                      "/pci at 80000000/mac-io at 3/escc/ch-a"
>>>>> scca                      "/pci at 80000000/mac-io at 3/escc/ch-a"
>>>>> ttyb                      "/pci at 80000000/mac-io at 3/escc/ch-b"
>>>>> sccb                      "/pci at 80000000/mac-io at 3/escc/ch-b"
>>>>> ide0                      "/pci at 80000000/pci-ata at 4/ata-2/cdrom"
>>>>> cd                        "/pci at 80000000/pci-ata at 4/ata-2/cdrom"
>>>>> cdrom                     "/pci at 80000000/pci-ata at 4/ata-2/cdrom"
>>>>> keyboard                  "/pci at 80000000/mac-io at 3/via-cuda at 16000/adb/keyboard at 8"
>>>>> ok
>>>>> 
>>>>> Somehow Mac OS resolves "ide1" into "/pci/mac-io/ide at 1000". That's the part where the logic fails.
>>>> 
>>>> Do you think adding ide1 to the /aliases node will fix things? I guessing ide1 should equal ide0. The problem I see with this plan is the pci-ata node. A real Beige G3 doesn't have one in that path. 
>>> 
>>> I think it's worth a try. It looks almost as if ide0 is a misnomer and it really should be ide1 there. Not sure.
>> Ok. I will try it.
>> 
>>> 
>>> How do you enable verbose boot in bootx?
>>> 
>> 
>> Hold down the command key and v while starting up.
> 
> Paths also depend on how you pass boot device:
> 
> For example with
> -drive file=/path/to/cdrom.iso,media=cdrom,index=0,if=ide
> 
> I get
> ide0                      "/pci at 80000000/mac-io at 3/ata-1/cdrom"
> cd                        "/pci at 80000000/mac-io at 3/ata-1/cdrom"
> cdrom                     "/pci at 80000000/mac-io at 3/ata-1/cdrom"
> ide1                      "/pci at 80000000/pci-ata at 4/ata-2/cdrom"
> 
> (also now that I look at it should this ide1 even be here?)
> 
> and with -cdrom /path/to/cdrom.iso
> 
> ide0                      "/pci at 80000000/pci-ata at 4/ata-2/cdrom"
> cdrom                     "/pci at 80000000/pci-ata at 4/ata-2/cdrom"
> cd                        "/pci at 80000000/pci-ata at 4/ata-2/cdrom"
> 

Thank you sooo much for this information. With it was able to go further than before in the boot process! This day was definitely a step forward in making Mac OS X boot in QEMU. The Mac OS 10.2 cd stopped after the COLOR display text, but the darwin 8 cd was able to boot considerably further than before. 

Before I would only see up to this in on the screen: 
IOService:/GossamerPE/pci at 80000000/AppleGracklePCI/pci-ata at 4/CMD646Root/cdrom at 0

After using your command line suggestion, I see this in QEMU when booting Darwin 8 (core of Mac OS X): 
IOService:/GossamerPE/pci at 80000000/AppleGracklePCI/mac-io at 3/Heathrow/ata-1 at 20000/HeathrowATA/ATADeviceNub at 0/IOATAPIProtocolTransport/IOSCSIPeripheralDevieNub/IOSCSIPeripheralDeviceType05/IODVDServices/IODVDBlockStorageDriver/QEMU QEMU DVD-ROM Media

A lot more than before!

This is what I see on a real Beige G3:
IOService:/GossamerPE/pci at 80000000/AppleGracklePCI/mac-io at 10/Heathrow/ide at 21000/HeathrowATA/ATADeviceNub at 0/ATAPIProtocolTransport/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices/IODVDBlockStorageDriver/HL-DT-ST DVD-RW GCA-4020B Media/IOCDPartitionScheme/Untitled 1 at 1/IOApplePartititionScheme/Mac_OS_X at 9

So what's next is making the IOCDPartitionScheme show up. 

This path change definitely needs to be made to QEMU. 

If anyone wants to help but don't have Mac OS X, you can download the free Darwin 8 cd image here: darwinppc-801.cdr.gz.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.openfirmware.info/pipermail/openbios/attachments/20130622/b3dc004c/attachment-0001.html>


More information about the OpenBIOS mailing list