[OpenBIOS] [Qemu-devel] Re: QEMU OpenBIOS booting?

Steven Noonan steven at uplinklabs.net
Sun Apr 19 19:56:47 CEST 2009


On Sun, Apr 19, 2009 at 10:47 AM, M. Warner Losh <imp at bsdimp.com> wrote:
> In message: <f488382f0904190128l4383a56eu67a2f16eb338e61c at mail.gmail.com>
>            Steven Noonan <steven at uplinklabs.net> writes:
> : I eventually decided it made more
> : sense to get QEMU working instead. I did notice that the pre-OpenBIOS
> : version of QEMU was able to boot Mac OS X via Open Hack'Ware, so I was
> : annoyed to find that OpenBIOS didn't have such support. So, I might as
> : well add it.
>
> Open Hackware was barely enough to boot older versions of Linux.
> Other operating systems that needed more extensive properties from the
> OpenFirmware device tree failed to boot because they weren't present.
> I was involved in a large effort to get FreeBSD/powerpc booting on
> QEMU only to have it fail utterly because the amount of hacking on
> OpenHackWare needed was rather large and mysterious...
>

Yes, Open Hack'Ware is as much a hack as PearPC is, in my opinion. It
uses very strange design decisions, which I suppose were inspired by
an "I'll do this later" attitude. For instance, in the CHRP script
'parser' it has, it will do a CRC of the boot script and then do a
table lookup to figure out what to do next, i.e.:

                    case 0xEA06C1A7:
                        /* MacOS 9.2 boot script:
                         * the XCOFF loader is embedded in the file...
                         */
                    case 0x53A95958:
                        /* iBook 2 restore CD (MacOS X 10.2) */
                        [snip]
                        goto out;
                    case 0x8d5acb86:
                        /* Darwin-7.01
                         * The executable file is embedded after the script
                         */
                        break;

Quite clearly, Open Hack'Ware was aptly named. It seems to have made
no effort to actually -execute- the CHRP boot-script, and instead just
do whatever would be necessary to get specific OSes working. Blech.

- Steven



More information about the OpenBIOS mailing list