Status: 12 September 2020 - Testing and done two 'large' physical disk dumps to Virtual Mac using 'sheep_net' kernel module.
Basilisk II & SheepShaver are emulations for Motorola 68000 series and PowerPC series Apple Macintoshes. For retro-computing enthausiants they bring a virtualised retro computing experience. Both can be run on a number of platforms including: Windows, MacOS, FreeBSD, IRIX and Linux. Here are tips on getting these running and trouble shooting there use on Ubuntu Linux.
- Using this software, I successfully booted a.TOAST CD image made with Roxio Toast under Mac OS 9, a.DSK hard drive image made with QEMU, an.ISO CD image from a real Mac OS CD dumped with PowerISO and even a.IMG hard drive image made with SheepShaver. All of them burned onto my old 4GB USB stick on my DV+ G3 iMac from summer 2000.
- How to open ISO files. Save the.iso file to the desktop. If your compressed file was downloaded from a website, it may be saved in the Downloads folder in your Documents or user directory. Launch WinZip from your start menu or Desktop shortcut. Open the compressed file by clicking File Open.
I did this as I needed to set up an AppleTalk gateway to easily move files to/from a real M68000 series Mac. Another way to achieve this is using netatalk, which is AppleTalk equivalent to Samba for SMB/CIFS.
UPDATE: For a list of interesting old Mac applications which you can play with using Mini vMac, Basilisk and SheepShaver, refer to my latest article. This guide shows you how to run MAC OS 8 on the Basilisk emulator. This is the last version of Mac OS X that can be run on this emulator. The emulator emulates a 68k Macintosh, while later versions Mac OS requires a PowerPC. It is recommended.
Setting up Basilisk II
Ubuntu has a prebuilt Basilisk II package available that can be install as standard apt install package:
I have tested the following:
- Ubuntu 20.04 - Does not work (segmenation fault on startup)
- Ubuntu 18.04 - only 'nojit' works
- Ubuntu 160.04 - both 'jit' and 'nojit' work. Through I was unable to find how to get equivalent of 'Command' & 'Alt/Option' keys working and there appears to be problem with disk emulation layer as 'Apple HD SC Setup' is not able to detect disks.
With the Ubuntu 20.04 installation a Gnome Desktop icon is created and you can start Basilisk II emulator by double clicking the icon. For 16.04 & 18.04 open a terminal window and start by running: BasiliskII (default), BasiliskII-jit or BasiliskII-nojit which allows control of the 'Just In Time' (JIT) compiler.
Setting up SheepShaver
There is no Ubuntu Sheep Shaver pre-built package so getting SheepShaver up and running requires a build from source. This requires:
- Install build tools
- Clone the git repository - 'git clone https://github.com/cebix/macemu.git'
- Build and Test - 'cd macemu/SheepShaver/src/Unix',
- Install
Given issues with Basilisk II on Ubuntu 18.04 & 20.04 I opted to do build on Ubuntu 16.04.
The build tools required are: build-essential autoconf git libgtk2.0-dev x11proto-xf86dga-dev libesd0-dev libxxf86dga-dev libxxf86dga1 [optionally: libsdl1.2-dev or libsdl2-dev]
To build follow the following steps:
Using sheep_net on Linux
If you want your Macintosh to be able to expose itself as an AppleTalk file server, then the default slirp network will not work. Phoenicia std mono font free downloads. Slirp acts like a NAT firewall, which means it blocks all incoming requests. This is where 'sheep_net' comes in.
'sheep_net' relies on a kernel module which lets the emulator get access to the network interface, avoiding having a NAT layer in place. This means the emulator can now use AppleTalk and TCP/IP protocols and you can do things like set up your emulator to act as a CIF or NFS to Apple File Protocol (AFP) over AppleTalk gateway.
Why would this be helpful ? Well if you have some actual real vintage Mac's then then it is useful to be able to get files on and off them and preserve your collection of vintage applications. Your could also achieve the same thing with netatalk (v2), but this involves more configuration than using the emulator.
The original AppleTalk provided a very simple and easy to manage network that was perfect for small office environments back in its day.
So here the how..
- Install git on you Ubuntu host machine
- Clone the macemu git repository
- cd down into: ./macemu/src/BasiliskII/Unix/Linux/NetDriver
- Build & install the klm by doing: make install
- Load the klm: modprobe sheep_net
- Change the owner of /dev/sheet_net node to avoid permission problem or having to run Basilisk II as root: sudo chown /dev/sheet_net
- Start up Basilisk II GUI and change the networking to have the name of the network link (not the device) such as: enp0s1
- Start the machine and configure AppleTalk to use the ethernet interface and configure the TCP/IP with either DHCP or statically defined address, gateway and DNS resolution details.
- You should now beable to use 'Chooser' to connect to other LocalTalk Macs on your network
NOTE: The Ubuntu install also puts the sheep_net code in directory: /usr/shared/doc/basilisk2/example/NetDriver but this version is relatively old and one on macemu git repository has a number of fixes.
Mounting and Cleanup up HFS Disk Images
To boot your emulated Macintosh you will need a ROM dump and a bootable HFS disk image. The disk images are very suspect to failure, so if you emulation crashes or you have to kill it because it hangs, then it is likely not to be bootable at next startup. To repair the HFS image you will need to mount it as raw block device and then do a file system check on this.
The tools use are:
- hfsprogs - apt package with support for HFS/HFS+ disk
- losetup - provides loop setup function to create new /dev/loopX device
- fsck.hf - part of hfs-utils, provide tools to check the /dev/loopX device file system
- mount - with -t hfs -o loop options to allow you to mount and verify the HFS image
Here is sample session, showing how to mount image and do a file system check:
NOTE 1: To get hfs/hfs+ support do: 'sudo apt install hfsplus hfsprogs'
NOTE 2: Always make sure you have a backup of your HFS image if it is important and always have an alterate boot disk in case you need to do a recovery.
The 'ERROR: Not enough free memory.'
On MacOS I am able to run my machines with 1024 MB RAM, with both Basilisk II & SheepShaver. With Ubuntu 16.04 Basilisk II the maximum size I am able to run is 512 MB RAM. When I went to next increment in size to 1024 I get failure:
Status: 12 September 2020 - Testing and done two 'large' physical disk dumps to Virtual Mac using 'sheep_net' kernel module.
Basilisk II & SheepShaver are emulations for Motorola 68000 series and PowerPC series Apple Macintoshes. For retro-computing enthausiants they bring a virtualised retro computing experience. Both can be run on a number of platforms including: Windows, MacOS, FreeBSD, IRIX and Linux. Here are tips on getting these running and trouble shooting there use on Ubuntu Linux.
- Using this software, I successfully booted a.TOAST CD image made with Roxio Toast under Mac OS 9, a.DSK hard drive image made with QEMU, an.ISO CD image from a real Mac OS CD dumped with PowerISO and even a.IMG hard drive image made with SheepShaver. All of them burned onto my old 4GB USB stick on my DV+ G3 iMac from summer 2000.
- How to open ISO files. Save the.iso file to the desktop. If your compressed file was downloaded from a website, it may be saved in the Downloads folder in your Documents or user directory. Launch WinZip from your start menu or Desktop shortcut. Open the compressed file by clicking File Open.
I did this as I needed to set up an AppleTalk gateway to easily move files to/from a real M68000 series Mac. Another way to achieve this is using netatalk, which is AppleTalk equivalent to Samba for SMB/CIFS.
UPDATE: For a list of interesting old Mac applications which you can play with using Mini vMac, Basilisk and SheepShaver, refer to my latest article. This guide shows you how to run MAC OS 8 on the Basilisk emulator. This is the last version of Mac OS X that can be run on this emulator. The emulator emulates a 68k Macintosh, while later versions Mac OS requires a PowerPC. It is recommended.
Setting up Basilisk II
Ubuntu has a prebuilt Basilisk II package available that can be install as standard apt install package:
I have tested the following:
- Ubuntu 20.04 - Does not work (segmenation fault on startup)
- Ubuntu 18.04 - only 'nojit' works
- Ubuntu 160.04 - both 'jit' and 'nojit' work. Through I was unable to find how to get equivalent of 'Command' & 'Alt/Option' keys working and there appears to be problem with disk emulation layer as 'Apple HD SC Setup' is not able to detect disks.
With the Ubuntu 20.04 installation a Gnome Desktop icon is created and you can start Basilisk II emulator by double clicking the icon. For 16.04 & 18.04 open a terminal window and start by running: BasiliskII (default), BasiliskII-jit or BasiliskII-nojit which allows control of the 'Just In Time' (JIT) compiler.
Setting up SheepShaver
There is no Ubuntu Sheep Shaver pre-built package so getting SheepShaver up and running requires a build from source. This requires:
- Install build tools
- Clone the git repository - 'git clone https://github.com/cebix/macemu.git'
- Build and Test - 'cd macemu/SheepShaver/src/Unix',
- Install
Given issues with Basilisk II on Ubuntu 18.04 & 20.04 I opted to do build on Ubuntu 16.04.
The build tools required are: build-essential autoconf git libgtk2.0-dev x11proto-xf86dga-dev libesd0-dev libxxf86dga-dev libxxf86dga1 [optionally: libsdl1.2-dev or libsdl2-dev]
To build follow the following steps:
Using sheep_net on Linux
If you want your Macintosh to be able to expose itself as an AppleTalk file server, then the default slirp network will not work. Phoenicia std mono font free downloads. Slirp acts like a NAT firewall, which means it blocks all incoming requests. This is where 'sheep_net' comes in.
'sheep_net' relies on a kernel module which lets the emulator get access to the network interface, avoiding having a NAT layer in place. This means the emulator can now use AppleTalk and TCP/IP protocols and you can do things like set up your emulator to act as a CIF or NFS to Apple File Protocol (AFP) over AppleTalk gateway.
Why would this be helpful ? Well if you have some actual real vintage Mac's then then it is useful to be able to get files on and off them and preserve your collection of vintage applications. Your could also achieve the same thing with netatalk (v2), but this involves more configuration than using the emulator.
The original AppleTalk provided a very simple and easy to manage network that was perfect for small office environments back in its day.
So here the how..
- Install git on you Ubuntu host machine
- Clone the macemu git repository
- cd down into: ./macemu/src/BasiliskII/Unix/Linux/NetDriver
- Build & install the klm by doing: make install
- Load the klm: modprobe sheep_net
- Change the owner of /dev/sheet_net node to avoid permission problem or having to run Basilisk II as root: sudo chown /dev/sheet_net
- Start up Basilisk II GUI and change the networking to have the name of the network link (not the device) such as: enp0s1
- Start the machine and configure AppleTalk to use the ethernet interface and configure the TCP/IP with either DHCP or statically defined address, gateway and DNS resolution details.
- You should now beable to use 'Chooser' to connect to other LocalTalk Macs on your network
NOTE: The Ubuntu install also puts the sheep_net code in directory: /usr/shared/doc/basilisk2/example/NetDriver but this version is relatively old and one on macemu git repository has a number of fixes.
Mounting and Cleanup up HFS Disk Images
To boot your emulated Macintosh you will need a ROM dump and a bootable HFS disk image. The disk images are very suspect to failure, so if you emulation crashes or you have to kill it because it hangs, then it is likely not to be bootable at next startup. To repair the HFS image you will need to mount it as raw block device and then do a file system check on this.
The tools use are:
- hfsprogs - apt package with support for HFS/HFS+ disk
- losetup - provides loop setup function to create new /dev/loopX device
- fsck.hf - part of hfs-utils, provide tools to check the /dev/loopX device file system
- mount - with -t hfs -o loop options to allow you to mount and verify the HFS image
Here is sample session, showing how to mount image and do a file system check:
NOTE 1: To get hfs/hfs+ support do: 'sudo apt install hfsplus hfsprogs'
NOTE 2: Always make sure you have a backup of your HFS image if it is important and always have an alterate boot disk in case you need to do a recovery.
The 'ERROR: Not enough free memory.'
On MacOS I am able to run my machines with 1024 MB RAM, with both Basilisk II & SheepShaver. With Ubuntu 16.04 Basilisk II the maximum size I am able to run is 512 MB RAM. When I went to next increment in size to 1024 I get failure:
Current workaround is simply not use more that 512 MB with Basilisk II.
SheepShaver works with 1024 MB.
AppleTalk Gateway using netatalk (on FreeBSD)
Another way to provide an AppleTalk gateway is by using Netatalk. This provides the equivalent of Sambe but for Apple Filing Protocol (AFP) and if you use older version (2.x) then it has support for AppleTalk which is need to work with older Macs. There are some complexities with this as it requires you compile AppleTalk support into the kernel.
To achieve this I swapped over to using FreeBSD VM. FreeBSD had AppleTalk available up until version 10.4. So I downloaded FreeBSD 10.4 AMD64 DVD iso and did install with src code included (to allow kernal recompile).
How To Open Iso On Sheepshaver Macbook Air
Steps are:
- Get 10.4 AMD 64 ISO
- Create new FreeBSD VM and boot from DVD (note that you cannot directly boot a UEFI VM from this DVD), so if you want to use UEFI VM you have to play around by starting boot from existing FreeBSD install and then changing boot device to cd).
- Rebuild kernel with updated 'option ATATALK' in config (/usr/src/sys/amd64/conf/GENERIC) & reboot
- Do pkg install of netatalk (I advise not to do this via ports as the ports tree will point to newer version)
- Make sure you have extra NIC on VM just for AppleTalk and do not configure IP address on this NIC
- Reboot
- Setup you atatalk configuration
- Reboot & Test
In summary this is much more work that just using 'Basilisk II' emulator with sheep_net to provide your AppleTalk solution.
How To Open Iso On Sheepshaver Mac Os
NOTE: I will provide more detailed notes at once I have completed testing. My assessment is that for most Retro Mac'ing needs this is more complicated than is justified to get simple AppleTalk AFP service going.
And a Screen Snap
A VM each for PowerPC SheepShaver and OS 9 and Motorola M68040 Basilisk II and System Software 7.5.3.
Now by mounting NFS or CIFS network file systems somewhere under the that is selected for the Unix Root file systems then this provide a way gateway between NFS/CIFS storage and old world Macs.
NOTE 1: In general Basilisk II Mac has snappier performance that the Sheep Shaver PowerPC machine.
NOTE 2: Both emulators are running in Ubuntu 16.04 VM guest with sheep_net KLM for AppleTalk on an Ubuntu 20.04 Host.
References & Links:
Sheepshaver Wrapper
Basilisk II and SheepShaver - are both managed via same sites and a central repository on github
Sheepshaver Quits
The emuculation Forums - go to place for information on running the emulators, though be aware that some of the topics are very very old and likely to be out 0f date
Another AppleTalk Adventure -
Hi! Today, i'm going to show you..
Part 1: What you need:
Sheepshaver, (with GUI, SDL.dll, etc, select 'To get started, always download this') Go to Sheepshaver On windows for this download. (GO TO EMACULATION.COM)
GTK 2+ Runtime, Go to sheepshaver on windows and click on GTK 2+. If it does say it will harm your computer, ignore the message. (GO TO EMACULATION.COM)
Mac OS 9.0.4.iso ISO on the internet (Winworldpc.com is a good website)
New World ROM, Link: http://www.redundantrobot.com/#/sheepshaver
Once you get all the links, Let's start!
Part 2:
Configuring up Mac OS 9.0.4 in the GUI
1. Extract all the files and put them in the sheepshaver folder, also download the GTK runtime as well
2. Rename the ROM to Mac OS ROM (Letters, capitals, and spaces are CASE SENSITIVE! Rename to the ROM name above, and make sure you get rid of the extension .rom)
3. (MAKE SURE YOU HAVE THE GTK2+ RUNTIME INSTALLED) Open up the GUI.
4. Enable your CD-DVD ROM Drive, it should be drive E:
5. Enable My Computer so you can access your windows files on a mac (Pretty cool that you can do that huh?)
6. Create a hard drive, name it whatever you want I named mine Mac OS 9.0.4 make sure you add the extension .hfv, Recommended size is 500MB, but I will put up to 1000MB (1GB), and click OK, it will take 3-30 seconds to create, depending on the speed of the computer
7. Click Add, and add the ISO
8. Go to Graphics/Sound and select the following:
Window: Window
Windows Refresh Rate: Dynamic
Length x Width (L x W): Whatever size can work (Recommended: 800x600).
9. Go to Memory/Misc and put the RAM to 512MB, and check 'Ignore Illegal Memory Accesses'
Part 3:
Booting Up
Click Start (NOTE: You will get an error saying The following file is missing, C:System32driverscdenable.sys or something like that, ignore that)(I actually checked, IT'S IN THAT FOLDER, IDK WHY IT SAYS IT'S MISSING)
You will get an error saying something that 'it only functions on original media.' That's because our ISO is a Read, and Write, you need to first exit sheepshaver, (The X won't work so go to Task Manager, find sheepshaver, and click, End Task.)
Go to the ISO, Properties, and select 'Read-Only'.
Then go to the GUI, click start, ignore the error, and THIS TIME, it will boot up, you will get a CD background, and you will boot up into Mac OS 9.
Now it's time for the fun part.
Part 4:
Setup
(The following you must pay attention carefully to make sure it installs. Press Continue/Select/Agree/Start after you complete the each step from the installer.)
1. You will get a screen saying that the disk is unreadable, name it to whatever and make sure it's selected as Standard, make sure you select Initialize, and Continue.
2. A setup folder will pop up, select Mac OS 9 Install
3. Select Mac OS 9, or whatever you named your disk as your destination.
4. You can read the 'Before You Install' if you like.
5. Accept the agreement
6. You can customize your installation, but i recommend you keep the recommended stuff for installing, then, Click Start.
7. Installing for Mac OS 9 will take 4-30 minutes depending on the speed of your computer.
8. Once the installation is done, select Quit, and then restart.
Part 5:
Setup Part 2
1. Close the Mac OS 9 Disk, and click next from the setup assistant.
2. Select your country's language
3. Type your name, and (optional) what company you work for.
4. Check and see if your date and time is correct, and if you do daylight savings time.
5. Now select your location, most likely, your city that you live in won't be there, so select the city that you live in.
6. We don't want to use simple finder, so click no.
7. Type in a computer name, and a password (optional).
8. After that, your computer (Mac OS 9) will freeze up, so go to task manager, and close out sheepshaver, and start it back up again. (MAKE SURE YOU REMOVE THE ISO FROM THE GUI!!)
9. Mac OS will check the disk because you had to force close it. Once it's done, Click Done.
CONGRATULATIONS! You have installed Mac OS 9.04 in Sheepshaver on Windows!
That's All! Now go have fun with Mac OS 9.04
-Louis7864