Documentation/Platforms/PowerPC
PowerPC Macintosh Emulator
QEMU Installation Directions for Mac OS X
System Requirements:
Mac OS 10.5 or higher
The clang compiler shipped with Xcode 4.2 or higher, or GCC 4.3 or higher
Additional Requirements (install in order):
1. libffi: https://sourceware.org/libffi/
2. gettext: http://www.gnu.org/software/gettext/
3. glib: http://ftp.gnome.org/pub/GNOME/sources/glib/
4. pkg-config: http://www.freedesktop.org/wiki/Software/pkg-config/
5. autoconf: http://www.gnu.org/software/autoconf/autoconf.html
6. automake: http://www.gnu.org/software/automake/
7. libtool: http://www.gnu.org/software/libtool/
8. pixman: http://www.pixman.org/
- You may find it easiest to get these from a third-party packager such as Homebrew, Macports, or Fink.
After downloading the QEMU source code, double-click it to expand it.
Then configure and make QEMU:
./configure --disable-gtk --disable-sdl --target-list=ppc-softmmu
make
If you have a recent version of Mac OS X (OSX 10.7 or better with Xcode 4.2 or better) we recommend building QEMU with the default compiler provided by Apple, for your version of Mac OS X (which will be 'clang'). The configure script will automatically pick this.
Note: If after the configure step you see a message like this:
ERROR: Your compiler does not support the __thread specifier for Thread-Local Storage (TLS). Please upgrade to a version that does.
you may have to build your own version of gcc from source. Expect that to take several hours. More information can be found here: https://gcc.gnu.org/install/
These are some of the third party binaries of gcc available for download:
Homebrew: http://brew.sh/
• https://www.litebeam.net/gcc/gcc_472.pkg
• http://www.macports.org/ports.php?by=name&substr=gcc
You can have several versions of GCC on your system. To specify a certain version, use the –cc and –cxx options.
./configure --cxx=<path of your c++ compiler> --cc=<path of your c compiler> <other options>
Guest Compatibility
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
Operating System | Status |
Mac OS 9.1 | Does not boot |
Guest Installation
Mac OS 10.2
Booting from the installation media does work. The beigeg3 target works very well with this operating system.
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.
If you wish to access the internet thru the Mac OS 10.4 guest, you can by adding this to QEMU command options:
-net none -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 <A HREF="http://www.emaculation.com/forum/viewtopic.php?f=34&t=7047&sid=0ef8922b24a51d2a9d546300aea69c64&start=250">here</A>. 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
<A HREF="http://www.emaculation.com/forum/viewtopic.php?f=34&t=7047&sid=67661b0a18610c86b115cdff98d68010">Google Summer of Code Discussion for Mac OS 9</A>
<A HREF="http://www.macgui.com/downloads/?file_id=22125">Macsbug 6.6.3</A> - debugger for Mac OS 9
<A HREF="https://opensource.apple.com/static/iso/">Darwin OS installation iso file</A>s
<A HREF="http://sourceforge.net/projects/jqemu/">JQEMU</A> - graphical manager for QEMU (requires Java)
Pictures
Picture of mac os 10.2 and 10.6’s About dialog
MacPong2001
AppleWorks
Mac OS 9
Debian Linux
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 <A HREF="http://something">contact me</A>.
Last Updated December 5, 2015
</BODY> </HTML>