Documentation/Platforms/PowerPC
PowerPC Macintosh Emulator
QEMU Installation Directions for Mac OS X, Windows, and Linux
Guest Compatibility
Operating System | Status |
Mac OS 8.0 to 8.6 | Unknown |
Mac OS 9.0 | Unknown |
Mac OS 9.1 | Does not boot |
Mac OS 9.2 | Boots - but several extensions need to be removed because of crashing |
Mac OS 10.0 | Does not successfully boot |
Mac OS 10.1 | Untested |
Mac OS 10.2 | Successfully boots and installs |
Mac OS 10.3 | Can boot, unknown if it installs |
Mac OS 10.4 | Can boot, but doesn't install |
Mac OS 10.5 | Untested |
Debian Linux 5 | Boots and installs |
Ubuntu Linux 5 | Severe 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’t supported.
Booting from the mac99 target ends with the message “Still waiting for root device” 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 “APPL,debug”:
In OpenBIOS type:
dev /
2000000 encode-int *Note: the number can be replaced with the many options available
“ AAPL,debug” 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
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