I am working on Mac OS 9 drivers for Qemu's suite of Virtio devices (video, file sharing, sound, input etc). The driver for guest-host file sharing is ready for a demonstration.
File Sharing:
Currently there are two options:
-You can add a driver to your Mac OS 9.x extensions folder which gives access to a shared folder on your host.
-You can boot Mac OS 9 from a local folder on your host.
For macOS hosts, these options work without the need for a special Qemu build.
To try any of this in Windows, for now you need a 9p enabled qemu windows build: https://surfdrive.surf.nl/files/index.p ... Z/download
Access from Mac OS 9.x to a shared folder on your host:
Download the 9p.ndrv.hqx driver from here: https://surfdrive.surf.nl/files/index.p ... d/download
and move it into your Mac OS 9.x image. Then expand the driver so you end up with a file named 9p.ndrv. Put this file in your Mac OS 9.x System/Extensions folder
macOS hosts:
Add the following to your qemu arguments and adjust the path to the folder you want to share:
Code: Select all
-virtfs local,security_model=none,mount_tag=doesntmatter,path=path to folder on host
Use the 9p enabled build available for download above.
Add the following to your qemu arguments and adjust the path to the folder you want to share:
Code: Select all
-virtfs local,security_model=none,mount_tag=doesntmatter,path=path to folder on host
Note: It might be best to start by pointing to an empty folder on your host as the driver might choke on folders with a large amount of files in it.
Booting from a local folder on your host:
Download and expand the attachments. There is a tiny bootable disk image (bootstrap.img) and a folder (os9test) with a cut-down copy of Mac OS 9.2.2. The disk image loads the Virtio driver then continues booting from the folder.
https://surfdrive.surf.nl/files/index.p ... j/download
https://surfdrive.surf.nl/files/index.p ... P/download
macOS hosts:
Best run qemu with -M mac99. Running with -M mac99,via=pmu might leave your mouse hanging in the upper left corner.
Add the following to your qemu start arguments (adjust the paths to bootstrap.img and os9test folder as needed):
Code: Select all
-drive format=raw,media=disk,file=bootstrap.img
-virtfs local,security_model=none,mount_tag=doesntmatter,path=os9test
Use the 9p enabled build available for download above.
Best run qemu with -M mac99. Running with -M mac99,via=pmu might leave your mouse hanging in the upper left corner.
Expanding the os9test file might give you some errors related to characters in the file names.
Add the following to your qemu start arguments (adjust the paths to bootstrap.img and os9test folder as needed):
Code: Select all
-drive format=raw,media=disk,file=bootstrap.img
-virtfs local,security_model=none,mount_tag=doesntmatter,path=os9test
I am very grateful to my friends at #mac68k on Libera for their help and support. Help is very welcome: the code is at https://github.com/elliotnunn/QemuMacDrivers. The biggest bugs are:
- Read-only
- Booting from a local folder is slow
- Weird custom format for resource forks and Finder info (bootable folder attached)
- Needs a minimal "bootstrap" disk image (attached)
Update 2023-08-12
Debug output is available, but slow because there is a page fault per character.
Code: Select all
-serial stdio -prom-env 'nvramrc=dev /pci/pci1af4,1009 1 encode-int " debug" property'