[OpenBIOS] Apple's BootX

Jd Lyons lyons_dj at yahoo.com
Sat Jan 27 15:34:05 CET 2018



> On Jan 27, 2018, at 8:41 AM, Programmingkid <programmingkidx at gmail.com> wrote:
> 
>> 
>> On Jan 27, 2018, at 7:33 AM, BALATON Zoltan <balaton at eik.bme.hu> wrote:
>> 
>> On Sat, 27 Jan 2018, Jd Lyons via OpenBIOS wrote:
>>> Welcome to OpenBIOS v1.1 built on Jan 22 2018 11:12
>>> 
>>> 0 > boot hd:10,\ppc\bootx >> switching to new context:
>>> 
>>> 
>>> Mac OS X Loader
>>> depthbytes isn't unique.
>>> rowbytes isn't unique.
>>> FILL-RECTANGLE isn't unique.
>>> Opening partition [/pci at f2000000/mac-io at c/ata-3 at 20000/disk at 0:10]...
>>> HFSInitPartition: 2fc5b254
>>> Loading HFS+ file: [\\com.apple.Boot.plist] from 2fc5b254.
>>> setting boot-uuid to: CF9C6A60-A576-362A-A46B-5CF31493B8F0
>>> non-root file owner detected: 501
>>> non-root file owner detected: 501
>>> non-root file owner detected: 501
>>> non-root file owner detected: 501
>>> non-root file owner detected: 501
>>> non-root file owner detected: 501
>>> non-root file owner detected: 501
>>> non-root file owner detected: 501
>>> non-root file owner detected: 501
>>> Reading HFS+ file: [\\mach_kernel] from 2fc5b254.
>>> setting boot-uuid to: CF9C6A60-A576-362A-A46B-5CF31493B8F0
>>> non-root file owner detected: 501
>>> Loading HFS+ file: [\System\Library\Caches\com.apple.kernelcaches\kernelcache.D57A14F7] from 2fc5b254.
>>> 
>>> Call Kernel!
>>> FailToBoot: 6
>>> ENTER
> 
> Excellent job with capturing Bootx's output. 
> 
>> 
>> So maybe you're looking for the problem at the wrong place when debugging BootX. It says it has transferred execution to the loaded kernel and it's the kernel which failed. Does the kernel version you're trying to boot support this CPU type at all?
> 
> Back when I would build the Mach kernel I would place a bunch of printf statements to see what it is doing. This is an easy way to debug the kernel. What version of Mac OS X are you currently trying to boot? If you want help with building and running a custom kernel just let me know.

Yes, I think a custom kernel maybe what’s needed, there is some magic that qemu-ppc is not doing. A custom kernel can boot on the 7448, as I have already confirmed. I was hoping to avoid that, but until someone that is familiar with how qemu-ppc boot OS X, I’ll just have to try the custom kernel route.

For the 7448, I used the kernel linked in these tread:

https://forums.macrumors.com/threads/os-x-tiger-on-a-603-604-cpu.1908276/ <https://forums.macrumors.com/threads/os-x-tiger-on-a-603-604-cpu.1908276/>

If we can figure out what changes were made that allowed qemu-ppc to boot with it, we should be able to figure out how to get the 7447a/7450/7455 to boot with it.

I never had any luck building mach_kernel, but I have’t tried in years, so you’ll have to walk me trough it.

I’ll ask LightBulbFun if he can get us a diff of his changes for 604 support, or at least give us an overview of how to add cpu support to the kernel.

There is still one thing I’d like to do with bootx, if you can help with that.

Changing kFailToBoot to 0 in include.tproj/sl.h will alter BootX’s default be- havior on error, so that it will return to Open- Firmware. Finally, calling Enter(), will cause BootX to drop back into the OpenFirmware User Interface. This can be used as a break point. The "dumpl" word will dump some memory, by en- tering the address, then the length, then "dumpl". By calling printf in BootX immediately before En- ter(), the address can be easily determined, and the variable can then be examined and altered from OpenFirmware. Finally typing the "go" command will resume BootX’s execution. 

I don’t understand how, or where in the code to call Enter(), or printf?

All I changed was kFailToBoot to 0 in the sl.h. That was enough to get BootX to output some debug info for us, but if you say that we’re done with bootx when it calls the kernel( jumping to the memory where it loaded the kernel in real mode? ), then we can skip this.

Balaton, I was trying to boot 10.4.11 with the 7448, so the kernel should support it.

Thanks,
James   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/openbios/attachments/20180127/6a4d8978/attachment-0001.html>


More information about the OpenBIOS mailing list