QEMU/Guests/Mac OS 9: Difference between revisions

no edit summary
No edit summary
<pre>qemu-system-ppc -M mac99 -m 512 -hda macos9.img -cdrom /path/to/macos-9-cd.iso -netdev user,id=mynet -device sungem,netdev=mynet -device usb-mouse -device usb-kbd -boot d</pre>
 
A breakdown of this command: <code>qemu-system-ppc</code> is the name of the QEMU emulator, of course. <code>-M mac99</code> tells it to emulate a "Mac99" model (which is a G4 Mac). QEMU also supports a Beige PowerMac G3. You can type <code>-M ?</code> for a full list. <code>-m 512</code> adds 512 MB of RAM to the machine. The system becomes prettyreally unstable with more than 1 GB of RAM so I recommend setting this to about 896 MB (the maximum supported by Mac OS 9) at most. <code>-hda macos9.img</code> is the hard drive. <code>-cdrom /path/to/macos-9-cd.iso</code> adds a CDrom drive, which needs to be changed to point to the Mac OS ISO. <code>-netdev user,id=mynet</code> adds a virtual "user" network and sets up some network configuration. It'll also attach to your host's LAN. <code>-device sungem,netdev=mynet</code> adds a virtual NIC (in this case, a SunGEM network card) and assigns it to the virtual network specified before. <code>-device usb-mouse</code> and <code>-device usb-kbd</code> add a USB mouse and keyboard which will allow for much better input (especially if you are hosting this on [[CollabVM]]). And finally, <code>-boot d</code> tells the machine to boot from the CD-ROM drive.
 
If you are installing Mac OS 9.0 or 9.1, you will also need to add <code>-cpu G3</code> to the flags for it to work.
 
===Sound===
Unfortunately, the stock QEMU does not come with proper sound drivers. We will need to build a fork of QEMU that comes with the sound card drivers. This section will be technically advanced and is only recommended for more
experienced users. The instructions may change depending on your OS.
 
====Compiling on macOS====
First things first, this requires Homebrew. If you don't have it, install it by following the guide [https://brew.sh/ on the official website].
 
Clone the source code tree onto your hard drive like so:
 
<pre>git clone --recursive -b screamer https://github.com/mcayland/qemu.git qemu-screamer
 
cd qemu-screamer/</pre>
 
Then, install all the build dependencies through Homebrew:
 
<pre>brew install libffi gettext glib pkg-config autoconf automake pixman ninja meson gnutls jpeg libpng libslirp libssh libusb lzo ncurses nettle snappy vde</pre>
 
Now, <code>cd</code> into the folder. We are going to configure the build. We are only going to compile the PowerPC version of QEMU to save time, though if you want to build every version of QEMU, just remove the <code>--target-list="ppc-softmmu"</code> flag from the very end. Execute the following command:
 
<pre>PKG_CONFIG_PATH="$(brew --prefix)/opt/ncurses/lib/pkgconfig" ./configure --target-list="ppc-softmmu"</pre>
 
Finally, build QEMU:
 
<pre>cd build/
make -j$(sysctl -n hw.ncpu)
</pre>
 
Afterwards, you'll find the proper <code>qemu-system-ppc</code> in the <code>build/</code> folder.