Upgrading 2008 Mac Pro 3,1 from El Capitan to Big Sur with OpenCore Legacy Patcher

I’ve been running El Capitan, the last officially supported MacOS version on my 2008 Mac Pro for several years. A couple of years back I dipped a toe into using OpenCore Legacy Patcher‘s boot picker to dual boot Proxmox from a separate drive, which has worked well.

It hasn’t been without some GPU related stress though, as at some point between changing monitors (I no longer have the previous monitor to go back to), it was outputting a resolution that wasn’t supported by my new 4k monitor and I couldn’t get a boot screen to appear to be able to select between MacOS or Proxmox, so it was stuck booting Proxmox by default and I ran it headless. This wasn’t too much of an issue as I mainly use the machine for running dev/test VMs and use it as my locally hosted GitLab server.

I did manage to get the resolution issue fixed by remote VNC’ing into the machine while there was no monitor output and change the resolution. Note to self, make sure you have ssh and VNC installed when working with temperamental old hardware.

The only other issue that’s been bothering me for a while is the discontinued support for Chrome updates on old MacOS versions:

10.13 is High Sierra. If I’m going to do something drastic and go for a major unsupported upgrade, I might as well go for the latest version I can install with it still be usable. Opinions vary for the Mac Pro 3,1 but I decided to go with 11, Big Sur:

Fingers crossed. I do have 2 bootable drives with MacOS in this Mac, so if the OpenCore boot picker doesn’t get hosed, I should be at least able to boot El Cap from a second drive and recover from there if needed:

  • ssd 1: El Cap: this is the one I’ll reinstall with OpenCore Legacy Patcher and Big Sur
  • ssd 2: Proxmox
  • hdd 1: El Cap

Hopefully the next update I’ll be able to comment on how successful the install went …

Importing a Hetzner VM into a new Terraform template

I’m creating a new VM on Hetzner that I want to manage with Terraform, but this is the first time I’ve used the Hetzner Provider. Rather than stumble through the required options for a new VM, I used the -generate-config-out option with terraform plan to generate the Terraform config for me based on the currrent config.

Here’s my starting point for my main.tf:

terraform {
  required_providers {
    hcloud = {
      source  = "hetznercloud/hcloud"
      version = "~> 1.45"
    }
  }
}


# Set the variable value in *.tfvars file
# or using the -var="hcloud_token=..." CLI option
variable "hcloud_token" {
  sensitive = true
}

# Configure the Hetzner Cloud Provider
provider "hcloud" {
  token = var.hcloud_token
}

import {
  id = "name-of-my-hertzner-vm"
  to = hcloud_server.name-of-my-new-terraform-resource
}

On running:

terraform plan -generate-config-out=generated.tf

I now have the equivalent Terraform config for my VM, in generated.tf, and now I can include this in my main.tf and manage it incrementally via Terraform from this point onwards.

ssh into Hetzner VMs with an ssh key

During VM creation, assuming you added an ssh public key value when prompted:

Add an entry like the following to your ~/.ssh/config:

Host ip-of-your-new-vm
PreferredAuthentications publickey
IdentityFile ~/.ssh/name-of-your-private-key

ssh into your VM with:

ssh root@ip-of-your-new-vm

Mac OS X and MacOS versions

As someone who tinkers with older Macs, I often forget which versions of Mac OS X are earlier or later just based on name, so for future reference here’s a quick list (summarized from wikipedia):

10.0Cheetah
10.1Puma
10.2Jaguar
10.3Panther
10.4Tiger
10.5Leopard
10.6Snow Leopard
10.7Lion
10.8Mountain Lion
10.9Mavericks
10.10Yosemite
10.11El Capitan – most recent version that can be installed on my 2008 Mac Pro 3,1 without using DosDude’s Patcher or OpenCore Legacy Patcher etc
10.12Sierra
10.13High Sierra
10.14Mojave
10.15Catalina
11Big Sur
12Monterey
13Ventura
14Sonoma
15Sequoia