Blog Post · Technical I.T.

From Leopard to El Capitan in 20 Easy Steps

I recently had the challenge of trying to install a current operating system on an iMac7,1 (2007). Here is my story.

The initial challenge was that the machine was running OS X Server 10.5.8 (Leopard) and I didn’t know the password for any accounts. Fortunately a reboot with Command-S gets you into single user mode (root) with the ability to reset the machine back to defaults (guide here).

Unfortunately, this meant that the software license key needed to be re-entered. Fortunately the key is stored in plain text in:


The next challenge was to purchase a copy of Mountain Lion at AU$30 from the apple store. Only after purchase did I find out that the installer can only be downloaded from the Mac App Store, which only became part of the OS in Snow Leopard.

So the challenge was to get a running instance of Snow Leopard without breaking the running OS (Leopard). Here you have several options to get hold of the Snow Leopard installer:

  • Download the *.dmg install image through a Torrent (illegal)
  • Pay for the physical media from apple (an extra $30 and a few weeks wait)
  • Download the Mountain Lion *.dmg from another Mac running Snow Leopard (or later)

As a rule, I am very sensitive to ethical issues relating to Software, and while I will find cheap (legal) ways to get hold of Operating Systems (e.g. free upgrades, student deals, employer sponsored deals) I am reluctant to use Torrents. This is not just because of the legal/ethical aspect, but also because Torrented media is notorious for malware infection. You can use hash checks to confirm a download, but are then relying on the integrity of the place you found the hash.

Incidentally, this process introduced me to the Apple Disk Image (*.dmg) file format. This format is very useful because it allows the packaging of an *.iso/*.img along with a hash and other disk information. As someone who is frequently imaging hard drives, this seems like a very useful construct, not normally found in operating systems but common in professional forensic software. Being able to confirm the consistency of a Hard Disk/CD/DVD image without carrying around separate MD5 checksum files seems sensible.

I will leave acquisition of the Snow Leopard installer disk image as an exercise for the reader. Rather than install Snow Leopard on the single Mac that I had access to, I used a version of VirtualBox (great free product from Oracle) to create a new virtual machine running Snow Leopard hosted on the Leopard machine. Release 3.0 of VirtualBox is the only one that would still run on Leopard.

I also attempted to get Snow Leopard working under VirtualBox on Windows, but complications with the hardware layer made it far too challenging. I understand people have had success, but it seems to be highly dependent on your Windows OS, hardware and the version of VirtualBox.

After the virtual Snow Leopard was updated to 10.6.8, the app store was running and I was able to download the Mountain Lion installer. For some reason Snow Leopard would not go from initial install to 10.6.8 on its own, the rolled-up 10.6.8 update had to be separately downloaded and manually installed before the app store appeared.

It was not possible to use the Mountain Lion installer to directly update Leopard, I had to use a USB drive to create Snow Leopard install media (guide here). I did a full backup of the Leopard system (and my virtual machine) to a HDD using SuperDuper (excellent backup tool, free version did the job).

Next step was to install Snow Leopard on the iMac, wiping the HDD. The process to update this OS to Mountain Lion (purchased) was now possible through the installer downloaded inside the virtual machine. Once Mountain Lion was installed and working, the update to El Capitan was available.

So now I have a Mac7,1 happily running El Capitan. Even though the hardware is 9 years old, it appears to be running very well. As someone with a background in Unix, Linux, Windows, it was an interesting journey into the world of Apple.

You will note that there is very little code/”how to” content in this post, because I found the guides in the Apple user community on blogs and forums to be very helpful and accurate. I could not find a complete guide detailing the process that I had to follow, but it was made up of numerous simple steps available with a bit of searching. As always in the technical world, don’t try this at home, check your command lines three times and backup before every step.