Documentation/Platforms/PowerPC

From QEMU
Revision as of 03:37, 13 December 2015 by Programmingkid (talk | contribs)

PowerPC Macintosh Emulator


QEMU Installation Directions for Mac OS X, Windows, and Linux


Guest Compatibility

Operating SystemStatus
Mac OS 8.0 to 8.6Unknown
Mac OS 9.0Unknown
Mac OS 9.1Does not boot
Mac OS 9.2Boots - but several extensions need to be removed because of crashing
Mac OS 10.0Does not successfully boot
Mac OS 10.1Untested
Mac OS 10.2Successfully boots and installs
Mac OS 10.3Can boot, unknown if it installs
Mac OS 10.4Can boot, but doesn't install
Mac OS 10.5Untested
Debian Linux 5Boots and installs
Ubuntu Linux 5Severe video corruption prevents using it


Guest Installation

Mac OS 10.2
Booting from the installation media does work. The beigeg3 target works very well with this operating system.
It is suggested that your initial hard drive image file be at least 5GB in size.

This is the suggested command line options to install Mac OS 10.2:

 ./qemu-system-ppc -hdd <hd image file> -m 400 -prom-env boot-args=-v -cdrom <iso file of installation media> -boot d


Mac OS 10.4
Mac OS 10.4 installation CD does not support the beigeg3 target. It will boot up, but a error dialog will say this machine isn&#146;t supported.
Booting from the mac99 target ends with the message &#147;Still waiting for root device&#148; being printed repeatedly.
It is still possible to make Mac OS 10.4 work in QEMU. I installed Mac OS 10.4 onto a flash drive from a PowerPC Macintosh. Then using Disk Utility to make an image file of the flash drive made a bootable image file for QEMU. The format of the flash drive has to be Mac OS Extended Journaled (HFS+ journaled). If the image file is a .dmg file, replace the extension with .img to make it work in QEMU.
This is the suggested command-line options to run Mac OS 10.4:

 ./qemu-system-ppc -hdd <hd image file> -m 512 -prom-env boot-args=-v -boot c

If you wish to access the internet thru the Mac OS 10.4 guest, you can by adding this to your QEMU command-line options:

 -netdev user,id=mynet0 -device usb-net,netdev=mynet0


Mac OS 9
As of December 2015, Mac OS 9.2.1 cannot boot successfully into QEMU. Part of the reason is due to issues with OpenBIOS. The other reasons may be related to PowerPC emulation issues. There are ready-made image files and other helpful hints here.
Mac OS 9 is able to boot to the desktop if these extensions are removed:

  • Apple Audio Extension
  • Apple Enet
  • Multiprocessing folder
  • Open Transport aslm modules
  • Text Encoding Converter


A custom version of OpenBIOS is need to boot Mac OS 9. Use it like this:-bios <path>/openbios-ppc
Turn off networking because it causes Mac OS 9 to crash: -net none

This is the suggested options to use to run Mac OS 9:

 ./ppc-softmmu/qemu-system-ppc -bios <path>openbios-ppc -boot d -cdrom <path>os92_test.iso -M mac99 -m 512 -cpu G3 -net none


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;:

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

Useful 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)

Pictures


Project Builder running inside of QEMU Pong 2001 Carbon

Norton Utilities Host and Guest About Dialogs

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
  • Implement a network interface card that is compatible with Mac OS 9 and Mac OS X. The rtl8139 is already implemented and might need a few tweaks to work in the Mac OS.
  • Improve various hardware (via-cuda, ata controller, etc..)


Knowledge in these areas could help:

  • PowerPC Assembly
  • 68K Assembly
  • Embedded Programming


Contact

If there are any issues with this page, please contact me

Last Updated: December 12, 2015