Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

fluidhd

macrumors member
Original poster
May 29, 2022
37
1
Hi,

I have managed to successfully install debian ppc64 in a qemu VM on x86_64 (plan is to transplant the image back to ppc64 when done)

when using ppc qemu on x86_64 on Linux, it uses OpenFirmware, but it's not the apple version of OpenFirmware, i think it's catering more to the IBM side of OpenFirmware

If however, I pass through a hard drive with a working install of MacOS PPC to the PPC64 QEMU (using same config that installs/boots Debian ppc64) it will never boot

OpenFirmware just outputs a message saying the drive isn't boot-able

Is anyone aware of a way to make this work?

Thanks
 
when using ppc qemu on x86_64 on Linux, it uses OpenFirmware, but it's not the apple version of OpenFirmware, i think it's catering more to the IBM side of OpenFirmware
Propabably does not have an Apple_Bootstrap HFS partition to boot from if it thought it was being installed on an IBM PPC64 machine instead of a G5.
 
Propabably does not have an Apple_Bootstrap HFS partition to boot from if it thought it was being installed on an IBM PPC64 machine instead of a G5.
the MacOS HD is straight out of a G5, it boots fine on the G5, I'm just not sure how to get qemu to boot it?

Maybe there is somekind of bootloader change I need to Make in QEMU?

Below is the virt-manager config that I use and works for Debian PPC64

<domain type="qemu">
<name>Debian-ppc64</name>
<uuid>658a51d6-05ac-4d08-a137-6cb3d6d4deaf</uuid>
<metadata>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:eek:s id="http://voidlinux.org/voidlinux/rolling"/>
</libosinfo:libosinfo>
</metadata>
<memory unit="KiB">6291456</memory>
<currentMemory unit="KiB">6291456</currentMemory>
<vcpu placement="static">4</vcpu>
<os>
<type arch="ppc64" machine="pseries-2.12-sxxm">hvm</type>
<boot dev="hd"/>
<bootmenu enable="yes"/>
</os>
<cpu mode="custom" match="exact" check="none">
<model fallback="forbid">POWER8</model>
</cpu>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-ppc64</emulator>
<disk type="file" device="disk">
<driver name="qemu" type="qcow2"/>
<source file="/XX/XX/XX/XX/XX/DebianPPC64.qcow2"/>
<target dev="sda" bus="scsi"/>
<address type="drive" controller="0" bus="0" target="0" unit="0"/>
</disk>
<controller type="usb" index="0" model="qemu-xhci" ports="15">
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</controller>
<controller type="scsi" index="0" model="virtio-scsi">
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
</controller>
<controller type="pci" index="0" model="pci-root">
<model name="spapr-pci-host-bridge"/>
<target index="0"/>
</controller>
<controller type="virtio-serial" index="0">
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
</controller>
<controller type="sata" index="0">
<address type="pci" domain="0x0000" bus="0x00" slot="0x08" function="0x0"/>
</controller>
<serial type="pty">
<target type="spapr-vio-serial" port="0">
<model name="spapr-vty"/>
</target>
<address type="spapr-vio" reg="0x30000000"/>
</serial>
<console type="pty">
<target type="serial" port="0"/>
<address type="spapr-vio" reg="0x30000000"/>
</console>
<channel type="unix">
<target type="virtio" name="org.qemu.guest_agent.0"/>
<address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
<channel type="spicevmc">
<target type="virtio" name="com.redhat.spice.0"/>
<address type="virtio-serial" controller="0" bus="0" port="2"/>
</channel>
<input type="mouse" bus="usb">
<address type="usb" bus="0" port="2"/>
</input>
<input type="keyboard" bus="virtio">
<address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0"/>
</input>
<input type="keyboard" bus="usb">
<address type="usb" bus="0" port="1"/>
</input>
<graphics type="spice" autoport="yes">
<listen type="address"/>
<image compression="off"/>
</graphics>
<audio id="1" type="spice"/>
<video>
<model type="bochs" vram="16384" heads="1" primary="yes"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/>
</video>
<memballoon model="virtio">
<address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/>
</memballoon>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
<address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0"/>
</rng>
<panic model="pseries"/>
</devices>
</domain>
 
Below is the virt-manager config that I use and works for Debian PPC64
When I run Mac OS X for PPC in QEMU I set the emulated machine to mac99. (Yours is set to pseries-2.12-sxxm.)
Also check this howto for getting Tiger for PPC to run in QEMU. The config might be good for Leopard too.
 
Last edited:
Propabably does not have an Apple_Bootstrap HFS partition to boot from if it thought it was being installed on an IBM PPC64 machine instead of a G5.
Maybe I’m misunderstanding, but you can’t install Mac OS X on an IBM pSeries, or can you? :)
 
Last edited:
Thanks again, I still haven't got round yet to trying to match my settings to the above guide

I did notice yesterday that the working debian ppc64 qemu install had a Prep partition not a Apple bootstrap partition

And that made me wonder, can a g5 powermac boot a hd with a prep partition instead of apple bootstrap? I'd try it myself but I don't have enough spare drives
 
What I forgot to ask, is there a hard drive partion map scheme that would boot in g5 powermac and would also boot in a non apple ibm ppc64 device?
 
What I forgot to ask, is there a hard drive partion map scheme that would boot in g5 powermac and would also boot in a non apple ibm ppc64 device?
Unofficially the latest revisions of OpenFirmware can boot on GPT, but I din't know about the IBM machines boot partition support, so probably the best it's to find some documentation related.
 
  • Like
Reactions: Amethyst1
Out of curiosity, are there any opensource or 3rd party firmware that replaces the apple implementation of Openfirmware? I noticed coreboot has some ppc64 support in it's repo, but I'm guessing that will likely be for ibm hardware
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.