Matcha

From Bitpost wiki

Matcha runs macOS Monterey in a melange VM.

Setup

Outside macOS

  • VM noVNC kinda works ok; press the Windows key if you need to switch between windows of the same application by then hitting the backslash ` key.

macOS the way I like it...

Keyboard

  • Install Karabiner-Elements key mapping tool, oh yeah
  • Click predefined rules by community, search for 'PC-Style Shortcuts' pack, wowza

(ok that didn't handle Ctrl-Insert (copy) so I tried this one instead

  • Go through all the macOS permissions loosening to allow it access - you will NOT REGRET IT
  • I could NOT find Ctrl-Ins that worked, even tho karabiner-windows-mode has TWO (they say you can't enable more than one but i tried them each separately).
  • So, edit the file at ~/.config/karabiner/karabiner.json (Windows-Shift-. to show hidden files)
  • You can find the karabiner-windows-mode overrides by searching for
"key_code":"insert",
  • Strip the conditions from it, and it will start to work!

Software

  • Finder
rclick in whitespace > Show View Options >
[x] Always open in list view, sorted by name, hit Use as Defaults
  • Install XCode, EFI Agent, meld, SF Symbols, Karabiner-Elements.
  • Pay $3 and install IconKit, saves hours of work to build stupid icon packs

macOS upgrade

Important! BEFORE UPGRADING macOS, you should visit Nick's site and read up on it first.

Ventura

Before starting, we need to upgrade to a new version of OpenCore.

Starting notes:

  • back up the VM! you will PROBABLY FUCK IT UP AND NEED TO RESTORE so DO IT.
  • Nick: If you had previously edited the serial number in config.plist, carry it over. < THIS
  • Nick: run ifconfig and verify you have an en0 adapter (not en1) (OK)

Update OpenCore:

  • "If you can boot macOS you can update from within it". That's what we will do.
diskutil list # and make note of the EFI disk
sudo mkdir /Volumes/EFI
sudo mount -t msdos /dev/disk0s1(or adjust...) /Volumes/EFI
brew install wget # that kicked off a big brew update --auto-update - fine
cd
mkdir -p development/OpenCore && cd development/OpenCore
wget https://github.com/thenickdude/KVM-Opencore/releases/download/v19/OpenCoreEFIFolder-v19.zip
unzip OpenCoreEFIFolder-v19.zip
mv EFI EFI-OCv19
cp -r /Volumes/EFI/EFI EFI-OC-older
  • scp both OC/config.plist files to cast and merge in old MLB ROM SystemSerialNumber and SystemUUID
💉 m@cast  [~/development] scp matcha:development/OpenCore/EFI-OCv19/OC/config.plist config.plist.OCv19
💉 m@cast  [~/development] scp matcha:development/OpenCore/EFI-OC-older/OC/config.plist config.plist.OC-older
# merge them and scp it back into Volumes
  • REBOOT and pray... WOW it came back. Whew... now we can try that Ventura > Montery upgrade!

Montery

This was a clean upgrade from Big Sur.

Big Sur

I had to follow nick's guide for Big Sur, and once running, immediately upgraded it to Monterey.

Installation

OpenCore VM

You can virtualize your old Mac hardware in a VM.  ;-)

You can follow thenickdude's latest guide with these secret sauce bits to get going. I'll add some notes since those might disappear...

  • Note that thenickdude's Monterey install wasn't working on July 3 2022, as it was pulling the wrong image from Apple. I used Big Sur and once running, immediately upgraded it to Monterey, which went flawlessly.
  • Set up a OpenCore VM with an unclaimed serial using SMBIOS iMacPro1,1 to match up well enough with my AMD Ryzen 9 3900X 12-core processor.
  • This helped to mount and access the EFI boot drive.
  • I used a macOS release of my old fave Meld

See here for more info:

💉 m@cast  [~/apps/macOs-on-proxmox] 
# ^ see readme.txt and install.sh
matcha HOME / apps
EFI Agent > icon in toolbar > EFI drive > mount > browse to OC > config.plist

macOS installation

  • Set the hostname via Apple > System Preferences > Sharing (two places)
  • Get MAC address from Apple > System Preferences > Networking and update dnsmasq to give out a static IP; renew lease on mac
  • Allow SSH: Apple > System Preferences > Sharing > check Remote Login; then you can do the usual ssh config
  • Update /etc/ssh/sshd_config to disallow passwords, and restart sshd:
sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd
  • set a banner in ~/.zshrc