====== Install MacOS as Proxmox Virtual Machine ======
I have yet to install MacOS on Proxmox from the scratch... I converted the existing Unraid VM to Proxmox. The below steps outline that process and I hope to update this page with instructions for a fresh install. If not, do it on Unraid and then follow the below :D. If you are attempting to install a fresh copy... try this: https://www.nicksherlock.com/2022/10/installing-macos-13-ventura-on-proxmox/
===== Proxmox Settings =====
* OS
* Do not use any media (we will move over out existing vdisk
* Type: Other
* System
* Graphic card: VMware compatible (we will add GPU passthrough later)
* Machine: q35
* BIOS: OVMF (UEFI)
* EFI Storage: local-lvm
* Pre-Enroll keys: UNCHECK
* SCSI Controller: VirtIO SCSI single
* Qemu Agent: CHECKED
* Add TPM: UNCHECKED
* Disks
* Just create a small blank disk, we are going to erase and replace with already built disk
* CPU
* Sockets: 1
* Cores: 8
* Type: Haswell
* Memory
* 8192
* Ballooning Device: UNCHECKED
* Network
* Bridge: vmbr0
* Model: VirtIO (paravirtualized)
* Confirm
* Don't start vm after creation
* Finish
===== Passthrough some stuff =====
* Wait to do the GPU until the end (or try it now, I dunno. I did the GPU after successful boot but I think I did the USB stuff first to have keyboard and mouse access)
* Datacenter -> Node name -> VM
* Click Hardware
* Click Add
* PCI Device
* Raw Device
* Device: Select the Device you want to add based on its address
* All Functions: CHECKED
* Click OK
* I did this for USB and Wifi (though I turned Wifi off because I'm tracking down a webpage loading issue... not sure if it's PiHole or Wifi/Eth conflicts.
===== Move virtual disk over =====
* Erase old disk
* Go to Datacenter -> node name -> osx vm
* Click on Hardware
* Select hard disk to remove
* click Detach
* click Remove
* Import new disk
* move the new disk to a location that proxmox can see it (see adding share in the install proxmox section)
* ssh into proxmox or open a shell (Datacenter -> node name, then click >_ Shell
* go to the folder of that new disk (cd /mnt/pve/unraid/ for example)
* rename the image to a .raw file
* type the import command: qm importdisk 201 macos_disk.raw local-lvm --format raw
* where 201 is the vm id and local-lvm is the location.
* after complete go to the vm -> hardware and double click on the unused disk and click Add
* go to Options -> Boot Order and set the bood order to the top.
* link: https://www.youtube.com/watch?v=VlPMNgCg-ck
===== Set boot flags etc =====
* ssh into proxmox or open a shell (Datacenter -> node name, then click >_ Shell
* edit the file /etc/pve/qemu-server/YOUR-VM-ID-HERE.conf
* update the args: line to look like this:
* args: -device isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc -smbios type=2 -device usb-kbd,bus=ehci.0 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
* some sites say to put your OSK instead of that phrase... i've always used phrase
* final .conf file for me looks like:
* agent: 1
args: -device isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc -smbios type=2 -device usb-kbd,bus=ehci.0 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
balloon: 0
bios: ovmf
boot: order=ide0
cores: 8
cpu: Haswell
efidisk0: local-lvm:vm-201-disk-0,efitype=4m,size=4M
hostpci0: 0000:05:00
hostpci1: 0000:11:00,x-vga=1
hostpci2: 0000:06:00,pcie=1
ide0: local-lvm:vm-201-disk-1,size=300G
ide2: none,media=cdrom
machine: q35
memory: 8192
meta: creation-qemu=9.0.0,ctime=1720659249
name: sonoma
net0: virtio=BC:24:11:87:A6:24,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: other
scsihw: virtio-scsi-single
smbios1: uuid=7d279eae-4fb5-43c0-a88e-dbed318fc746
sockets: 1
vmgenid: 8317cc90-c5a3-4296-9389-3905ccd0c139
* link: https://www.nicksherlock.com/2022/10/installing-macos-13-ventura-on-proxmox/
===== GPU Passthrough =====
* Datacenter -> Node name -> VM
* Click Hardware
* Click Add
* PCI Device
* Raw Device
* Device: Select the Device you want to add based on its address
* All Functions: CHECKED
* Primary GPU: CHECKED
* Click OK