Does QEMU support userspace emulation of A/UX programs yet?
One main reason is that I'm looking into porting a newer version of GCC to compile executable for A/UX and it would be much faster to test using the same filesystem as the host instead of copying the executable into the disk image every time I make a change.
Another reason is that the GNU assembler has not fully implemented the features of the A/UX assembler so it would be nice to run the A/UX assembler on the host for the time being.
A/UX userspace emulation on QEMU?
Moderators: Cat_7, Ronald P. Regensburg
- SolraBizna
- Inquisitive Elf
- Posts: 32
- Joined: Mon Sep 27, 2021 1:39 am
Re: A/UX userspace emulation on QEMU?
It doesn't, and doing so would be quite difficult. However, I may have another solution to your problem.
A/UX includes an NFSv2 client. It interoperates quite happily with a modern NFS server, as long as NFSv2 is allowed (which it usually is by default) and reserved ports aren't required (which they usually are by default).
To mount a directory on my macOS machine from my A/UX guest, I added the following to "/etc/nfs.conf" on the macOS side:
Made a line in "/etc/exports" like:
(where "1.2.3.4" is the IP address of the machine I'm running QEMU on)
After doing that, "sudo nfsd restart" made the NFS server pick up the changes, and I was good to go.
Then, on the A/UX side, I made an entry in "/etc/hosts":
(The kernel will refuse to mount a share by IP address, so you do need a hostname. Also, automatic mounting at boot via "/etc/fstab" refuses to work unless the hostname is capitalized, for some reason.)
Then added the "nfs" module to the kernel configuration:
After a reboot, I am henceforth able to mount the remote directory from the A/UX side:
It is even usable from Finder and other Toolbox applications! ...if you change your UID on the A/UX side to match your UID on the macOS side, so that the Toolbox's aggressive client-side permission checks don't get confused.
I hope this is helpful to you, and I'm very excited by the prospect of a recent GCC toolchain for A/UX.
A/UX includes an NFSv2 client. It interoperates quite happily with a modern NFS server, as long as NFSv2 is allowed (which it usually is by default) and reserved ports aren't required (which they usually are by default).
To mount a directory on my macOS machine from my A/UX guest, I added the following to "/etc/nfs.conf" on the macOS side:
Code: Select all
nfs.server.mount.require_resv_port = 0
Code: Select all
/Users/sbizna/path/to/nfs_dir -mapall=sbizna:nobody 1.2.3.4
After doing that, "sudo nfsd restart" made the NFS server pick up the changes, and I was good to go.
Then, on the A/UX side, I made an entry in "/etc/hosts":
Code: Select all
1.2.3.4 Machostname
Then added the "nfs" module to the kernel configuration:
Code: Select all
newconfig nfs
Code: Select all
mount Machostname:/Users/sbizna/path/to/nfs_dir /some/mountpoint
I hope this is helpful to you, and I'm very excited by the prospect of a recent GCC toolchain for A/UX.
- SolraBizna
- Inquisitive Elf
- Posts: 32
- Joined: Mon Sep 27, 2021 1:39 am
Re: A/UX userspace emulation on QEMU?
Ack. This should be "nfs", not "ufs". Accursed dyslexia.SolraBizna wrote: ↑Mon Sep 27, 2021 1:55 am Then added the "ufs" module to the kernel configuration:
Code: Select all
newconfig ufs
(I'm too much of a newbie to be allowed to edit this post, I think.)
Re: A/UX userspace emulation on QEMU?
There, edited for you
Best,
Cat_7
Best,
Cat_7
-
- Forum All-Star
- Posts: 1726
- Joined: Tue Oct 14, 2008 12:12 am
Re: A/UX userspace emulation on QEMU?
I tried this on Ventura, but got an "access denied" message in A/UX. Probably I misread the instructions, but has anyone else tried to get this working in Ventura?
Also, are the default settings in "newconfig nfs" the right ones?
Also, are the default settings in "newconfig nfs" the right ones?
- SolraBizna
- Inquisitive Elf
- Posts: 32
- Joined: Mon Sep 27, 2021 1:39 am
Re: A/UX userspace emulation on QEMU?
My setup is still working, through Ventura and now Sonoma. There may have been something I needed to change but I didn't write it down if so.
I don't remember "newconfig nfs" needing any adjustments.
I don't remember "newconfig nfs" needing any adjustments.
- adespoton
- Forum All-Star
- Posts: 4286
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: A/UX userspace emulation on QEMU?
I went a different route and installed HFSFuse on macOS; this has the limitation that I can't have A/UX running at the same time I've got the HFS partition mounted on the host, but other than that it works.
What was driving me crazy was figuring out how to handle floppy disks on A/UX (needed for doing things like upgrading 3.0.1 to 3.0.2) -- finally found a solution. Unlike all the versions of Disk Copy, which refuse to run on A/UX, Shrinkwrap 2.1 works flawlessly (and can even mount a folder as a floppy disk) - and the old "must install from original floppy" Apple Installers all treat the Shrinkwrap volumes as legitimate floppy disks.
So now there's a way to mount floppy images in A/UX Just no way to boot from them, so we need the 1.44MB "SCSI HD" hack for that for now.
What was driving me crazy was figuring out how to handle floppy disks on A/UX (needed for doing things like upgrading 3.0.1 to 3.0.2) -- finally found a solution. Unlike all the versions of Disk Copy, which refuse to run on A/UX, Shrinkwrap 2.1 works flawlessly (and can even mount a folder as a floppy disk) - and the old "must install from original floppy" Apple Installers all treat the Shrinkwrap volumes as legitimate floppy disks.
So now there's a way to mount floppy images in A/UX Just no way to boot from them, so we need the 1.44MB "SCSI HD" hack for that for now.