How to get software into Mac OS 9 QEMU

About Qemu-system-ppc, a PPC Mac emulator for Windows, macOS and Linux that can run Mac OS 9.0 up to Mac OS X 10.5

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
AlexSantos
Inquisitive Elf
Posts: 26
Joined: Wed Nov 01, 2017 11:18 pm

How to get software into Mac OS 9 QEMU

Post by AlexSantos »

Hello

I installed Mac OS 9.0 into QEMU but how do I actually install 3rd party software or simply move files into it?

Thanks
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: How to get software into Mac OS 9 QEMU

Post by mabam »

Create a disk image with the required software/files on your host and after ejecting it, add it to the command when you mount Qemu.

That way you can also install Classilla which will enable you to surf most websites and download software from the Internet.

You wrote in your other thread that you run Qemu on a Mac. There is a solution to network Qemu with your host: https://github.com/mabam/afpfs-ng-OSX. But for now you need Xcode with command line tools installed on your host in order to compile it. I'm working on packing afpfs-ng-OSX into a .pkg installer for macOS/OS X. But I haven't fully figured out how to do that yet.
AlexSantos
Inquisitive Elf
Posts: 26
Joined: Wed Nov 01, 2017 11:18 pm

Re: How to get software into Mac OS 9 QEMU

Post by AlexSantos »

Thanks for the advice on the disk image.
mabam wrote:You wrote in your other thread that you run Qemu on a Mac. There is a solution to network Qemu with your host: https://github.com/mabam/afpfs-ng-OSX. But for now you need Xcode with command line tools installed on your host in order to compile it. I'm working on packing afpfs-ng-OSX into a .pkg installer for macOS/OS X. But I haven't fully figured out how to do that yet.
It sounds like you are on the development team. Is there any way you could get the repository you mentioned, which is available on github, to be available as a brew formula?

It would make it a lot easier to install, it would be as easy as

Code: Select all

brew install afpfs-ng-OSX
and from the user's perspective it should pull down any dependencies and the like automatically, including of course the precompiled executable. Brew already requires the command line tools to be installed and brew is so friendly that it gives the user the terminal command should they not have those dev tools pre-installed. Very little can go wrong with brew and it is isolated from the rest of the OS, it's in /usr/local I believe.

I just tried to see what might be out there as far as AFPFS

Code: Select all

Alexs-iMac:2.10.1 alex$ brew search afpfs-ng-OSX
==> Searching local taps...
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
No formula found for "afpfs-ng-OSX".
brewAlexs-iMac:2.10.1 alex$ brew search afpfs
==> Searching local taps...
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
No formula found for "afpfs".
Alexs-iMac:2.10.1 alex$ brew search afp
==> Searching local taps...
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
No formula found for "afp".
I will check out the link. If it is what I think it is, I imagine it allows the guest (Mac OS 9 in this case) to connect to the host OS (in my case Sierra) and connect to it via some network abstraction layer which would allow OS 9 to potentially see the host volumes or sharepoints? Is this correct? If so, wow, that would be cool!

Thanks for your reply, the advice and for extra bit on afpfs-ng-OSX. I appreciate it! Qemu sounds more and more exciting all the time.

Kind regards
—Alex
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: How to get software into Mac OS 9 QEMU

Post by mabam »

Thanks for your credit, but I'm not a developer or programmer at all. All I try to do is hack the code to make afpfs-ng available on macOS/OS X (well, there is quite some OS X specific code in there. Maybe it used to run on MacFUSE, but I haven't found any information about that). First time I do something like this. No clue how to make it install via homebrew.

But if you are using homebrew you should have all the required tools on your system already and installation of afpfs-ng-OSX is quite easy. First you need to install Fuse for macOS (don't do that via homebrew as I have hardcoded some library locations into afpfs which might make it incompatible if you install Fuse via brew). It's explained in the readme that is shown when visiting the afpfs-ng-OSX github page. If you need help or something is unclear just let me know.

afpfs-ng-OSX is only a client, not a server. This means you will have to activate file sharing in MacOS 9 and share a folder from there, to which you can connect from OS X. It doesn't work the other way around.

afpfs-ng-OSX works, but please be aware that there are some issues. The thing about it I like the least is the fact that resource forks and meta data are not exchanged between OS X and Mac OS 9 due to the fact that afpfs-ng-OSX does not report the mounted volume as being HFS+ formatted. Probably because originally it was made for Linux and that doesn't know anything about resource forks or HFS and its metadata. There's nothing I can do about that. This also means that OS X is storing some information in e.g. "._*" files on the shared volume which are visible on MacOS 9.

Please report back after trying it. It's just a few days ago that I succeeded in making it work. So as far as I know, you're the first one to test it (well, I've successfully tested it myself on Snow Leopard, Mountain Lion and Sierra).
AlexSantos
Inquisitive Elf
Posts: 26
Joined: Wed Nov 01, 2017 11:18 pm

Re: How to get software into Mac OS 9 QEMU

Post by AlexSantos »

Hello Mabam

Thank you for the very detailed message.

For a very long time indeed I have been looking for some a legacy AFP services running on to anything past Mac OS X 10.6.x. I think it was 10.6.x that allowed an FTP connection to made from the Mac OS 9 machine. With NetPresenz installed on OS 9 and file sharing turned on any Mac OS X version can presently connect to OS 9 or below, as long as NetPresenz meets the system requirements. NetPresenz is a must have piece of software.

In terms of the Mac OS 9 resource forks getting lost in transmission across the network, it's not a complete loss, files will just need to be compressed beforehand to prevent the same being lost in transmission. The ability to connect from OS 9 to any modern OS X, up to the present, makes it worthwhile.

I am grateful that you brought this solution up. I absolutely have to visit the github page you referenced.

As mentioned earlier there is NetPresenz. It installs on a wide variety of vintage Mac OS's, from Mac OS 9 and earlier. It is free and it provides the host OS 9 machine FTP server capabilities. If you have it running, you can connect from any Mac OS X machine to the NetPresenz FTP server and connect with no fuss. It's very stable yet simple to use. Again, it's not possible to connect the OS 9 machine to OS X macs because the latter has dropped the necessary services that would support a legacy connection. Your solution appears to be the answer but of course, as long as folks know this leaves the OS X machine vulnerable to attacks so it is best to turn it on when needed.

I will try to look at it in the next few days, perhaps later today, got a bunch of other things on the go. Thank you very much for sharing such a potentially invaluable, to me anyway, piece of software and thanks for allowing me to come back to you if I get stuck!

Kind regards
—Alex
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: How to get software into Mac OS 9 QEMU

Post by mabam »

AlexSantos wrote:The ability to connect from OS 9 to any modern OS X, up to the present, makes it worthwhile.
I'm afraid it's the other way around: You can connect from any modern OS X to OS 9. See this screenshot where I've mounted volumes from SheepShaver running MacOS 9.0.4 (AFP 2.1) and from an old iMac running MacOS 9.2 (AFP 2.2). Both from within a VirtualBox VM running Sierra:

Image

I didn't know about NetPresenz. Thanks for the information. So both let you connect from OS X to Classic MacOS, but the two differ as to where things have to be installed: NetPresenz in Classic MacOS and afpfs-ng-OSX via Fuse in macOS/OS X. I should run both to compare them.

I'm working on an AppleScript that lets you enter the server name or IP address and the volume to be mounted (and possibly the mount point, but I may automate that). I'll also try to to find a workaround to give sensible names to the volumes once mounted (they have names in the range of 'OSXFUSE Volume 0 (afpfsd)').
AlexSantos
Inquisitive Elf
Posts: 26
Joined: Wed Nov 01, 2017 11:18 pm

Re: How to get software into Mac OS 9 QEMU

Post by AlexSantos »

Hi Mabam

Thanks for the correction, I might have mixed things up.

So to reiterate, Netpresenz, when installed on an actual Mac OS 9 running vintage Mac, when setup properly, which is easy, will allow an OS X machine to connect to that Mac OS 9 machine, not the other way unfortunately. The limit here is that Mac OS X, I believe from 10.7 onward dropped legacy support so an old mac running Mac OS 9 can not connect to an OS X machine.

I thought, and please correct me if I am wrong, your solution as I understand it, supports a user facing his Mac OS X machine to connect to a remote Mac OS 9 machine. Is this correct?

You can download NetPresenz https://www.macintoshrepository.org/2783-netpresenz here.

Kind regards
—Alex
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: How to get software into Mac OS 9 QEMU

Post by mabam »

AlexSantos wrote:I thought, and please correct me if I am wrong, your solution as I understand it, supports a user facing his Mac OS X machine to connect to a remote Mac OS 9 machine. Is this correct?
Yes.

I've just tried NetPresenz.
It doesn't run in SheepShaver, it crashes the emulator.
It does run in Qemu and I can connect to it from the Sierra host. But I cannot copy files onto the FTP volume, only get files from it, though I've configured it with full file access.

Do you have an idea what the reason might be?
AlexSantos
Inquisitive Elf
Posts: 26
Joined: Wed Nov 01, 2017 11:18 pm

Re: How to get software into Mac OS 9 QEMU

Post by AlexSantos »

I don't know actually. I run Netpresenz on a physical mac. I can read and write to the said Mac over FTP.

Did you share the hard drive. File Sharing has to be on. The manual is very helpful for setting up FTP. That's how I got it all running actually. I read the manual, about 10 minutes for the section on FTP and then it worked. Once you set it up it's simple to remember.

So file sharing has to be on though.

You might want to get info on the Mac OS 9 hard drive and then choose to share that drive. Then turn on Netpresenz, it should work, it does in the real environment, not sure about vitualized.
User avatar
adespoton
Forum All-Star
Posts: 4273
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How to get software into Mac OS 9 QEMU

Post by adespoton »

I used to run Netpresenz on actual hardware; every time I've upgraded, I've imaged the OS first.

My old images no longer work correctly for sharing with OS X; I think it stopped around 10.6.

So it's possible there's something that just won't work right.

A bit of trivia is that I used to run NetPresenz on 7.6.1 under BII on a Windows 98 host; worked fine back then.
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: How to get software into Mac OS 9 QEMU

Post by mabam »

Yes, I shared the hard drive.

I've tested it on Sierra in VirtualBox, connecting to MacOS 9.2.2 in Qemu. I've also tested it on my desktop running Mountain Lion, conneceting to my old iMac booted with MacOS 9.2.2. Both show the same behaviour.

I've made some screenshots from the former. On the first picture you can see the setup in Qemu, on the second Sierra connected to it. That one shows a file "netpresenz.pdf" which cannot be copied to the mounted FTP share. Also it displays the info window on the mounted FTP volumes showing "you are only allowed to read". On the other hand, the NetPresenz log window reports to have received "._.DS_Store" and ".DS_Store" files, But then again these are not in the shared folder when opening it in MacOS 9.2.2.

Image Image
AlexSantos
Inquisitive Elf
Posts: 26
Joined: Wed Nov 01, 2017 11:18 pm

Re: How to get software into Mac OS 9 QEMU

Post by AlexSantos »

From the Mac OS X machine try to connect with Cyberduck which is a free download. Let me know how it goes.
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: How to get software into Mac OS 9 QEMU

Post by mabam »

Thanks for the tip, that works.

I used Cyberduck before to manage files on my website. But I have to say I don't like its file browser very much. Then I prefer afpfs-ng-OSX.
User avatar
adespoton
Forum All-Star
Posts: 4273
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How to get software into Mac OS 9 QEMU

Post by adespoton »

Even though the installer bundles crapware, I still prefer FileZilla for FTP.
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: How to get software into Mac OS 9 QEMU

Post by mabam »

The installer for afpfs-ng-OSX is ready now. See http://emaculation.com/forum/viewtopic.php?f=34&t=9524.
Post Reply