DEV Community

Stoian Dan
Stoian Dan

Posted on

How to install Snow Leopard on modern (Apple Silicon) macOS

If you're a Snow Leopard nostalgic — or, like me a anemoiac — you might have bumped into an article from xadammr.au and/or the original one from LegacyOSXKVM, tried to run the precompiled vm (macintosh_preinstall.img), but kept running into unpredictable system crashes.
I've personally tried that VM, together with an UTM template from a gallery repo and experienced constant, unpredictable, OS crashes.

Well, I've seem to been able to produce a stable build, by installing the OS from scratch — something might have changed in the meantime in UTM/qemu, since the original article mentions:

The LegacyOSXKVM project suggests the root cause is a 32-bit installer, which is failing in TCG emulation. They reported that, once the installation is completed on an x86_64 host, there are no ongoing problems. And, kindly, they were able to provide a disk image of a completed install on Archive.org.

So here's what I've done. You can just download my template, still use the original open-core boot loader provided by LegacyOSXKVM (it's good to go) and an Internet Archive DMG image, and… voilà:

I haven't tried it yet, but… maybe multi-core will work also.

Anyway, if you just want to create your template from scratch here's what you can do:

Start a new template in UTM and choose:

  1. Emulate
  2. Other
  3. Expert Mode, x86_84 architecture, Standard PC Q35 (or whatever latest); I've chosen 2GB of RAM, 1 CPU Core
  4. Enable UEFI, CD/DVD image (you have to convert the DMG to .cdr via Disk Utility — or whatever else, see below)
  5. CPU, just like in the original articles needs be Penryn
  6. CPU flags — again, like in the original: sse4.1, sse4.2, sse3
  7. QEMU arguments -device isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc -cpu Penryn,vendor=GenuineIntel,+sse4.1,+sse4.2,+ssse3 -global ICH9-LPC.disable_s3=0
  8. Display: vmware-svga
  9. Network, Emulated Network Card: Intel Gigabit Ethernet (e1000)

That's about it. I still faced lack of internet connectivity, just sudo killall mDNSRespoder (on almost every boot…) and you're good to go.

There also used to be a Logi Wiki article presenting how to update your root certificates — that's not working anymore. I've just used:

security find-certificate -a -p \
  /System/Library/Keychains/SystemRootCertificates.keychain \
  > ~/root-certs.pem
Enter fullscreen mode Exit fullscreen mode

to export the root certs from my macOS Golden Gate host into a .pem file, used netcat nc -l 1234 < ~/root-certs.pem on the host and nc St-Augustins-Macbook-Pro.local (or your host IP; remember your have to set Bridged Advanced network for guest and host to be on the same network) > ~/certs.pem on the guest to transfer the certs and import them via sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/certs.pem

Once downloaded on the guest, I've:

sudo security add-trusted-cert \
  -d \
  -r trustRoot \
  -k /Library/Keychains/System.keychain \
  ~/certs.pem
Enter fullscreen mode Exit fullscreen mode

to import them.

For the DMG conversion, so that it's bootable in emu, in Disk Utility, go to Images > Convert, choose the image, encryption: none, image format: CD/DVD master

And yes, believe it or not, Apple still provides the old updates to the latest Snow Leopard, which is just… wow!

Top comments (0)