QEMU/PowerPC

Revision as of 19:43, 6 April 2023 by Dartz (talk | contribs)

QEMU can emulate the PowerPC architecture. It is able to emulate several machines which can each run a handful of operating systems, which will be documented below.

Platforms

The following machines can be emulated. To see a full list type qemu-system-ppc --M help.

Model Name Notes
40p IBM RS/6000 7020 (40p) (1990) Can run some versions of AIX
bamboo bamboo board First PowerPC machine emulated by QEMU
g3beige Heathrow based PowerMAC (1997)
mac99 Mac99 based PowerMAC (1999) Can run Mac OS 9.2 - 10.5 and some Linux distros
mpc8544ds Mpc8544ds dev board
none Empty machine
pegasos2 Genesi/bPlan Pegasos II Can run AmigaOS 4.1 and some other Amiga-like OSes
ppce500 Generic paravirt e500 platform
ref405ep ref405ep Needs a file named ppc405_rom.bin which does not seem to be available anymore
sam460ex aCube Sam460ex Can run AmigaOS 4.1 FE and some others
virtex-ml507 Xilinx Virtex ML507 reference design

Machines

IBM RS/6000 7020 (40p)

 

Workstation from ~1994. QEMU emulates the following peripherals for this machine:

  • PCI bridge
  • PCI VGA compatible card with VESA Bochs Extensions
  • 2 IDE interfaces with hard disk and CD-ROM support
  • Floppy disk
  • PCnet network adapters
  • Serial port
  • PREP Non Volatile RAM
  • PC compatible keyboard and mouse.

To start a very simple emulation that'll boot into OpenBIOS:

qemu-system-ppc -M 40p -boot c

Current OS compatibility sheet

Operating system Status Notes
AIX 3.2 Not working OS hangs indefinitely
AIX 4.3 Working
AIX 5.1 Working The PCnet driver does not work in this OS; seems to be a bug
with the emulation
Windows NT 3.51 SP5 Not working Incompatible with OpenBIOS
Windows NT 4.0 RTM Not working Incompatible with OpenBIOS

Guest installation instructions

AIX 4.3

To boot AIX you need a custom BIOS with serial as the console. Fortunately Artyom Tarasenko has done the hard work for us and made a BIOS that works with QEMU. Download it using wget or similar:

wget https://github.com/artyom-tarasenko/openfirmware/releases/download/40p-20190413/q40pofw-serial.rom

Then create the hard disk image:

qemu-img create -f qcow2 aix.qcow2 8G

You can download the AIX 4.3.3 CDs from WinWorldPC: https://winworldpc.com/product/aix/43x

Finally, boot QEMU with the following arguments:

qemu-system-ppc -M 40p -bios q40pofw-serial.rom -serial telnet::4441,server -hda aix.qcow2 -vga none -nographic -net none -cdrom /path/to/AIX_4.3/Volume_1.iso

If you have a physical CD, you can replace -cdrom /path/to/AIX_4.3/Volume_1.iso with -cdrom /dev/sr0.

Telnet into port 4441 and begin the installation.

AIX 5.1

Mostly the same as 4.3. Again, you need to download a custom BIOS with serial as the console. The link for that is in the above section.

Create the hard disk image:

qemu-img create -f qcow2 aix.qcow2 8G

You can download AIX 5.1 CDs from WinWorld (you only need the first 3 CDs): https://winworldpc.com/product/aix/51

Boot QEMU with these arguments:

qemu-system-ppc -M 40p -bios q40pofw-serial.rom -serial telnet::4441,server -hda aix.qcow2 -nic user -vga none -nographic -cdrom /path/to/AIX_5.1_CD_1.iso

If you have a physical CD, you can replace -cdrom /path/to/AIX_5.1_CD_1.iso with -cdrom /dev/sr0.

Telnet into port 4441 and begin the installation.

Bamboo

PPC440 embedded board, was initially used for KVM on the PPC440 (which has since been removed.) You can boot a Linux kernel on this board by downloading this image (you may have to right click and hit "Save Link"), extracting it, and booting QEMU with this:

qemu-system-ppc -kernel linux -initrd rootfs.cpio.gz -M bamboo -netdev user,id=u1 -device rtl8139,netdev=u1 -vga none -nographic

PowerMAC family boards (g3beige, mac99)

 

g3beige emulates a G3 PowerMac, whereas mac99 emulates the G4 PowerPC Macs. It is recommended to use mac99 in almost all cases unless it's for a compatibility reason. QEMU emulates the following peripherals for these machines:

  • UniNorth or Grackle PCI Bridge
  • PCI VGA compatible card with VESA Bochs Extensions
  • 2 PMAC IDE interfaces with hard disk and CD-ROM support
  • NE2000 PCI adapters
  • Non Volatile RAM
  • VIA-CUDA with ADB keyboard and mouse.

Like the 40p, both machines use OpenBIOS, which is capable of booting almost every version of PowerPC MacOS.

Some options that can be used with mac99 are:

Flag What it provides
-M mac99,via=pmu Power Management Unit, provides USB mouse and keyboard
-M mac99,via=pmu-adb Power Management Unit with ADB bus, should be used with older OSes that don't have USB support
-M mac99,via=cuda CUDA power management with ADB bus. Default