====== 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