|
From: | Jd Lyons |
Subject: | Re: [Qemu-ppc] [OpenBIOS] Apple's BootX |
Date: | Sat, 27 Jan 2018 09:34:05 -0500 |
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: 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 |
[Prev in Thread] | Current Thread | [Next in Thread] |