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@1000/@0:9. It is currently located here:  /pci@80000000/pci-ata@4/ata-2@500/cdrom@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@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@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@80000000/mac-io@3/escc/ch-b"
mac-io                    "/pci@80000000/mac-io@3"
via-cuda                  "/pci@80000000/mac-io@3/via-cuda"
adb-keyboard              "/pci@80000000/mac-io@3/via-cuda/adb/keyboard"
adb-mouse                 "/pci@80000000/mac-io@3/via-cuda/adb/mouse"
rtc                       "/pci@80000000/mac-io@3/via-cuda/rtc"
nvram                     "/pci@80000000/mac-io@3/nvram"
ttya                      "/pci@80000000/mac-io@3/escc/ch-a"
scca                      "/pci@80000000/mac-io@3/escc/ch-a"
ttyb                      "/pci@80000000/mac-io@3/escc/ch-b"
sccb                      "/pci@80000000/mac-io@3/escc/ch-b"
ide0                      "/pci@80000000/pci-ata@4/ata-2/cdrom"
cd                        "/pci@80000000/pci-ata@4/ata-2/cdrom"
cdrom                     "/pci@80000000/pci-ata@4/ata-2/cdrom"
keyboard                  "/pci@80000000/mac-io@3/via-cuda@16000/adb/keyboard@8"
ok

Somehow Mac OS resolves "ide1" into "/pci/mac-io/ide@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@80000000/mac-io@3/ata-1/cdrom"
cd                        "/pci@80000000/mac-io@3/ata-1/cdrom"
cdrom                     "/pci@80000000/mac-io@3/ata-1/cdrom"
ide1                      "/pci@80000000/pci-ata@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@80000000/pci-ata@4/ata-2/cdrom"
cdrom                     "/pci@80000000/pci-ata@4/ata-2/cdrom"
cd                        "/pci@80000000/pci-ata@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@80000000/AppleGracklePCI/pci-ata@4/CMD646Root/cdrom@0

After using your command line suggestion, I see this in QEMU when booting Darwin 8 (core of Mac OS X): 
IOService:/GossamerPE/pci@80000000/AppleGracklePCI/mac-io@3/Heathrow/ata-1@20000/HeathrowATA/ATADeviceNub@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@80000000/AppleGracklePCI/mac-io@10/Heathrow/ide@21000/HeathrowATA/ATADeviceNub@0/ATAPIProtocolTransport/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices/IODVDBlockStorageDriver/HL-DT-ST DVD-RW GCA-4020B Media/IOCDPartitionScheme/Untitled 1@1/IOApplePartititionScheme/Mac_OS_X@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.