Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Power PC Virtual Machine?

Featured Replies

I have a few old games from an old power pc mac that I would like to see if I could setup a virtual machine to run.  I know that QEMU  has support for emulating completely different architectures but am completely baffled on how to set one up.  I don't know if the QEMU binary for PPC emulation is included in UNRAID either.

Anyone ever played with this idea or know anything about it?

  • 2 years later...
  • 7 months later...
  • Community Expert
On 1/20/2020 at 4:58 AM, mkfelidae said:

I have a few old games from an old power pc mac that I would like to see if I could setup a virtual machine to run.  I know that QEMU  has support for emulating completely different architectures but am completely baffled on how to set one up.  I don't know if the QEMU binary for PPC emulation is included in UNRAID either.

Anyone ever played with this idea or know anything about it?

Would that be 32bit? 

Nice ! ;)

  • 3 weeks later...

Did anyone tried it yet?

cant get it to work because qemu-System-PPC is still missing 🤔

  • Community Expert
6 minutes ago, daschmc said:

Did anyone tried it yet?

cant get it to work because qemu-System-PPC is still missing 🤔

Binaries are here, which version are you on?

root@computenode:/sbin# ls /usr/bin/qem*
/usr/bin/qemu-aarch64*     /usr/bin/qemu-i386*    /usr/bin/qemu-nbd*        /usr/bin/qemu-riscv64*         /usr/bin/qemu-system-ppc*      /usr/bin/qemu-x86_64*
/usr/bin/qemu-aarch64_be*  /usr/bin/qemu-img*     /usr/bin/qemu-ppc*        /usr/bin/qemu-storage-daemon*  /usr/bin/qemu-system-riscv32*
/usr/bin/qemu-edid*        /usr/bin/qemu-io*      /usr/bin/qemu-pr-helper*  /usr/bin/qemu-system-aarch64*  /usr/bin/qemu-system-riscv64*
/usr/bin/qemu-ga*          /usr/bin/qemu-keymap*  /usr/bin/qemu-riscv32*    /usr/bin/qemu-system-i386*     /usr/bin/qemu-system-x86_64*

 

6.11.1

 

Linux 5.19.14-Unraid.
root@Tower:~# /sbin# ls /usr/bin/qem*
-bash: /sbin#: No such file or directory
root@Tower:~# 
 

  • 5 weeks later...
On 10/28/2022 at 9:16 PM, daschmc said:

I'm running 6.11.3 and no such qemu files list on my machine.

 

On 10/28/2022 at 10:16 PM, daschmc said:

6.11.1

 

Linux 5.19.14-Unraid.
root@Tower:~# /sbin# ls /usr/bin/qem*
-bash: /sbin#: No such file or directory
root@Tower:~# 
 

All good on 6.11.5 for me.  Can't comment on earlier versions.

 

image.thumb.png.f633b70610fb080ca8bfc34652ea3d8d.png

OK, following your commands in terminal I got the same result, the files exist. I was trying to navigate to usr/bin/qemu* with krusader docker before.

 

Trying to build a template. What am I missing here?

failed creation.JPG

And if I try just ppc, I get this. 

ppc failed.JPG

Can you post your MacOS 9.2.2 XML configuration ?

How did you build this template ?

Edited by PicPoc

  • Community Expert
9 minutes ago, sasdakota said:

And if I try just ppc, I get this. 

ppc failed.JPG

You need to change the emulator part in the XML to be the PPC binary.

 

  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>

4 minutes ago, SimonF said:

You need to change the emulator part in the XML to be the PPC binary.

 

  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>

What do you suggest I change it to? If I try qemu-system-ppc it gives me no such file or directory error.

Here is my failed ppc XML. It is a heavily modified winXP template.

 

failed ppc.xml

UPDATE:

 

I got through the errors and was able to update the XML. However when I go to boot the machine this error comes up. Here is the current XML revision and error.

Almost booted.JPG

Almost booted.xml

I am stuck here. Need to read up on how qemu uses openbios-ppc and why CLI under linux works but UNRAID template does not.

  • Community Expert
8 minutes ago, sasdakota said:

I am stuck here. Need to read up on how qemu uses openbios-ppc and why CLI under linux works but UNRAID template does not.

Have you tried using virsh to convert cli to xml?

 

domxml-from-native¶
Syntax:

domxml-from-native format config
Convert the file config in the native guest configuration format named by format to a domain XML format. For QEMU/KVM hypervisor, the format argument must be qemu-argv. For Xen hypervisor, the format argument may be xen-xm, xen-xl, or xen-sxpr. For LXC hypervisor, the format argument must be lxc-tools. For VMware/ESX hypervisor, the format argument must be vmware-vmx. For the Bhyve hypervisor, the format argument must be bhyve-argv.

 

I have not looked into that. It seems that this is something related to the nvram function where the VM wants to store variable data. I thought maybe the machine would create this file on first start up but so far no joy.

 

Would love to get more eyes on this, the last XML I posted has gotten me the closest. I am for now trying to use emaculation's posted QEMU 9.2.2 image. Tested the image to work under ubuntu with qemu-ppc installed.

Thank you, I looked at your XML template and you went much further than me. I thought there would have been a template for Mac OS 8 or 9 but probably everything has to be done or there is a rights problem. I will try to work on the subject but it is beyond my current skills.

:(

  • 2 weeks later...

I decided to build a real MacOS9 machine. Just ordered an Apple MDD DP1.42 machine to setup dual boot on 9.2.2/10.5.8

Might come back to this one day, but for now I will limit the VM's to Windows and Intel MacOS.

I have an Apple MDD MD 1,25 but I will use MacOS 9.22 on a VM for differents tests.

VMs configurations are not easy :(

This topic will still be followed...

This is my latest configuration. Manually added "pc-bios" folder from Qemu GitHub repository to "/usr/bin". But still no boot. "OpenBios" quotes "No valid state has been set by load or init-program". Tried it 1000x times with different configurations, read Libvirt references, used UTM configurations but I don't know what is missing 😕

(The image I'm using boots perfectly on Unraid when starting from shell)

./qemu-system-ppc -L /usr/bin/pc-bios -M mac99 -device VGA,edid=on -prom-env 'auto-boot?=true' -prom-env 'vga-ndrv?=true' -boot c -drive file=/mnt/user/isos/QEMUclean.img,format=qcow2,media=disk -drive file=/mnt/user/isos/Universal_Toolbox.toast,format=raw,media=cdrom -spice port=5900,addr=127.0.0.1,disable-ticketing

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>macosx10.0-ppc</name>
  <uuid>69d674e8-e498-469b-8a90-76bcf1c2a753</uuid>
  <memory unit='KiB'>65536</memory>
  <os>
    <type arch='ppc' machine='mac99'>hvm</type>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-ppc</emulator>
    <graphics type='spice' autoport='yes'>
      <listen type='address'/>
      <image compression='off'/>
      <gl enable='no'/>
    </graphics>
    <audio id='1' type='none'/>
    <video>
      <model type='virtio' heads='1' primary='yes'>
        <acceleration accel3d='no'/>
      </model>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-L'/>
    <qemu:arg value='/usr/bin/pc-bios'/>
    <qemu:arg value='-M'/>
    <qemu:arg value='mac99,via=cuda'/>
    <qemu:arg value='-m'/>
    <qemu:arg value='64'/>
    <qemu:arg value='-boot'/>
    <qemu:arg value='c'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='ide-hd,bus=ide.0,drive=drive1,bootindex=0'/>
    <qemu:arg value='-drive'/>
    <qemu:arg value='if=none,media=disk,id=drive1,file=/mnt/user/YOURIMAGE.qcow2,discard=unmap,detect-zeroes=unmap'/>
    <qemu:arg value='-prom-env'/>
    <qemu:arg value='boot-device=hd:,\\:tbxi'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='VGA,edid=on'/>
    <qemu:arg value='-prom-env'/>
    <qemu:arg value='auto-boot?=true'/>
    <qemu:arg value='-prom-env'/>
    <qemu:arg value='vga-ndrv?=true'/>
    <qemu:arg value='-accel'/>
    <qemu:arg value='tcg,tb-size=128'/>
  </qemu:commandline>
  <qemu:capabilities>
    <qemu:add capability='blockdev'/>
    <qemu:add capability='drive'/>
  </qemu:capabilities>
</domain>

 

Edited by daschmc

What error are you getting with this current configuration?

 

Nevermind, I re-read your post. So you are getting to openfirmware. That is further than me, ill see what I can do with this.

Edited by sasdakota

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.