Running the A/UX 3 installer under qemu (and in theory shoebill too)

rfc6919

6502
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.
  1. Grab Apple-Legacy-Nov_1999.iso and APPLE_AUX_3.1.0_FILE_SERVER_WGS95.ISO
  2. Create a 1GB disk image (luxury!)
  3. Boot qemu with your disk image at scsi 0 and Apple-Legacy-Nov_1999.iso at scsi 1
  4. Launch Legacy Recovery > Disk Utilities > Formatting Software > Drive Setup 1.7.3
  5. Initialise your empty 1GB disk at scsi 0, just accept all the defaults and you'll get a 1GB empty disk called untitled
  6. Go to Legacy Recovery > A/UX > AWS 95 Boot Disks 1.1 and open Installation Boot Disk 1.1.img to mount it
  7. Drag the contents of Installation Boot Disk over into untitled. You now have a bootable A/UX installer at scsi 0
  8. Shut down the VM, and replace Apple-Legacy-Nov_1999.iso with APPLE_AUX_3.1.0_FILE_SERVER_WGS95.ISO at scsi 1
  9. 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.
  10. 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.
  11. Launch again, let the first boot do a kernel reconfigure and once again reboot.
  12. 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.
 
Back
Top