Mac OS 9 install on Sheepshaver (MacOS)

Follow the install and setup guide of Sheepshaver here. In summary:

  • Download SheepShaver latest version zip
  • Download the ‘SheepSaver folder’ zip that contains required scripts
  • Move the SheepSaver.app into the SheepShaver folder
  • Download a Mac OS 9 install cd iso (e.g. from Machintosh Garden) – 9.0.4 works with SheepShaver – place in SheepShaver folder
  • Download a ROM (e,g. ‘New World PPC ROM’), unzip, move into SheepShaver folder and rename it ‘Mac OS ROM

Start SheepShaver, you’ll get the missing startup disk:

Open Preferences:

  • Create a disk
  • Point ROM file to the ROM you downloaded
  • Change the Unix root to point to a shared folder
  • Add the ,toast file for the OS 9 install cd and select ‘cdrom’
  • Update the RAM
  • Set the video to Windowed

Save and Quit, and then restart!

If the .toast file is not bootable it might be compressed. Use MacOS Disk Utilities, Image/Convert, select ‘DVD/CD Master’ as the format, and save it as a ‘.cdr’ file. When done, rename the file to ‘.iso’ and add that as a cdrom disk in SheepShaver Preferences instead of the ‘.toast’ file.

Restart!

Format the empty disk when prompted:

Double-click the ‘Mac OS Install’ app to start the install from the mounted cd iso image, to the disk:

If the installer gets stuck here:

… quit and start the install again, press the Option button and uncheck the ‘Update Apple Hard Disk Drivers’ option (mentioned in the Sheepsave install guide, and on the forum here)

Setting/resetting a MAC address on a Sun workstation with dead NVRAM battery using OBP (Open Boot PROM)

I had this post in draft since 2019 when I picked up a Sun Ultra 60 from ebay and needed to reset it’s MAC address because the NVAM battery had died. I never posted it apparently, probably because I only had to do it once and then forgot about it.

I had to give up the Ultra 60 when we moved from the US back to the UK – if you’ve every come across one of these you’ll know how heavy they are and I couldn’t justify the shipping costs (besides, I already had a Power Mac G5 and a Mac Pro 3,1 going in the container, which were heavy enough).

I saw a FB post recently that someone had a palette of Sun Ultra 5 ‘s for £50, so after working out some shipping, I now have an Ultra 5.

I previously followed instructions I bookmarked here but looks like that article is not up anymore, but it is archived on Wayback Machine here.

The relevant part I needed were the steps at the Open Boot Prompt to reset the MAC and System address:

01 0 mkp
80 1 mkp < = System type. For sun4u arch 80. For sun4m arch - 72
08 2 mkp <= Sun AUI is is always 08:00:20, which are the next three values for MAC
0 3 mkp
20 4 mkp
01 5 mkp <= 01:02:03 next values to append for your MAC, e.g. to generate 08:00:20:01:02:03 as MAC
02 6 mkp
03 7 mkp
0 8 mkp
0 9 mkp
0 a mkp
0 b mkp
c0 c mkp <= next 2 values are your System ID, e.g. c0:ff:ee
ff d mkp
ee e mkp
0 f 0 do i idprom@ xor loop f mkp <= Calculates the checksum

The Gentoo wiki also has a great reference for OBP prompt commands here.

Notes on setting the MAC address also here and here.

I don’t have VGA monitor for the Ultra 5 yet, or a Sun keyboard or mouse, so I’m booting via a serial terminal right now (using my VT132) – first two steps scrolled off the screen:

After the above steps, reset-all, then your boot command depending where you are booting from,

boot disk

or

boot net

Mounting SMB and NFS shares from ugreen NAS on Linux

To mount an NFS share on Ubuntu:

sudo mount -t nfs4 ip-address=of-nas:/volume[x]/sharename /mnt/path

If you get this error:

mount: /mnt/path: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program

Install helpers (from here):

# for NFS
sudo apt install nfs-common

# for SMB
sudo apt install cifs-utils

For mounting an SMB share using a specific userid (will be prompted for password):

sudo mount -t cifs -o username=your-user-id //ip-address/sharename /mnt/path

Note for ugreen NAS shares, the sharename is just the sharename and not /volume[]x]/sharename