68kMLA Classic Interface
This is a version of the 68kMLA forums for viewing on your favorite old mac. Visitors on modern platforms may prefer the main site.
| Click here to select a new forum. | | Running the A/UX 3 installer under qemu (and in theory shoebill too) | Posted by: rfc6919 on 2026-02-20 06:21:09 I'd read that the A/UX 3 installer can't be run under qemu due to the lack of floppy support, or under shoebill due to kernel-direct boot. This isn't true for qemu at least but I've never seen instructions anywhere, so in case anyone cares...
The A/UX installer ships as a floppy, but it's just a bootable classic system and doesn't care what media it's running from. To get from zero to a properly installed A/UX 3 under qemu is actually really easy.
- Grab
Apple-Legacy-Nov_1999.iso and APPLE_AUX_3.1.0_FILE_SERVER_WGS95.ISO
- Create a 1GB disk image (luxury!)
- Boot qemu with your disk image at scsi 0 and
Apple-Legacy-Nov_1999.iso at scsi 1
- Launch
Legacy Recovery > Disk Utilities > Formatting Software > Drive Setup 1.7.3
- Initialise your empty 1GB disk at scsi 0, just accept all the defaults and you'll get a 1GB empty disk called
untitled
- Go to
Legacy Recovery > A/UX > AWS 95 Boot Disks 1.1 and open Installation Boot Disk 1.1.img to mount it
- Drag the contents of
Installation Boot Disk over into untitled. You now have a bootable A/UX installer at scsi 0
- Shut down the VM, and replace
Apple-Legacy-Nov_1999.iso with APPLE_AUX_3.1.0_FILE_SERVER_WGS95.ISO at scsi 1
- Boot, and you're in the installer. Easy Install works fine, or custom install and go wild. Note that this will overwrite the (now no longer needed) installer launcher.
- Be aware that reboots from A/UX don't work in qemu, so when it tries to reboot after the installer completes wait for the chime and just kill qemu.
- Launch again, let the first boot do a kernel reconfigure and once again reboot.
- You're in your newly-installed A/UX 3.1. Time to install the 3.1.1 tuneup! (handily included in the legacy recovery CD)
Side protip: if you want to break out of the A/UX launcher to use SASH, but can't because the kernel loads too fast, add something like throttling.iops-total=100 to the cdrom -drive option to make the emulated cdrom suck really hard.
As for Shoebill, it should work but I can't for the life of me work out what I'm doing wrong.
The A/UX installer is just a plain old normal A/UX hybrid app running under startmac, so of course we can run it. But how? What's the difference between the loader on the installer disk and the loader in a normal installed mac boot partition? A couple of things, but in the end the installer sets root_partition to 6, while the normal boot sets root_partition to 0. What's root_partition? It's a field in struct kernel_info, which is where the loader passes the kernel the info it needs to bring the system up. Scsi controller and id, location of text/data/bss in physical RAM, where to swap. And root_partition, the slice number to use for root.
If you look at the installer CD partition table there's all the normal APM junk, and 3 A/UX specific partitions. There's Root & Usr slice 0, which is the one you boot into if you use the CD as a bootable disk. There's a swap slice (strange since it's not like you're going to swap off a cdrom but I guess the kernel gets all sad if no swap slice exists). And there's a mysterious Free Unix slice 6 that's even bigger than slice 0. Mount it, and it's another A/UX root filesystem with an ARCHIVES directory holding the install packages, and a /mac/sys/InstallFolder/AUXInstaller that is indeed the installer.
Shoebill unconditionally loads the kernel from and sets root_partition to 0... So we just need to load our kernel from slice 6 instead, set root_partition to 6, and job done we can do a proper A/UX install under shoebill, right? Yeah in theory but when I patch shoebill to do that it still roots from the usual Root & Usr slice 0. Weird, I guess I'm missing something but I'm not sure what. | Posted by: rfc6919 on 2026-02-21 22:05:02 And shoved to github now, a little wrapper for qemu that handles basic q800 config and lets you shuffle devices around more easily than messing with the qemu command line directly.
dumb script for launching a Quadra 800 VM in qemu. Contribute to rfc6919/qemu-q800 development by creating an account on GitHub.
github.com
A/UX config example:
make_pram
make_disk 1024
attach_network user
attach_disk aux.img
#attach_cdrom Apple-Legacy-Nov_1999.iso # apple legacy recovery CD for A/UX installer
#attach_cdrom APPLE_AUX_3.1.0_FILE_SERVER_AWS95.ISO # A/UX installation cd image
Classic config example:
make_pram
make_disk 1024
attach_network user
attach_disk sys71.img
attach_classicvirtio
attach_9p interchange /tmp/sys71-interchange | Posted by: Phipli on 2026-02-22 01:18:05
And shoved to github now, a little wrapper for qemu that handles basic q800 config and lets you shuffle devices around more easily than messing with the qemu command line directly.
dumb script for launching a Quadra 800 VM in qemu. Contribute to rfc6919/qemu-q800 development by creating an account on GitHub.
github.com
A/UX config example:
make_pram
make_disk 1024
attach_network user
attach_disk aux.img
#attach_cdrom Apple-Legacy-Nov_1999.iso # apple legacy recovery CD for A/UX installer
#attach_cdrom APPLE_AUX_3.1.0_FILE_SERVER_AWS95.ISO # A/UX installation cd image
Classic config example:
make_pram
make_disk 1024
attach_network user
attach_disk sys71.img
attach_classicvirtio
attach_9p interchange /tmp/sys71-interchange That sounds useful - I have a folder with several bash scripts that I run to launch QEMU. They represent things like different screen sizes or the real CD drive Vs an install media disk. It works, but it much more messy than how say, Basilisk II does it. | Posted by: adespoton on 2026-02-23 11:15:47 That looks great; mind if I post it to the Emaculation forums? | Posted by: rfc6919 on 2026-02-24 00:29:09 @adespoton yeah no worries, go for it. | | 1 |
|