Documentation/Platforms/PowerPC: Difference between revisions

From QEMU
No edit summary
Line 65: Line 65:


==== Mac OS X Server 1.2v3 ====
==== Mac OS X Server 1.2v3 ====
Installation requires several steps:
Step 1: boot from installation CD, use disk utility to partition disk as Apple Server, quit Qemu and reboot with command line in step 2.
  ./qemu-system-ppc -L pc-bios -boot d -M mac99,via=pmu-adb -m 256 -net none -prom-env "auto-boot?=true" -prom-env "vga-ndrv?=true" -prom-env "boot-args=-v" -sdl -cdrom OSXServer1.2v3.iso -hda OSXServer1.2v3.qcow2


Step 2: initial installation (note machine and CPU, otherwise no desktop is shown).
  ./qemu-system-ppc -L pc-bios -boot d -M g3beige -cpu G3 -m 256 -prom-env "boot-args=-v" -prom-env "auto-boot?=false" -net none -sdl -hda OSXServer1.2v3.qcow2 -cdrom OSXServer1.2v3.iso


At the boot prompt enter "boot cd:9,\\:tbxi" Initial installation starts. Quit Qemu after completion.


Step 3: Installation continued. Boot with the following command line to complete the installation.
  ./qemu-system-ppc -L pc-bios -boot c -M g3beige -cpu G3 -m 256 -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -net none -sdl -hda OSXServer1.2v3.qcow2 -cdrom OSXServer1.2v3.iso


Step 4: Boot the installed system:
  ./qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu-adb -m 256 -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -net none -sdl -hda OSXServer1.2v3.qcow2 -cdrom OSXServer1.2v3.iso


<h2>Mac OS 9 Debugging tips</h2>
<h2>Mac OS 9 Debugging tips</h2>

Revision as of 10:01, 23 June 2018

PowerPC Macintosh Emulator

Description

An emulator of the Apple Beige Power Mac G3 and Sawtooth Power Mac G4.

Guest Compatibility


Note: information based on QEMU builds from 23-06-2018

Operating SystemStatus
Mac OS 8.0 to 8.6Not supported
Mac OS 9.09.0.4 with rom version 5.6 and above (e.g., 9.0.4 for the Cube) boot.
Mac OS 9.1Boots and installs
Mac OS 9.2Boots and installs
Mac OS 10.0Boots and installs
Mac OS 10.1Boots and installs
Mac OS 10.2Boots and installs
Mac OS 10.3Boots and installs
Mac OS 10.4 Boots and installs
Mac OS 10.5 Boots and installs
Debian Linux 5Boots and installs
Ubuntu Linux 5Severe video corruption prevents using it
Lubuntu 12.04Boots live CD and installs, but installation does not boot

Build Directions

 ./configure --target-list=ppc-softmmu && make

Guest Installations

Mac OS/Mac OSX

Mac OS 9.x

Command-line options to install Mac OS 9:

 ./qemu-system-ppc -M mac99,via=pmu -m 512 -hda <hd image file> -cdrom <iso file of installation media> -boot d -netdev user,id=mynet0 -device sungem,netdev=mynet0

Mac OS 10.X

Command-line options to install Mac OS 10.X:

 ./qemu-system-ppc -M mac99,via=pmu -m 512 -hda <hd image file> -cdrom <iso file of installation media> -boot d -netdev user,id=mynet0 -device sungem,netdev=mynet0

Mac OS X Server 1.2v3

Installation requires several steps: Step 1: boot from installation CD, use disk utility to partition disk as Apple Server, quit Qemu and reboot with command line in step 2.

 ./qemu-system-ppc -L pc-bios -boot d -M mac99,via=pmu-adb -m 256 -net none -prom-env "auto-boot?=true" -prom-env "vga-ndrv?=true" -prom-env "boot-args=-v" -sdl -cdrom OSXServer1.2v3.iso -hda OSXServer1.2v3.qcow2

Step 2: initial installation (note machine and CPU, otherwise no desktop is shown).

 ./qemu-system-ppc -L pc-bios -boot d -M g3beige -cpu G3 -m 256 -prom-env "boot-args=-v" -prom-env "auto-boot?=false" -net none -sdl -hda OSXServer1.2v3.qcow2 -cdrom OSXServer1.2v3.iso

At the boot prompt enter "boot cd:9,\\:tbxi" Initial installation starts. Quit Qemu after completion.

Step 3: Installation continued. Boot with the following command line to complete the installation.

 ./qemu-system-ppc -L pc-bios -boot c -M g3beige -cpu G3 -m 256 -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -net none -sdl -hda OSXServer1.2v3.qcow2 -cdrom OSXServer1.2v3.iso

Step 4: Boot the installed system:

 ./qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu-adb -m 256 -prom-env "boot-args=-v" -prom-env "auto-boot?=true" -net none -sdl -hda OSXServer1.2v3.qcow2 -cdrom OSXServer1.2v3.iso

Mac OS 9 Debugging tips

Macsbug can be used to tell you what exactly stopped booting. The link for it is below.
Mac OS 9.2 comes with a built-in debugger. To use it, set the OpenBIOS variable &#147;APPL,debug&#148;:

Via QEMU's command-line options:

 -prom-env aapl,debug=2000000

In OpenBIOS type:
dev /
2000000 encode-int *Note: the number can be replaced with the many options available
&#147; AAPL,debug&#148; property
then to boot from a cd type:
boot cd:,\\:tbxi

To boot from a hard drive image:
boot hd:,\\:tbxi

Emulated hardware issues

Linux is able to use a wide variety of emulated hardware available to QEMU. Sound and networking devices work well with it.

Mac OS 9 and Mac OS X both do not play sound well. This might be a speed problem with the floating point unit. The usb-audio device is the only sound device that works. Networking does work with the RTL8139 and usb-net devices only. QEMU v2.7 does not come with the needed sungem network interface card needed by Mac OS 9.

Links

Google Summer of Code Discussion for Mac OS 9
Macsbug 6.6.3 - debugger for Mac OS 9
Darwin OS installation iso file
JQEMU - graphical manager for QEMU (requires Java)
PowerPC Assembly Language Tutorial
QEMU PowerPC mailing list
Beige Power Mac G3 info
Sawtooth Power Mac G4 info

Pictures


Project Builder running inside of QEMU Pong 2001 Carbon

Norton Utilities Host and Guest About Dialogs
Mac OS 9 with Graphing Calculator running Doom running in Mac OS 9.2


How do I help

QEMU has many systems that can always be improved. Here is a brief list of possible areas you may want to work on:

  • Documentation
  • Testing
  • Fixing operating system compatibility issues
  • PowerPC emulation
  • User interface
  • OpenBIOS (firmware)
  • Implement a sound card that is compatible with Mac OS 9 and Mac OS X. The usb-audio device is the closest to working on the Mac OS.
  • Implement a 3D video card
  • Improve various hardware (via-cuda, ata controller, etc..)


Knowledge in these areas could help:

  • PowerPC Assembly
  • 68K Assembly
  • Embedded Programming

Contacts

Maintainer: David Gibson david@gibson.dropbear.id.au
If there are any issues with this page, please contact me