News:

Window Maker Live 12.12 now available!

Main Menu

Installing Mac OS X Server 1.2v3 (Rhapsody 5.6) in QEMU

Started by Protocol 7, Sep 15, 2025, 07:16 PM

Previous topic - Next topic

Protocol 7

I thought this would be a bit more straightforward but it was quite finicky. So I'm going to detail the installation steps that worked for me.

First off, this only worked for me with QEMU 7. 9 and 10 were painfully slow.

Secondly, sound and networking are not supported.

Finally, shutdown works but restart doesn't. There are a few restarts in this process and all will require you to quit QEMU and run it again.

With that, lets get to it. There are a few stages to the install.

Stage 1

First we need to create a hard disk. This needs to be a flat image, not dynamic.

qemu-img create -f raw -o size=2G osxs12v3.img
Now we boot the CD into Mac OS 9 to format and prep the disk for installation.

qemu-system-ppc -boot d -M mac99 -cpu G3 -m 1024 -net none -display sdl -drive file=osxs12v3.img,format=raw,media=disk -cdrom osxs1.2v3.iso
Once booted, go to the Utilities folder first and use Drive Setup to initialize the hard disk:
Screenshot From 2025-09-15 19-12-13.png
Once complete, quit Drive Setup and run the "Install Mac OS X Server" shortcut.

Pick your desired language and step through the process.

This will end with a fatal error "No boot-device property in device-tree". That's OK, it's because QEMU doesn't have any NVRAM support. Click Quit to dismiss the prompt and click Restart in the next prompt.

QEMU won't restart at this point so you have to shut it down and relaunch it. We'll be using a different command line for this stage.

Stage 2

Now we're at the initial install.

Run QEMU with the following command:

qemu-system-ppc -boot d -M g3beige -cpu G3 -m 1024 -net none -display sdl -prom-env "boot-args=-v" -prom-env "auto-boot?=false" -drive file=osxs12v3.img,format=raw,media=disk -cdrom osxs1.2v3.iso
QEMU will boot to the firmware prompt. Type the following and hit enter:

boot cd:9,\\:tbxi
There will be a little bit of weird screen corruption and then it will boot into a somewhat familiar screen:
Screenshot From 2025-09-15 19-24-02.png
Once it has finished it will try to restart so just close QEMU and run it again. We need to tweak the command line a little for the next stage.

Stage 3

For the final stage of the installation we tweak the command line to auto-boot from the hard disk.

qemu-system-ppc -boot c -M g3beige -cpu G3 -m 1024 -net none -display sdl -prom-env "boot-args=-v" -drive file=osxs12v3.img,format=raw,media=disk -cdrom osxs1.2v3.iso

It will now boot and start installing the remaining packages:
Screenshot From 2025-09-15 19-33-50.png
When this is done it will attempt to restart. Close down QEMU.

That's the installation part complete. You can reuse the same QEMU command line from here on. Though you may want to remove the install CD and take out the verbose boot flag. You can also bump up the display resolution by adding the following switches:

-device VGA,edid=on -g 1024x768x32
Not all resolutions are supported by QEMU. You can find the list in the Monitor panel (Under Computer Settings in the Apple menu). If you choose an invalid one the screen will stay at 640x480. I know this because I thought 1280x1024 was valid and couldn't understand why the screens were stuck at 640x480 when re-doing the installation for this guide...

Stage 4 (Epilogue)

The next reboot will bring up the Setup Assistant which will guide you through a few settings before requiring yet another restart.

Now the system is ready to go. The next time you reboot you will get the login window (if you chose to use this during setup) or the desktop.
Screenshot From 2025-09-15 19-52-24.png


Rhetorica

Quote from: Protocol 7 on Sep 15, 2025, 07:16 PM[four pages of pure gold]

Exquisite—this will be a huge help when it comes to writing up the relevant chapters for Exploring the NeXT user interface.

Previously I managed to boot t-rexky's 1.2v3 disk image—not sure what version of QEMU was involved—which he derived from a hacky G4 cube installation, but the graphics and mouse were a mess. (It looked more or less what you'd expect from a 256-color game using the wrong palette, and the mouse acted similar to VMware's without the driver: it constantly jumped to the top-left corner.) Clearly your graphics are fine. Am I correct in assuming the mouse also works properly?
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

Protocol 7

The mouse moves fine but I had some trouble double-clicking occasionally. Seems to have stopped now.

It's a little flaky all round (I only got the Blue Box to boot once without freezing or bugging out in one way or another) but it's usable for poking around and studying. Can stall and lag a bit now and again.

jeffburg

This is really cool. Thanks for sharing! I assume this technique does not work for NS3.3 or OS4.2? I have heard no one has gotten them working in QEMU.
Grab my app, MathEdit for OpenStep - https://github.com/jeffreybergier/MathEdit
Follow me on Mastodon for Retro Mac Adventures - https://jeffburg.social/@jeff

Protocol 7

Do you mean the Intel versions? I think the issue with running those in QEMU would be its graphics emulation. OS 4.2 might be possible with the VESA driver.

The HP-PA or SPARC emulations can't run them for sure. MAME might be our best bet if someone can work on those systems.

For Intel stuff I use 86Box. It's great. I have NS3.3, OS4.0 PR1 and both Rhapsody DRs in it.

jeffburg

When I do research online, it seems QEMU does not offer a compatible SCSI or IDE controller for OS4.2 or NS3.3. I would love to be proven wrong. I have not tried myself.
Grab my app, MathEdit for OpenStep - https://github.com/jeffreybergier/MathEdit
Follow me on Mastodon for Retro Mac Adventures - https://jeffburg.social/@jeff

marvin

#6
Back in 2006 I installed and ran OpenStep 4.2 in Qemu by starting from this post:

https://web.archive.org/web/20061017132248/http://www.nextcomputers.org/forums/viewtopic.php?t=201

Several patches were required for Qemu 0.8.1 and 0.8.2 and my notes tell my about the following compile line on some 2006 SuSE Linux environment.

./configure --disable-gcc-check --cc=gcc344 --host-cc=gcc344 --prefix=/usr/local/qemu-openstep
Have tried today to compile the patched sources on modern Linux and could, of course, not compile the code any more.

According to my project's README, the image was started with

/usr/local/qemu-openstep/bin/qemu -m 128 -soundhw sb16 -hda os42p4.img -boot c -net nic -net user
The installed image had this features:

QuoteOS 42 Patchlevel 4
+ Developer
+ BusMouse
+ Graphics 800x600 2bit
+ Sound
+ Networking
Sorry for the off-topic.
DON'T PANIC