QEMU/PowerPC: Difference between revisions

From Computernewb Wiki
Jump to navigation Jump to search
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 114: Line 114:
Finally, boot QEMU with the following arguments:
Finally, boot QEMU with the following arguments:


<pre>qemu-system-ppc -M 40p -bios q40pofw-serial.rom -serial telnet::4441,server -hda aix.qcow2 -vga none -nographic -net none -cdrom Volume_1.iso</pre>
<pre>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</pre>


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


Telnet into port 4441 and begin the installation.
Telnet into port 4441 and begin the installation.
Line 130: Line 130:
Boot QEMU with these arguments:
Boot QEMU with these arguments:


<pre>qemu-system-ppc -M 40p -bios q40pofw-serial.rom -serial telnet::4441,server -hda aix.qcow2 -nic user -vga none -nographic -cdrom AIX_CD_1.iso</pre>
<pre>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</pre>


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


Telnet into port 4441 and begin the installation.
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 [http://landley.net/aboriginal/downloads/binaries/system-image-powerpc-440fp.tar.gz this image] (you may have to right click and hit "Save Link"), extracting it, and booting QEMU with this:
<pre>qemu-system-ppc -kernel linux -initrd rootfs.cpio.gz -M bamboo -netdev user,id=u1 -device rtl8139,netdev=u1 -vga none -nographic</pre>
===PowerMAC family boards (g3beige, mac99)===
[[File:PowerMac G4.jpg|thumb|250px]]
<code>g3beige</code> emulates a G3 PowerMac, whereas <code>mac99</code> emulates the G4 PowerPC Macs. It is recommended to use <code>mac99</code> 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:
{| class="wikitable"
|-
! 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
|-
|}
====Current OS compatibility sheet====
{| class="wikitable"
|-
! Operating system
! Status
! Notes
|-
| Mac OS 8.0 - 8.6
| Not working
|
|-
| Mac OS 9.0
| Working
| Only 9.0.4 boots, needs install image for the G4 Cube
|-
| Mac OS 9.1
| Working
|
|-
| Mac OS 9.2
| Working
| [[QEMU/Guests/Mac OS 9|See this page for detailed install instructions]]
|-
| Mac OS X 10.0 "Cheetah"
| Working
|
|-
| Mac OS X 10.1 "Puma"
| Working
|
|-
| Mac OS X 10.2 "Jaguar"
| Working
|
|-
| Mac OS X 10.3 "Panther"
| Working
|
|-
| Mac OS X 10.4 "Tiger"
| Working
|
|-
| Mac OS X 10.5 "Leopard"
| Working
| Boot with  -M mac99,via=pmu
|-
| Mac OS X Server 1.0
| Working
| Networking does not work
|-
| Debian 10 "Buster"
| Working
| Use flag <code>-g 1024x768x8</code>
|-
| Lubuntu 16.04
| Working
| Color is inverted on older QEMU versions; use flag <code>-g 1024x768x8</code>
|-
| Yellow Dog Linux 6.2
| Working
| Use flag <code>-g 1024x768x8</code>, flag <code>-device rtl8139</code> for network
|-
| Ubuntu 12.04
| Working
| [[QEMU/Guests/Ubuntu 12.04 (PowerPC)|See this page for detailed install instructions]]
|-
|}

Latest revision as of 03:13, 7 April 2023

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

Current OS compatibility sheet

Operating system Status Notes
Mac OS 8.0 - 8.6 Not working
Mac OS 9.0 Working Only 9.0.4 boots, needs install image for the G4 Cube
Mac OS 9.1 Working
Mac OS 9.2 Working See this page for detailed install instructions
Mac OS X 10.0 "Cheetah" Working
Mac OS X 10.1 "Puma" Working
Mac OS X 10.2 "Jaguar" Working
Mac OS X 10.3 "Panther" Working
Mac OS X 10.4 "Tiger" Working
Mac OS X 10.5 "Leopard" Working Boot with -M mac99,via=pmu
Mac OS X Server 1.0 Working Networking does not work
Debian 10 "Buster" Working Use flag -g 1024x768x8
Lubuntu 16.04 Working Color is inverted on older QEMU versions; use flag -g 1024x768x8
Yellow Dog Linux 6.2 Working Use flag -g 1024x768x8, flag -device rtl8139 for network
Ubuntu 12.04 Working See this page for detailed install instructions