diff --git a/OVMF_VARS-1920x1080.fd b/OVMF_VARS-1920x1080.fd index 09921a0e..3b8bb9b6 100644 Binary files a/OVMF_VARS-1920x1080.fd and b/OVMF_VARS-1920x1080.fd differ diff --git a/OpenCore-Boot.sh b/OpenCore-Boot.sh index 6f10bad6..16317726 100755 --- a/OpenCore-Boot.sh +++ b/OpenCore-Boot.sh @@ -37,11 +37,12 @@ args=( # -device usb-mouse,bus=ehci.0 -device nec-usb-xhci,id=xhci -global nec-usb-xhci.msi=off + -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off # -device usb-host,vendorid=0x8086,productid=0x0808 # 2 USD USB Sound Card # -device usb-host,vendorid=0x1b3f,productid=0x2008 # Another 2 USD USB Sound Card -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -drive if=pflash,format=raw,readonly=on,file="$REPO_PATH/$OVMF_DIR/OVMF_CODE.fd" - -drive if=pflash,format=raw,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1024x768.fd" + -drive if=pflash,format=raw,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1920x1080.fd" -smbios type=2 -device ich9-intel-hda -device hda-duplex -device ich9-ahci,id=sata @@ -55,7 +56,7 @@ args=( -netdev user,id=net0 -device virtio-net-pci,netdev=net0,id=net0,mac=52:54:00:c9:18:27 # -netdev user,id=net0 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 # Note: Use this line for High Sierra -monitor stdio - -device VGA,vgamem_mb=128 + -device vmware-svga ) qemu-system-x86_64 "${args[@]}" diff --git a/OpenCore/EFI/BOOT/.contentFlavour b/OpenCore/EFI/BOOT/.contentFlavour new file mode 100644 index 00000000..8b66bffb --- /dev/null +++ b/OpenCore/EFI/BOOT/.contentFlavour @@ -0,0 +1 @@ +OpenCore \ No newline at end of file diff --git a/OpenCore/EFI/BOOT/.contentVisibility b/OpenCore/EFI/BOOT/.contentVisibility new file mode 100644 index 00000000..cd16b9f9 --- /dev/null +++ b/OpenCore/EFI/BOOT/.contentVisibility @@ -0,0 +1 @@ +Disabled \ No newline at end of file diff --git a/OpenCore/EFI/BOOT/BOOTx64.efi b/OpenCore/EFI/BOOT/BOOTx64.efi index 6611a654..60687b7e 100644 Binary files a/OpenCore/EFI/BOOT/BOOTx64.efi and b/OpenCore/EFI/BOOT/BOOTx64.efi differ diff --git a/OpenCore/EFI/OC/Drivers/ArpDxe.efi b/OpenCore/EFI/OC/Drivers/ArpDxe.efi index 92496fbf..e3ec1ad3 100644 Binary files a/OpenCore/EFI/OC/Drivers/ArpDxe.efi and b/OpenCore/EFI/OC/Drivers/ArpDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/AudioDxe.efi b/OpenCore/EFI/OC/Drivers/AudioDxe.efi index b2453d78..3fc91726 100644 Binary files a/OpenCore/EFI/OC/Drivers/AudioDxe.efi and b/OpenCore/EFI/OC/Drivers/AudioDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/BiosVideo.efi b/OpenCore/EFI/OC/Drivers/BiosVideo.efi index fa6b3d1a..65c431d5 100644 Binary files a/OpenCore/EFI/OC/Drivers/BiosVideo.efi and b/OpenCore/EFI/OC/Drivers/BiosVideo.efi differ diff --git a/OpenCore/EFI/OC/Drivers/CrScreenshotDxe.efi b/OpenCore/EFI/OC/Drivers/CrScreenshotDxe.efi index b2b76a79..cca62e95 100644 Binary files a/OpenCore/EFI/OC/Drivers/CrScreenshotDxe.efi and b/OpenCore/EFI/OC/Drivers/CrScreenshotDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/Dhcp4Dxe.efi b/OpenCore/EFI/OC/Drivers/Dhcp4Dxe.efi index b46ebb9d..3c7254ea 100644 Binary files a/OpenCore/EFI/OC/Drivers/Dhcp4Dxe.efi and b/OpenCore/EFI/OC/Drivers/Dhcp4Dxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/DnsDxe.efi b/OpenCore/EFI/OC/Drivers/DnsDxe.efi index 2efbaf1d..26fce1c9 100644 Binary files a/OpenCore/EFI/OC/Drivers/DnsDxe.efi and b/OpenCore/EFI/OC/Drivers/DnsDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/DpcDxe.efi b/OpenCore/EFI/OC/Drivers/DpcDxe.efi index 22584fb5..58d4aa0f 100644 Binary files a/OpenCore/EFI/OC/Drivers/DpcDxe.efi and b/OpenCore/EFI/OC/Drivers/DpcDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/Ext4Dxe.efi b/OpenCore/EFI/OC/Drivers/Ext4Dxe.efi index 35a9508d..bb3392f0 100644 Binary files a/OpenCore/EFI/OC/Drivers/Ext4Dxe.efi and b/OpenCore/EFI/OC/Drivers/Ext4Dxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/HiiDatabase.efi b/OpenCore/EFI/OC/Drivers/HiiDatabase.efi index 6f0a3725..7050e676 100644 Binary files a/OpenCore/EFI/OC/Drivers/HiiDatabase.efi and b/OpenCore/EFI/OC/Drivers/HiiDatabase.efi differ diff --git a/OpenCore/EFI/OC/Drivers/HttpBootDxe.efi b/OpenCore/EFI/OC/Drivers/HttpBootDxe.efi index 58c56e1e..88abfb5f 100644 Binary files a/OpenCore/EFI/OC/Drivers/HttpBootDxe.efi and b/OpenCore/EFI/OC/Drivers/HttpBootDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/HttpDxe.efi b/OpenCore/EFI/OC/Drivers/HttpDxe.efi index 0c046231..3d429711 100644 Binary files a/OpenCore/EFI/OC/Drivers/HttpDxe.efi and b/OpenCore/EFI/OC/Drivers/HttpDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/HttpUtilitiesDxe.efi b/OpenCore/EFI/OC/Drivers/HttpUtilitiesDxe.efi index e79040a6..5f1a7b30 100644 Binary files a/OpenCore/EFI/OC/Drivers/HttpUtilitiesDxe.efi and b/OpenCore/EFI/OC/Drivers/HttpUtilitiesDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/Ip4Dxe.efi b/OpenCore/EFI/OC/Drivers/Ip4Dxe.efi index b54de7c4..425f579e 100644 Binary files a/OpenCore/EFI/OC/Drivers/Ip4Dxe.efi and b/OpenCore/EFI/OC/Drivers/Ip4Dxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/MnpDxe.efi b/OpenCore/EFI/OC/Drivers/MnpDxe.efi index 6bfb2b0c..8b8fd926 100644 Binary files a/OpenCore/EFI/OC/Drivers/MnpDxe.efi and b/OpenCore/EFI/OC/Drivers/MnpDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/NvmExpressDxe.efi b/OpenCore/EFI/OC/Drivers/NvmExpressDxe.efi index b93a6f25..e107f0b3 100644 Binary files a/OpenCore/EFI/OC/Drivers/NvmExpressDxe.efi and b/OpenCore/EFI/OC/Drivers/NvmExpressDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/OpenCanopy.efi b/OpenCore/EFI/OC/Drivers/OpenCanopy.efi index f47b9416..0baef76f 100644 Binary files a/OpenCore/EFI/OC/Drivers/OpenCanopy.efi and b/OpenCore/EFI/OC/Drivers/OpenCanopy.efi differ diff --git a/OpenCore/EFI/OC/Drivers/OpenHfsPlus.efi b/OpenCore/EFI/OC/Drivers/OpenHfsPlus.efi index d939687f..84b1b358 100644 Binary files a/OpenCore/EFI/OC/Drivers/OpenHfsPlus.efi and b/OpenCore/EFI/OC/Drivers/OpenHfsPlus.efi differ diff --git a/OpenCore/EFI/OC/Drivers/OpenLinuxBoot.efi b/OpenCore/EFI/OC/Drivers/OpenLinuxBoot.efi index c38fc973..564f1c5d 100644 Binary files a/OpenCore/EFI/OC/Drivers/OpenLinuxBoot.efi and b/OpenCore/EFI/OC/Drivers/OpenLinuxBoot.efi differ diff --git a/OpenCore/EFI/OC/Drivers/OpenNtfsDxe.efi b/OpenCore/EFI/OC/Drivers/OpenNtfsDxe.efi index d8ae54e3..f1f8fcfd 100644 Binary files a/OpenCore/EFI/OC/Drivers/OpenNtfsDxe.efi and b/OpenCore/EFI/OC/Drivers/OpenNtfsDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/OpenPartitionDxe.efi b/OpenCore/EFI/OC/Drivers/OpenPartitionDxe.efi index d23cf847..16099e98 100644 Binary files a/OpenCore/EFI/OC/Drivers/OpenPartitionDxe.efi and b/OpenCore/EFI/OC/Drivers/OpenPartitionDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/OpenRuntime.efi b/OpenCore/EFI/OC/Drivers/OpenRuntime.efi index 24e00738..5e7f202b 100644 Binary files a/OpenCore/EFI/OC/Drivers/OpenRuntime.efi and b/OpenCore/EFI/OC/Drivers/OpenRuntime.efi differ diff --git a/OpenCore/EFI/OC/Drivers/OpenUsbKbDxe.efi b/OpenCore/EFI/OC/Drivers/OpenUsbKbDxe.efi index 8dfb20e1..c7dd1ad6 100644 Binary files a/OpenCore/EFI/OC/Drivers/OpenUsbKbDxe.efi and b/OpenCore/EFI/OC/Drivers/OpenUsbKbDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/OpenVariableRuntimeDxe.efi b/OpenCore/EFI/OC/Drivers/OpenVariableRuntimeDxe.efi index 50208ec8..27e85936 100644 Binary files a/OpenCore/EFI/OC/Drivers/OpenVariableRuntimeDxe.efi and b/OpenCore/EFI/OC/Drivers/OpenVariableRuntimeDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/Ps2KeyboardDxe.efi b/OpenCore/EFI/OC/Drivers/Ps2KeyboardDxe.efi index 383df0be..ec884b54 100644 Binary files a/OpenCore/EFI/OC/Drivers/Ps2KeyboardDxe.efi and b/OpenCore/EFI/OC/Drivers/Ps2KeyboardDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/Ps2MouseDxe.efi b/OpenCore/EFI/OC/Drivers/Ps2MouseDxe.efi index c2bcf08d..f1c92bc4 100644 Binary files a/OpenCore/EFI/OC/Drivers/Ps2MouseDxe.efi and b/OpenCore/EFI/OC/Drivers/Ps2MouseDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/ResetNvramEntry.efi b/OpenCore/EFI/OC/Drivers/ResetNvramEntry.efi index d3710c48..d0ec5898 100644 Binary files a/OpenCore/EFI/OC/Drivers/ResetNvramEntry.efi and b/OpenCore/EFI/OC/Drivers/ResetNvramEntry.efi differ diff --git a/OpenCore/EFI/OC/Drivers/SnpDxe.efi b/OpenCore/EFI/OC/Drivers/SnpDxe.efi index 379bd179..ae9f2b74 100644 Binary files a/OpenCore/EFI/OC/Drivers/SnpDxe.efi and b/OpenCore/EFI/OC/Drivers/SnpDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/TcpDxe.efi b/OpenCore/EFI/OC/Drivers/TcpDxe.efi index fde07bc2..8ff9e50a 100644 Binary files a/OpenCore/EFI/OC/Drivers/TcpDxe.efi and b/OpenCore/EFI/OC/Drivers/TcpDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/ToggleSipEntry.efi b/OpenCore/EFI/OC/Drivers/ToggleSipEntry.efi index 73a9034d..198b21b9 100644 Binary files a/OpenCore/EFI/OC/Drivers/ToggleSipEntry.efi and b/OpenCore/EFI/OC/Drivers/ToggleSipEntry.efi differ diff --git a/OpenCore/EFI/OC/Drivers/Udp4Dxe.efi b/OpenCore/EFI/OC/Drivers/Udp4Dxe.efi index 21bcab96..8b3cc3cd 100644 Binary files a/OpenCore/EFI/OC/Drivers/Udp4Dxe.efi and b/OpenCore/EFI/OC/Drivers/Udp4Dxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/UsbMouseDxe.efi b/OpenCore/EFI/OC/Drivers/UsbMouseDxe.efi index 2e58bd16..c59ba817 100644 Binary files a/OpenCore/EFI/OC/Drivers/UsbMouseDxe.efi and b/OpenCore/EFI/OC/Drivers/UsbMouseDxe.efi differ diff --git a/OpenCore/EFI/OC/Drivers/XhciDxe.efi b/OpenCore/EFI/OC/Drivers/XhciDxe.efi index 9d3ad8e4..6a47bc9b 100644 Binary files a/OpenCore/EFI/OC/Drivers/XhciDxe.efi and b/OpenCore/EFI/OC/Drivers/XhciDxe.efi differ diff --git a/OpenCore/EFI/OC/OpenCore.efi b/OpenCore/EFI/OC/OpenCore.efi index d3b58030..ea26db96 100644 Binary files a/OpenCore/EFI/OC/OpenCore.efi and b/OpenCore/EFI/OC/OpenCore.efi differ diff --git a/OpenCore/EFI/OC/Tools/BootKicker.efi b/OpenCore/EFI/OC/Tools/BootKicker.efi index 53b651b5..9b2998c0 100644 Binary files a/OpenCore/EFI/OC/Tools/BootKicker.efi and b/OpenCore/EFI/OC/Tools/BootKicker.efi differ diff --git a/OpenCore/EFI/OC/Tools/ChipTune.efi b/OpenCore/EFI/OC/Tools/ChipTune.efi index f7ea1b0a..8a8b99cc 100644 Binary files a/OpenCore/EFI/OC/Tools/ChipTune.efi and b/OpenCore/EFI/OC/Tools/ChipTune.efi differ diff --git a/OpenCore/EFI/OC/Tools/CleanNvram.efi b/OpenCore/EFI/OC/Tools/CleanNvram.efi index 6f9d6614..86719732 100644 Binary files a/OpenCore/EFI/OC/Tools/CleanNvram.efi and b/OpenCore/EFI/OC/Tools/CleanNvram.efi differ diff --git a/OpenCore/EFI/OC/Tools/ControlMsrE2.efi b/OpenCore/EFI/OC/Tools/ControlMsrE2.efi index 854d13c2..6089916d 100644 Binary files a/OpenCore/EFI/OC/Tools/ControlMsrE2.efi and b/OpenCore/EFI/OC/Tools/ControlMsrE2.efi differ diff --git a/OpenCore/EFI/OC/Tools/CsrUtil.efi b/OpenCore/EFI/OC/Tools/CsrUtil.efi index 7f0ee392..3843eac7 100644 Binary files a/OpenCore/EFI/OC/Tools/CsrUtil.efi and b/OpenCore/EFI/OC/Tools/CsrUtil.efi differ diff --git a/OpenCore/EFI/OC/Tools/GopStop.efi b/OpenCore/EFI/OC/Tools/GopStop.efi index 96a7eda7..950bfbc5 100644 Binary files a/OpenCore/EFI/OC/Tools/GopStop.efi and b/OpenCore/EFI/OC/Tools/GopStop.efi differ diff --git a/OpenCore/EFI/OC/Tools/KeyTester.efi b/OpenCore/EFI/OC/Tools/KeyTester.efi index f9293f77..7ec1ae2b 100644 Binary files a/OpenCore/EFI/OC/Tools/KeyTester.efi and b/OpenCore/EFI/OC/Tools/KeyTester.efi differ diff --git a/OpenCore/EFI/OC/Tools/ListPartitions.efi b/OpenCore/EFI/OC/Tools/ListPartitions.efi new file mode 100644 index 00000000..62459f1b Binary files /dev/null and b/OpenCore/EFI/OC/Tools/ListPartitions.efi differ diff --git a/OpenCore/EFI/OC/Tools/MmapDump.efi b/OpenCore/EFI/OC/Tools/MmapDump.efi index bfe4d0f5..fc2b5f55 100644 Binary files a/OpenCore/EFI/OC/Tools/MmapDump.efi and b/OpenCore/EFI/OC/Tools/MmapDump.efi differ diff --git a/OpenCore/EFI/OC/Tools/OpenControl.efi b/OpenCore/EFI/OC/Tools/OpenControl.efi index 992368ed..76db3f74 100644 Binary files a/OpenCore/EFI/OC/Tools/OpenControl.efi and b/OpenCore/EFI/OC/Tools/OpenControl.efi differ diff --git a/OpenCore/EFI/OC/Tools/OpenShell.efi b/OpenCore/EFI/OC/Tools/OpenShell.efi index 54437fb7..da11bc29 100644 Binary files a/OpenCore/EFI/OC/Tools/OpenShell.efi and b/OpenCore/EFI/OC/Tools/OpenShell.efi differ diff --git a/OpenCore/EFI/OC/Tools/ResetSystem.efi b/OpenCore/EFI/OC/Tools/ResetSystem.efi index 6727bde5..89710883 100644 Binary files a/OpenCore/EFI/OC/Tools/ResetSystem.efi and b/OpenCore/EFI/OC/Tools/ResetSystem.efi differ diff --git a/OpenCore/EFI/OC/Tools/RtcRw.efi b/OpenCore/EFI/OC/Tools/RtcRw.efi index 8f27930c..b750f67f 100644 Binary files a/OpenCore/EFI/OC/Tools/RtcRw.efi and b/OpenCore/EFI/OC/Tools/RtcRw.efi differ diff --git a/OpenCore/EFI/OC/Tools/TpmInfo.efi b/OpenCore/EFI/OC/Tools/TpmInfo.efi index 37fb2f99..902158d8 100644 Binary files a/OpenCore/EFI/OC/Tools/TpmInfo.efi and b/OpenCore/EFI/OC/Tools/TpmInfo.efi differ diff --git a/OpenCore/OpenCore.qcow2 b/OpenCore/OpenCore.qcow2 index 2ba3ba75..afaba706 100644 Binary files a/OpenCore/OpenCore.qcow2 and b/OpenCore/OpenCore.qcow2 differ diff --git a/README.md b/README.md index ba7d6c66..e14e047b 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ instructions are included!). :green_heart: Looking for **commercial** support with this stuff? I am [available over email](mailto:dhiru.kholia@gmail.com?subject=[GitHub]%20OSX-KVM%20Commercial%20Support%20Request&body=Hi%20-%20We%20are%20interested%20in%20purchasing%20commercial%20support%20options%20for%20your%20project.) for a chat for **commercial support options only**. Note: Project sponsors get access to the `Private OSX-KVM` repository, and direct support. +Struggling with `Content Caching` stuff? We can help. + Working with `Proxmox` and macOS? See [Nick's blog for sure](https://www.nicksherlock.com/). Yes, we support offline macOS installations now 🎉 @@ -165,7 +167,7 @@ Phenom II X3 720 does not. Ryzen processors work just fine. ./OpenCore-Boot.sh ``` - Note: This same script works for Big Sur, Catalina, Mojave, and High Sierra. + Note: This same script works for all recent macOS versions. - Use the `Disk Utility` tool within the macOS installer to partition, and format the virtual disk attached to the macOS VM. @@ -202,6 +204,15 @@ Phenom II X3 720 does not. Ryzen processors work just fine. - Launch `virt-manager` and start the `macOS` virtual machine. +### Headless macOS + +- Use the provided [boot-macOS-headless.sh](./boot-macOS-headless.sh) script. + + ``` + ./boot-macOS-headless.sh + ``` + + ### Setting Expectations Right Nice job on setting up a `Virtual Hackintosh` system! Such a system can be used diff --git a/boot-macOS-headless.sh b/boot-macOS-headless.sh index 63d89ccb..894841ad 100755 --- a/boot-macOS-headless.sh +++ b/boot-macOS-headless.sh @@ -23,16 +23,12 @@ # NOTE: Tweak the "MY_OPTIONS" line in case you are having booting problems! ############################################################################ -# Changelog: -# - Add support for 'savevm' -# - Fix cpuid related warning on EPYC -# - Fix 'savevm' support - MY_OPTIONS="+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check" -# This script works for Catalina as well as Mojave. Tested with macOS 10.14.6 and macOS 10.15.6. +# This script works for Big Sur, Catalina, Mojave, and High Sierra. Tested with +# macOS 10.15.6, macOS 10.14.6, and macOS 10.13.6. -ALLOCATED_RAM="3072" # MiB +ALLOCATED_RAM="7192" # MiB CPU_SOCKETS="1" CPU_CORES="2" CPU_THREADS="4" @@ -40,32 +36,36 @@ CPU_THREADS="4" REPO_PATH="." OVMF_DIR="." -# for snapshots -export TMPDIR=$PWD - # shellcheck disable=SC2054 args=( -enable-kvm -m "$ALLOCATED_RAM" -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,"$MY_OPTIONS" -machine q35 -usb -device usb-kbd -device usb-tablet -smp "$CPU_THREADS",cores="$CPU_CORES",sockets="$CPU_SOCKETS" + -device usb-ehci,id=ehci + # -device usb-kbd,bus=ehci.0 + # -device usb-mouse,bus=ehci.0 + -device nec-usb-xhci,id=xhci + -global nec-usb-xhci.msi=off + -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off + # -device usb-host,vendorid=0x8086,productid=0x0808 # 2 USD USB Sound Card + # -device usb-host,vendorid=0x1b3f,productid=0x2008 # Another 2 USD USB Sound Card -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" - -drive if=pflash,format=raw,snapshot=off,file="$REPO_PATH/$OVMF_DIR/OVMF_CODE.fd" - -drive if=pflash,format=raw,snapshot=on,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1024x768.fd" + -drive if=pflash,format=raw,readonly=on,file="$REPO_PATH/$OVMF_DIR/OVMF_CODE.fd" + -drive if=pflash,format=raw,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1920x1080.fd" -smbios type=2 -device ich9-ahci,id=sata -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore/OpenCore.qcow2" -device ide-hd,bus=sata.2,drive=OpenCoreBoot -device ide-hd,bus=sata.3,drive=InstallMedia -drive id=InstallMedia,if=none,file="$REPO_PATH/BaseSystem.img",format=raw - # -drive id=MacHDD,if=none,snapshot=on,file="$REPO_PATH/mac_hdd_ng.img",format=qcow2 - -drive id=MacHDD,if=none,snapshot=off,file="$REPO_PATH/mac_hdd_ng.img",format=qcow2 + -drive id=MacHDD,if=none,file="$REPO_PATH/mac_hdd_ng.img",format=qcow2 -device ide-hd,bus=sata.4,drive=MacHDD - -netdev user,id=net0 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 + -netdev user,id=net0,hostfwd=tcp::2222-:22 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 -monitor stdio - -vga vmware + -device vmware-svga -display none - -vnc 0.0.0.0:1,password -k en-us + -vnc 0.0.0.0:1,password=on -k en-us ) qemu-system-x86_64 "${args[@]}" diff --git a/bridge.conf b/bridge.conf index a573665d..f4b9cc37 100644 --- a/bridge.conf +++ b/bridge.conf @@ -1 +1 @@ -allow virbr0 +allow br0 diff --git a/customized/boot-macOS-headless.sh b/customized/boot-macOS-headless.sh new file mode 100755 index 00000000..06415f50 --- /dev/null +++ b/customized/boot-macOS-headless.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +# https://learn.microsoft.com/en-us/xamarin/ios/get-started/installation/windows/connecting-to-mac/ + +# Special thanks to: +# https://github.com/Leoyzen/KVM-Opencore +# https://github.com/thenickdude/KVM-Opencore/ +# https://github.com/qemu/qemu/blob/master/docs/usb2.txt +# +# qemu-img create -f qcow2 mac_hdd_ng.img 128G +# +# echo 1 | sudo tee -a /sys/module/kvm/parameters/ignore_msrs # this is required +# +# Usage: +# +# $ boot-macOS-headless.sh +# +# (qemu) change vnc password +# Password: ******** +# +# Note: Using RealVNC client, connect to ``. +# E.g. `vncviewer localhost:5901` +# +# If using Nested-KVM (running macOS guest under a Ubuntu guest), use socat +# and/or bridged network to exposed the macOS ports. + +############################################################################ +# NOTE: Tweak the "MY_OPTIONS" line in case you are having booting problems! +############################################################################ + +MY_OPTIONS="+ssse3,+sse4.2,+popcnt,+aes,+xsave,+xsaveopt,check" + +# This script works for Big Sur, Catalina, Mojave, and High Sierra. Tested with +# macOS 10.15.6, macOS 10.14.6, and macOS 10.13.6. + +ALLOCATED_RAM="4096" # MiB +CPU_SOCKETS="1" +CPU_CORES="2" +CPU_THREADS="4" + +REPO_PATH="." +OVMF_DIR="." + +# shellcheck disable=SC2054 +args=( + -enable-kvm -m "$ALLOCATED_RAM" -cpu Penryn,kvm=on,vendor=GenuineIntel,vmware-cpuid-freq=on,"$MY_OPTIONS" + -machine q35 + -usb -device usb-kbd -device usb-tablet + -smp 2 + -device usb-ehci,id=ehci + # -device usb-kbd,bus=ehci.0 + # -device usb-mouse,bus=ehci.0 + -device nec-usb-xhci,id=xhci + -global nec-usb-xhci.msi=off + # -device usb-host,vendorid=0x8086,productid=0x0808 # 2 USD USB Sound Card + # -device usb-host,vendorid=0x1b3f,productid=0x2008 # Another 2 USD USB Sound Card + -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" + -drive if=pflash,format=raw,readonly=on,file="$REPO_PATH/$OVMF_DIR/OVMF_CODE.fd" + -drive if=pflash,format=raw,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1920x1080.fd" + -smbios type=2 + -device ich9-ahci,id=sata + -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore/OpenCore.qcow2" + -device ide-hd,bus=sata.2,drive=OpenCoreBoot + -device ide-hd,bus=sata.3,drive=InstallMedia + -drive id=InstallMedia,if=none,file="$REPO_PATH/BaseSystem.img",format=raw + -drive id=MacHDD,if=none,file="$REPO_PATH/mac_hdd_ng.img",format=qcow2 + -device ide-hd,bus=sata.4,drive=MacHDD + # Note: Shift the host's ssh port some somewhere else! + -netdev user,id=net0,hostfwd=tcp::22-:22 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 + -monitor stdio + -device vmware-svga + -display none + -vnc 0.0.0.0:1,password=on -k en-us +) + +qemu-system-x86_64 "${args[@]}" diff --git a/fetch-macOS-v2.py b/fetch-macOS-v2.py index 09051317..bffdf161 100755 --- a/fetch-macOS-v2.py +++ b/fetch-macOS-v2.py @@ -434,7 +434,7 @@ def main(): help='use specified os type, defaults to default ' + MLB_ZERO) parser.add_argument('-diag', '--diagnostics', action='store_true', help='download diagnostics image') parser.add_argument('-s', '--shortname', type=str, default='', - help='available options: high-sierra, mojave, catalina, big-sur, monterey') + help='available options: high-sierra, mojave, catalina, big-sur, monterey, ventura') parser.add_argument('-v', '--verbose', action='store_true', help='print debug information') parser.add_argument('-db', '--board-db', type=str, default=os.path.join(SELF_DIR, 'boards.json'), help='use custom board list for checking, defaults to boards.json') diff --git a/macOS-libvirt-Catalina.xml b/macOS-libvirt-Catalina.xml index 8621746e..faaa38df 100644 --- a/macOS-libvirt-Catalina.xml +++ b/macOS-libvirt-Catalina.xml @@ -44,7 +44,7 @@ hvm /home/CHANGEME/OSX-KVM/OVMF_CODE.fd - /home/CHANGEME/OSX-KVM/OVMF_VARS-1024x768.fd + /home/CHANGEME/OSX-KVM/OVMF_VARS.fd @@ -161,7 +161,7 @@