diff --git a/Dockerfile b/Dockerfile index a4e7ed7..a0ce27c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,10 +15,12 @@ FROM scratch AS runner COPY --from=qemux/qemu:7.32 / / ARG VERSION_ARG="0.0" -ARG VERSION_KVM_OPENCORE="v21" +ARG VERSION_VM_HIDE="2.0.0" +ARG VERSION_KVM_OPENCORE="0.7" ARG VERSION_OSX_KVM="326053dd61f49375d5dfb28ee715d38b04b5cd8e" +ARG REPO_VM_HIDE="https://github.com/Carnations-Botanica/VMHide" +ARG REPO_KVM_OPENCORE="https://github.com/LongQT-sea/OpenCore-ISO" ARG REPO_OSX_KVM="https://raw.githubusercontent.com/kholia/OSX-KVM" -ARG REPO_KVM_OPENCORE="https://github.com/thenickdude/KVM-Opencore" ARG DEBCONF_NOWARNINGS="yes" ARG DEBIAN_FRONTEND="noninteractive" @@ -27,6 +29,7 @@ ARG DEBCONF_NONINTERACTIVE_SEEN="true" RUN set -eu && \ apt-get update && \ apt-get --no-install-recommends -y install \ + 7zip \ mtools && \ apt-get clean && \ echo "$VERSION_ARG" > /etc/version && \ @@ -42,7 +45,8 @@ ADD --chmod=644 \ $REPO_OSX_KVM/$VERSION_OSX_KVM/OVMF_VARS-1024x768.fd \ $REPO_OSX_KVM/$VERSION_OSX_KVM/OVMF_VARS-1920x1080.fd /usr/share/OVMF/ -ADD $REPO_KVM_OPENCORE/releases/download/$VERSION_KVM_OPENCORE/OpenCore-$VERSION_KVM_OPENCORE.iso.gz /opencore.iso.gz +ADD $REPO_VM_HIDE/releases/download/$VERSION_VM_HIDE/VMHide-$VERSION_VM_HIDE-RELEASE.zip /vmh.zip +ADD $REPO_KVM_OPENCORE/releases/download/v$VERSION_KVM_OPENCORE/LongQT-OpenCore-v$VERSION_KVM_OPENCORE.iso /opencore.iso VOLUME /storage EXPOSE 5900 8006 diff --git a/assets/config.plist b/assets/config.plist index f6e7fa7..ee3b944 100644 --- a/assets/config.plist +++ b/assets/config.plist @@ -1,1890 +1,1440 @@ - - ACPI - Add - - - Comment - My custom DSDT - Enabled - - Path - DSDT.aml - - - Comment - My custom SSDT - Enabled - - Path - SSDT-1.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-ALS0.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-AWAC-DISABLE.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-BRG0.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-EC-USBX.aml - - - Comment - Fake EC and USBX Power - Enabled - - Path - SSDT-EC.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-EHCx-DISABLE.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-IMEI.aml - - - Comment - CPU AGPM Plugin=1 - Enabled - - Path - SSDT-PLUG.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-PMC.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-PNLF.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-RTC0-RANGE.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-RTC0.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-SBUS-MCHC.aml - - - Comment - Read the comment in dsl sample - Enabled - - Path - SSDT-UNC.aml - - - Comment - add DTGP method - Enabled - - Path - SSDT-DTGP.aml - - - Comment - USB 2.0 Injection - Enabled - - Path - SSDT-EHCI.aml - - - Delete - - - All - - Comment - Delete CpuPm - Enabled - - OemTableId - Q3B1UG0AAAA= - TableLength - 0 - TableSignature - U1NEVA== - - - All - - Comment - Delete Cpu0Ist - Enabled - - OemTableId - Q3B1MElzdAA= - TableLength - 0 - TableSignature - U1NEVA== - - - Patch - - - Base - - BaseSkip - 0 - Comment - Replace one byte sequence with another - Count - 0 - Enabled - - Find - ESIzRA== - Limit - 0 - Mask - - OemTableId - - Replace - RDMiEQ== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Base - \_SB.PCI0.LPCB.HPET - BaseSkip - 0 - Comment - HPET _CRS to XCRS - Count - 1 - Enabled - - Find - X0NSUw== - Limit - 0 - Mask - - OemTableId - - Replace - WENSUw== - ReplaceMask - - Skip - 0 - TableLength - 0 - TableSignature - - - - Quirks + ACPI - FadtEnableReset - - NormalizeHeaders - - RebaseRegions - - ResetHwSig - - ResetLogoStatus - - SyncTableIds - - - - Booter - - MmioWhitelist - - Patch - - Quirks - - AllowRelocationBlock - - AvoidRuntimeDefrag - - DevirtualiseMmio - - DisableSingleUser - - DisableVariableWrite - - DiscardHibernateMap - - EnableSafeModeSlide - - EnableWriteUnprotector - - FixupAppleEfiImages - - ForceBooterSignature - - ForceExitBootServices - - ProtectMemoryRegions - - ProtectSecureBoot - - ProtectUefiServices - - ProvideCustomSlide - - ProvideMaxSlide - 0 - RebuildAppleMemoryMap - - ResizeAppleGpuBars - -1 - SetupVirtualMap - - SignalAppleOS - - SyncRuntimePermissions - - - - DeviceProperties - - Add - - PciRoot(0x1)/Pci(0x1F,0x0) + Add + + + Comment + SSDT-EC.aml + Enabled + + Path + SSDT-EC.aml + + + Comment + SSDT-USBX.aml + Enabled + + Path + SSDT-USBX.aml + + + Delete + + + All + + Comment + Delete CpuPm + Enabled + + OemTableId + Q3B1UG0AAAA= + TableLength + 0 + TableSignature + U1NEVA== + + + All + + Comment + Delete Cpu0Ist + Enabled + + OemTableId + Q3B1MElzdAA= + TableLength + 0 + TableSignature + U1NEVA== + + + Patch + + + Base + + BaseSkip + 0 + Comment + Replace one byte sequence with another + Count + 0 + Enabled + + Find + ESIzRA== + Limit + 0 + Mask + + OemTableId + + Replace + RDMiEQ== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + + + + Base + \_SB.PCI0.LPCB.HPET + BaseSkip + 0 + Comment + HPET _CRS to XCRS + Count + 1 + Enabled + + Find + X0NSUw== + Limit + 0 + Mask + + OemTableId + + Replace + WENSUw== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + + + + Quirks - compatible - pci8086,2916 - device-id - - FikA - - name - pci8086,2916 + FadtEnableReset + + NormalizeHeaders + + RebaseRegions + + ResetHwSig + + ResetLogoStatus + + SyncTableIds + - Delete - - - Kernel - - Add - - - Arch - Any - BundlePath - Lilu.kext - Comment - Patch engine - Enabled - - ExecutablePath - Contents/MacOS/Lilu - MaxKernel - - MinKernel - 8.0.0 - PlistPath - Contents/Info.plist - - - Arch - Any - BundlePath - VirtualSMC.kext - Comment - SMC emulator - Enabled - - ExecutablePath - Contents/MacOS/VirtualSMC - MaxKernel - - MinKernel - 8.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - WhateverGreen.kext - Comment - Video patches - Enabled - - ExecutablePath - Contents/MacOS/WhateverGreen - MaxKernel - - MinKernel - 10.0.0 - PlistPath - Contents/Info.plist - - - Arch - Any - BundlePath - AppleALC.kext - Comment - Audio patches - Enabled - - ExecutablePath - Contents/MacOS/AppleALC - MaxKernel - - MinKernel - 8.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - IntelMausi.kext - Comment - Intel Ethernet LAN - Enabled - - ExecutablePath - Contents/MacOS/IntelMausi - MaxKernel - - MinKernel - 13.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - Legacy_USB3.kext - Comment - XHC ports configuration - Enabled - - ExecutablePath - - MaxKernel - - MinKernel - 15.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - MCEReporterDisabler.kext - Comment - AppleMCEReporter disabler - Enabled - - ExecutablePath - - MaxKernel - - MinKernel - 19.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - VoodooPS2Controller.kext - Comment - - Enabled - - ExecutablePath - Contents/MacOS/VoodooPS2Controller - MaxKernel - - MinKernel - 15.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext - Comment - - Enabled - - ExecutablePath - Contents/MacOS/VoodooPS2Keyboard - MaxKernel - - MinKernel - 15.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext - Comment - - Enabled - - ExecutablePath - Contents/MacOS/VoodooPS2Mouse - MaxKernel - - MinKernel - 15.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext - Comment - - Enabled - - ExecutablePath - Contents/MacOS/VoodooPS2Trackpad - MaxKernel - - MinKernel - 15.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - VoodooPS2Controller.kext/Contents/PlugIns/VoodooInput.kext - Comment - - Enabled - - ExecutablePath - Contents/MacOS/VoodooInput - MaxKernel - - MinKernel - 15.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - USBPorts.kext - Comment - - Enabled - - ExecutablePath - - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - AGPMInjector.kext - Comment - - Enabled - - ExecutablePath - - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - BrcmFirmwareData.kext - Comment - Bluetooth firmware - Enabled - - ExecutablePath - Contents/MacOS/BrcmFirmwareData - MaxKernel - - MinKernel - - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - BrcmNonPatchRAM2.kext - Comment - Bluetooth support for macOS 10.11-10.14 - Enabled - - ExecutablePath - Contents/MacOS/BrcmNonPatchRAM2 - MaxKernel - 18.99.99 - MinKernel - 15.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - BrcmPatchRAM2.kext - Comment - Bluetooth support for macOS 10.11-10.14 - Enabled - - ExecutablePath - Contents/MacOS/BrcmPatchRAM2 - MaxKernel - 18.99.99 - MinKernel - 15.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - BrcmPatchRAM3.kext - Comment - Bluetooth support for macOS 10.15- - Enabled - - ExecutablePath - Contents/MacOS/BrcmPatchRAM3 - MaxKernel - - MinKernel - 19.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - BrcmBluetoothInjector.kext - Comment - Bluetooth support for macOS 10.15-11 - Enabled - - ExecutablePath - - MaxKernel - 20.99.99 - MinKernel - 19.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - BlueToolFixup.kext - Comment - Bluetooth support for macOS 12- - Enabled - - ExecutablePath - Contents/MacOS/BlueToolFixup - MaxKernel - - MinKernel - 21.0.0 - PlistPath - Contents/Info.plist - - - Arch - x86_64 - BundlePath - CryptexFixup.kext - Comment - Support for non-AVX2 CPUs in Ventura/Sonoma - Enabled - - ExecutablePath - Contents/MacOS/CryptexFixup - MaxKernel - 23.99.99 - MinKernel - 22.1.0 - PlistPath - Contents/Info.plist - - - Block - - - Arch - Any - Comment - - Enabled - - Identifier - com.apple.driver.AppleTyMCEDriver - MaxKernel - - MinKernel - - Strategy - Disable - - - Emulate + Booter - Cpuid1Data - - VAYFAAAAAAAAAAAAAAAAAA== - - Cpuid1Mask - - ////AAAAAAAAAAAAAAAAAA== - - DummyPowerManagement - - MaxKernel - - MinKernel - - - Force - + MmioWhitelist + + + Address + 4275159040 + Comment + Haswell: SB_RCBA is a 0x4 page memory region, containing SPI_BASE at 0x3800 (SPI_BASE_ADDRESS) + Enabled + + + + Address + 4278190080 + Comment + Generic: PCI root is a 0x1000 page memory region used by some types of firmware + Enabled + + + + Patch + + + Arch + Any + Comment + macOS + Count + 1 + Enabled + + Find + bWFjT1M= + Identifier + Apple + Limit + 0 + Mask + + Replace + aGFjT1M= + ReplaceMask + + Skip + 0 + + + Quirks - Arch - Any - BundlePath - System/Library/Extensions/IONetworkingFamily.kext - Comment - - Enabled + AllowRelocationBlock - ExecutablePath - Contents/MacOS/IONetworkingFamily - Identifier - com.apple.iokit.IONetworkingFamily + AvoidRuntimeDefrag + + ClearTaskSwitchBit + + DevirtualiseMmio + + DisableSingleUser + + DisableVariableWrite + + DiscardHibernateMap + + EnableSafeModeSlide + + EnableWriteUnprotector + + FixupAppleEfiImages + + ForceBooterSignature + + ForceExitBootServices + + ProtectMemoryRegions + + ProtectSecureBoot + + ProtectUefiServices + + ProvideCustomSlide + + ProvideMaxSlide + 0 + RebuildAppleMemoryMap + + ResizeAppleGpuBars + 0 + SetupVirtualMap + + SignalAppleOS + + SyncRuntimePermissions + + + + DeviceProperties + + Add + + PciRoot(0x0)/Pci(0x2,0x0) + + AAPL,ig-platform-id + + + PciRoot(0x0)/Pci(0x1b,0x0) + + layout-id + AQAAAA== + + PciRoot(0x0)/Pci(0x1E,0x0)/Pci(0x1,0x0)/Pci(0x12,0x0) + + built-in + AQ== + + PciRoot(0x0)/Pci(0x1E,0x0)/Pci(0x1,0x0)/Pci(0x7,0x0) + + built-in + AQ== + + PciRoot(0x0)/Pci(0x12,0x0) + + built-in + AQ== + + PciRoot(0x0)/Pci(0x13,0x0) + + built-in + AQ== + + PciRoot(0x0)/Pci(0x1E,0x0)/Pci(0x1,0x0)/Pci(0x13,0x0) + + built-in + AQ== + + + Delete + + Kernel + + Add + + + Arch + Any + BundlePath + Lilu.kext + Comment + Lilu.kext + Enabled + + ExecutablePath + Contents/MacOS/Lilu + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + VMHide.kext + Comment + VMHide.kext + Enabled + + ExecutablePath + Contents/MacOS/VMHide + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + VirtualSMC.kext + Comment + VirtualSMC.kext + Enabled + + ExecutablePath + Contents/MacOS/VirtualSMC + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + WhateverGreen.kext + Comment + WhateverGreen.kext + Enabled + + ExecutablePath + Contents/MacOS/WhateverGreen + MaxKernel + + MinKernel + 10.0.0 + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + VoodooPS2Controller.kext + Comment + Acidanthera VoodooPS2Controller.kext + Enabled + + ExecutablePath + Contents/MacOS/VoodooPS2Controller + MaxKernel + + MinKernel + 15.0.0 + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext + Comment + Acidanthera VoodooPS2Keyboard.kext + Enabled + + ExecutablePath + Contents/MacOS/VoodooPS2Keyboard + MaxKernel + + MinKernel + 15.0.0 + PlistPath + Contents/Info.plist + + + Arch + Any + BundlePath + AppleMCEReporterDisabler.kext + Comment + Fix kernel panic MacPro SMBIOS + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + 21.0.0 + PlistPath + Contents/Info.plist + + + Block + + + Arch + Any + Comment + + Enabled + + Identifier + com.apple.driver.AppleTyMCEDriver + MaxKernel + + MinKernel + + Strategy + Disable + + + Arch + x86_64 + Comment + + Enabled + + Identifier + com.apple.iokit.IOSkywalkFamily + MaxKernel + + MinKernel + 23.0.0 + Strategy + Exclude + + + Emulate + + Cpuid1Data + + Cpuid1Mask + + DummyPowerManagement + MaxKernel - 13.99.99 + MinKernel - PlistPath - Contents/Info.plist - - Patch - + Force + + + Arch + Any + BundlePath + System/Library/Extensions/IONetworkingFamily.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/IONetworkingFamily + Identifier + com.apple.iokit.IONetworkingFamily + MaxKernel + 13.99.99 + MinKernel + + PlistPath + Contents/Info.plist + + + Patch + + + Arch + Any + Base + + Comment + Enable TRIM/discard on QEMU SATA SSD - 10.7+ + Count + 0 + Enabled + + Find + AEFQUExFIFNTRAA= + Identifier + com.apple.iokit.IOAHCIBlockStorage + Limit + 0 + Mask + + MaxKernel + + MinKernel + 11.0.0 + Replace + AAAAAAAAAAAAAAA= + ReplaceMask + + Skip + 0 + + + Arch + Any + Base + __ZN8AppleRTC18setupDateTimeAlarmEPK11RTCDateTime + Comment + Disable RTC wake scheduling + Count + 1 + Enabled + + Find + + Identifier + com.apple.driver.AppleRTC + Limit + 0 + Mask + + MaxKernel + + MinKernel + 19.0.0 + Replace + ww== + ReplaceMask + + Skip + 0 + + + Arch + Any + Base + _AcpiOsVprintf + Comment + Disable ACPI logging + Count + 0 + Enabled + + Find + + Identifier + com.apple.driver.AppleACPIPlatform + Limit + 0 + Mask + + MaxKernel + 18.5.0 + MinKernel + 18.5.0 + Replace + ww== + ReplaceMask + + Skip + 0 + + + Arch + x86_64 + Base + __ZN11BCM5701Enet14getAdapterInfoEv + Comment + Broadcom BCM57785 patch + Count + 1 + Enabled + + Find + 6AAA//9miYMABQAA + Identifier + com.apple.iokit.AppleBCM5701Ethernet + Limit + 0 + Mask + /wAA//////////// + MaxKernel + 19.9.9 + MinKernel + + Replace + uLQWAABmiYMABQAA + ReplaceMask + + Skip + 0 + + + Arch + x86_64 + Base + __ZN24IOBluetoothHCIController5startEP9IOService + Comment + Disable Bluetooth entirely + Count + 1 + Enabled + + Find + + Identifier + com.apple.iokit.IOBluetoothFamily + Limit + 0 + Mask + + MaxKernel + + MinKernel + + Replace + ww== + ReplaceMask + + Skip + 0 + + + Arch + x86_64 + Base + _panic + Comment + Send panic string to serial port + Count + 1 + Enabled + + Find + + Identifier + kernel + Limit + 0 + Mask + + MaxKernel + + MinKernel + + Replace + MfaKD4TJdQT/xrEKZrr9A+yoIHT7Zrr4A4jI7kj/x4X2dN/r/g== + ReplaceMask + + Skip + 0 + + + Arch + x86_64 + Base + _kernel_debug_string_early + Comment + Send early prints to serial port + Count + 1 + Enabled + + Find + + Identifier + kernel + Limit + 0 + Mask + + MaxKernel + + MinKernel + + Replace + MfaKD4TJdQT/xrEKZrr9A+yoIHT7Zrr4A4jI7kj/x4X2dN/D + ReplaceMask + + Skip + 0 + + + Arch + Any + Base + _disable_serial_output + Comment + Enable early serial output on RELEASE kernel + Count + 1 + Enabled + + Find + + Identifier + kernel + Limit + 0 + Mask + + MaxKernel + + MinKernel + + Replace + AA== + ReplaceMask + + Skip + 0 + + + Arch + Any + Base + _vstart + Comment + Print K and dead loop + Count + 1 + Enabled + + Find + + Identifier + kernel + Limit + 0 + Mask + + MaxKernel + + MinKernel + + Replace + sUtmuv0D7KggdPtmuvgDiMjusQpmuv0D7KggdPtmuvgDiMju6/4= + ReplaceMask + + Skip + 0 + + + Arch + Any + Base + _vstart + Comment + Early reboot + Count + 1 + Enabled + + Find + + Identifier + kernel + Limit + 0 + Mask + + MaxKernel + + MinKernel + + Replace + McCwBrr5DAAA7uv+ + ReplaceMask + + Skip + 0 + + + Arch + x86_64 + Base + _early_random + Comment + SurPlus v1 - PART 1 of 2 - Patch read_erandom (inlined in _early_random) + Count + 1 + Enabled + + Find + AHQjSIs= + Identifier + kernel + Limit + 800 + Mask + + MaxKernel + 21.1.0 + MinKernel + 20.4.0 + Replace + AOsjSIs= + ReplaceMask + + Skip + 0 + + + Arch + x86_64 + Base + _register_and_init_prng + Comment + SurPlus v1 - PART 2 of 2 - Patch register_and_init_prng + Count + 1 + Enabled + + Find + ukgBAAAx9g== + Identifier + kernel + Limit + 256 + Mask + + MaxKernel + 21.1.0 + MinKernel + 20.4.0 + Replace + ukgBAADrBQ== + ReplaceMask + + Skip + 0 + + + Quirks - Arch - x86_64 - Base - - Comment - algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN - Count - 1 - Enabled - - Find - - MduAPQAAAAAGdQA= - - Identifier - kernel - Limit - 0 - Mask - - /////wAAAP///wA= - - MaxKernel - 20.3.99 - MinKernel - 17.0.0 - Replace - - u7xP6njpXQAAAJA= - - ReplaceMask - - - Skip - 0 - - - Arch - x86_64 - Base - - Comment - algrey - thenickdude - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN (Big Sur 11.3+, Monterey, Ventura, Sonoma) - Count - 1 - Enabled - - Find - - MdKzAYA9AAAAAAZ1 - - Identifier - kernel - Limit - 0 - Mask - - ////////AAAAAP// - - MaxKernel - 23.99.99 - MinKernel - 20.4.0 - Replace - - urxP6nizAJCQkJDr - - ReplaceMask - - - Skip - 0 - - - Arch - x86_64 - Base - _early_random - Comment - SurPlus v1 - PART 1 of 2 - Patch read_erandom (inlined in _early_random) - Count - 1 - Enabled - - Find - AHQjSIs= - Identifier - kernel - Limit - 800 - Mask - - MaxKernel - 21.1.0 - MinKernel - 20.4.0 - Replace - AOsjSIs= - ReplaceMask - - Skip - 0 - - - Arch - x86_64 - Base - _register_and_init_prng - Comment - SurPlus v1 - PART 2 of 2 - Patch register_and_init_prng - Count - 1 - Enabled - - Find - ukgBAAAx9g== - Identifier - kernel - Limit - 256 - Mask - - MaxKernel - 21.1.0 - MinKernel - 20.4.0 - Replace - ukgBAADrBQ== - ReplaceMask - - Skip - 0 - - - Arch - x86_64 - Base - _apfs_filevault_allowed - Comment - Force FileVault on Broken Seal (from OCLP project, for non-AVX2 Ventura/Sonoma) - Count - 0 - Enabled - - Find - - Identifier - com.apple.filesystems.apfs - Limit - 0 - Mask - - MaxKernel - 23.99.99 - MinKernel - 22.1.0 - Replace - uAEAAADD - ReplaceMask - - Skip - 0 - - - Quirks - - AppleCpuPmCfgLock - - AppleXcpmCfgLock - - AppleXcpmExtraMsrs - - AppleXcpmForceBoost - - CustomPciSerialDevice - - CustomSMBIOSGuid - - DisableIoMapper - - DisableIoMapperMapping - - DisableLinkeditJettison - - DisableRtcChecksum - - ExtendBTFeatureFlags - - ExternalDiskIcons - - ForceAquantiaEthernet - - ForceSecureBootScheme - - IncreasePciBarSize - - LapicKernelPanic - - LegacyCommpage - - PanicNoKextDump - - PowerTimeoutKernelPanic - - ProvideCurrentCpuInfo - - SetApfsTrimTimeout - 0 - ThirdPartyDrives - - XhciPortLimit - - - Scheme - - CustomKernel - - FuzzyMatch - - KernelArch - Auto - KernelCache - Auto - - - Misc - - BlessOverride - - Boot - - ConsoleAttributes - 0 - HibernateMode - Auto - HibernateSkipsPicker - - HideAuxiliary - - InstanceIdentifier - - LauncherOption - Disabled - LauncherPath - Default - PickerAttributes - 17 - PickerAudioAssist - - PickerMode - External - PickerVariant - Auto - PollAppleHotKeys - - ShowPicker - - TakeoffDelay - 0 - Timeout - 0 - - Debug - - AppleDebug - - ApplePanic - - DisableWatchDog - - DisplayDelay - 0 - DisplayLevel - 2147483650 - LogModules - * - SysReport - - Target - 3 - - Entries - - Security - - AllowSetDefault - - ApECID - 0 - AuthRestart - - BlacklistAppleUpdate - - DmgLoading - Signed - EnablePassword - - ExposeSensitiveData - 6 - HaltLevel - 2147483648 - PasswordHash - - PasswordSalt - - ScanPolicy - 18809603 - SecureBootModel - Disabled - Vault - Optional - - Serial - - Init - - Override - - - Tools - - - Arguments - - Auxiliary - - Comment - Not signed for security reasons - Enabled - - Flavour - OpenShell:UEFIShell:Shell - FullNvramAccess + AppleCpuPmCfgLock - Name - UEFI Shell - Path - Shell.efi - RealPath + AppleXcpmCfgLock - TextMode + AppleXcpmExtraMsrs + + AppleXcpmForceBoost + + CustomPciSerialDevice + + CustomSMBIOSGuid + + DisableIoMapper + + DisableIoMapperMapping + + DisableLinkeditJettison + + DisableRtcChecksum + + ExtendBTFeatureFlags + + ExternalDiskIcons + + ForceAquantiaEthernet + + ForceSecureBootScheme + + IncreasePciBarSize + + LapicKernelPanic + + LegacyCommpage + + PanicNoKextDump + + PowerTimeoutKernelPanic + + ProvideCurrentCpuInfo + + SetApfsTrimTimeout + -1 + ThirdPartyDrives + + XhciPortLimit + Scheme - Arguments - - Auxiliary + CustomKernel + + FuzzyMatch - Comment - Memory testing utility - Enabled - - Flavour - MemTest - FullNvramAccess - - Name - memtest86 - Path - memtest86/BOOTX64.efi - RealPath - - TextMode - - - - Arguments - Shutdown - Auxiliary - - Comment - Perform shutdown - Enabled - - Flavour + KernelArch + Auto + KernelCache Auto - FullNvramAccess - - Name - Shutdown - Path - ResetSystem.efi - RealPath - - TextMode - - - - NVRAM - - Add + + Misc - 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + BlessOverride + + Boot - DefaultBackgroundColor - AAAAAA== - - 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 - - rtc-blacklist - - - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - - #INFO (prev-lang:kbd) - en:252 (ABC), set 656e3a323532 - ForceDisplayRotationInEFI + ConsoleAttributes 0 - SystemAudioVolume - Rg== - boot-args - keepsyms=1 - csr-active-config - Jg8= - prev-lang:kbd - ZW4tVVM6MA== - run-efi-updater - No + HibernateMode + None + HibernateSkipsPicker + + HideAuxiliary + + InstanceIdentifier + + LauncherOption + Disabled + LauncherPath + Default + PickerAttributes + 17 + PickerAudioAssist + + PickerMode + External + PickerVariant + Auto + PollAppleHotKeys + + ShowPicker + + TakeoffDelay + 0 + Timeout + 2 + Debug + + AppleDebug + + ApplePanic + + DisableWatchDog + + DisplayDelay + 0 + DisplayLevel + 2147483650 + LogModules + * + SysReport + + Target + 0 + + Entries + + + Arguments + + Auxiliary + + Comment + Not signed for security reasons + Enabled + + Flavour + Auto + Name + CustomOS + Path + PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,11-22-33-44-55-66-77-88)/HD(1,GPT,00000000-0000-0000-0000-000000000000,0x800,0x64000)/\EFI\BOOT\BOOTX64.EFI + TextMode + + + + Security + + AllowSetDefault + + ApECID + 0 + AuthRestart + + BlacklistAppleUpdate + + DmgLoading + Signed + EnablePassword + + ExposeSensitiveData + 6 + HaltLevel + 2147483648 + PasswordHash + + PasswordSalt + + ScanPolicy + 0 + SecureBootModel + Disabled + Vault + Optional + + Serial + + Init + + Override + + + Tools + - Delete + NVRAM - 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 - - DefaultBackgroundColor - - 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 - - rtc-blacklist - - 7C436110-AB2A-4BBB-A880-FE41995C9F82 - - boot-args - ForceDisplayRotationInEFI - + Add + + 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + + DefaultBackgroundColor + AAAAAA== + + 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 + + rtc-blacklist + + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + #INFO (prev-lang:kbd) + en:252 (ABC), set 656e3a323532 + ForceDisplayRotationInEFI + 0 + SystemAudioVolume + Rg== + boot-args + keepsyms=1 debug=0x100 -lilubeta -wegbeta vmhState=enabled + csr-active-config + AAAAAA== + prev-lang:kbd + ZW4tVVM6MA== + run-efi-updater + No + + + Delete + + 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + + DefaultBackgroundColor + + 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 + + rtc-blacklist + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + boot-args + ForceDisplayRotationInEFI + + + LegacyOverwrite + + LegacySchema + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + EFILoginHiDPI + EFIBluetoothDelay + LocationServicesEnabled + SystemAudioVolume + SystemAudioVolumeDB + SystemAudioVolumeSaved + bluetoothActiveControllerInfo + bluetoothInternalControllerInfo + flagstate + fmm-computer-name + fmm-mobileme-token-FMM + fmm-mobileme-token-FMM-BridgeHasAccount + nvda_drv + prev-lang:kbd + backlight-level + BootCampHD + + 8BE4DF61-93CA-11D2-AA0D-00E098032B8C + + Boot0080 + Boot0081 + Boot0082 + BootNext + BootOrder + + + WriteFlash + - LegacyOverwrite - - LegacySchema + PlatformInfo - 7C436110-AB2A-4BBB-A880-FE41995C9F82 + Automatic + + CustomMemory + + Generic + + AdviseFeatures + + MLB + M0000000000000001 + MaxBIOSVersion + + ProcessorType + 0 + ROM + ESIzRFVm + SpoofVendor + + SystemMemoryStatus + Auto + SystemProductName + iMac19,1 + SystemSerialNumber + W00000000001 + SystemUUID + 00000000-0000-0000-0000-000000000000 + + UpdateDataHub + + UpdateNVRAM + + UpdateSMBIOS + + UpdateSMBIOSMode + Create + UseRawUuidEncoding + + + UEFI + + APFS + + EnableJumpstart + + GlobalConnect + + HideVerbose + + JumpstartHotPlug + + MinDate + -1 + MinVersion + -1 + + AppleInput + + AppleEvent + Builtin + CustomDelays + + GraphicsInputMirroring + + KeyInitialDelay + 50 + KeySubsequentDelay + 5 + PointerDwellClickTimeout + 0 + PointerDwellDoubleClickTimeout + 0 + PointerDwellRadius + 0 + PointerPollMask + -1 + PointerPollMax + 80 + PointerPollMin + 10 + PointerSpeedDiv + 1 + PointerSpeedMul + 1 + + Audio + + AudioCodec + 0 + AudioDevice + PciRoot(0x0)/Pci(0x1b,0x0) + AudioOutMask + 1 + AudioSupport + + DisconnectHda + + MaximumGain + -15 + MinimumAssistGain + -30 + MinimumAudibleGain + -55 + PlayChime + Auto + ResetTrafficClass + + SetupDelay + 0 + + ConnectDrivers + + Drivers - EFILoginHiDPI - EFIBluetoothDelay - LocationServicesEnabled - SystemAudioVolume - SystemAudioVolumeDB - SystemAudioVolumeSaved - bluetoothActiveControllerInfo - bluetoothInternalControllerInfo - flagstate - fmm-computer-name - fmm-mobileme-token-FMM - fmm-mobileme-token-FMM-BridgeHasAccount - nvda_drv - prev-lang:kbd - backlight-level - BootCampHD + + Arguments + + Comment + OpenCanopy.efi + Enabled + + LoadEarly + + Path + OpenCanopy.efi + + + Arguments + + Comment + OpenHfsPlus.efi + Enabled + + LoadEarly + + Path + OpenHfsPlus.efi + + + Arguments + + Comment + OpenRuntime.efi + Enabled + + LoadEarly + + Path + OpenRuntime.efi + + + Arguments + + Comment + ResetNvramEntry.efi + Enabled + + LoadEarly + + Path + ResetNvramEntry.efi + + + Arguments + + Comment + ToggleSipEntry.efi + Enabled + + LoadEarly + + Path + ToggleSipEntry.efi + - 8BE4DF61-93CA-11D2-AA0D-00E098032B8C + Input + + KeyFiltering + + KeyForgetThreshold + 5 + KeySupport + + KeySupportMode + Auto + KeySwap + + PointerSupport + + PointerSupportMode + ASUS + TimerResolution + 50000 + + Output + + ClearScreenOnModeSwitch + + ConsoleFont + + ConsoleMode + + DirectGopRendering + + ForceResolution + + GopBurstMode + + GopPassThrough + Disabled + IgnoreTextInGraphics + + InitialMode + Auto + ProvideConsoleGop + + ReconnectGraphicsOnConnect + + ReconnectOnResChange + + ReplaceTabWithSpace + + Resolution + + SanitiseClearScreen + + TextRenderer + BuiltinGraphics + UIScale + 0 + UgaPassThrough + + + ProtocolOverrides + + AppleAudio + + AppleBootPolicy + + AppleDebugLog + + AppleEg2Info + + AppleFramebufferInfo + + AppleImageConversion + + AppleImg4Verification + + AppleKeyMap + + AppleRtcRam + + AppleSecureBoot + + AppleSmcIo + + AppleUserInterfaceTheme + + DataHub + + DeviceProperties + + FirmwareVolume + + HashServices + + OSInfo + + PciIo + + UnicodeCollation + + + Quirks + + ActivateHpetSupport + + DisableSecurityPolicy + + EnableVectorAcceleration + + EnableVmx + + ExitBootServicesDelay + 0 + ForceOcWriteFlash + + ForgeUefiSupport + + IgnoreInvalidFlexRatio + + ReleaseUsbOwnership + + ReloadOptionRoms + + RequestBootVarRouting + + ResizeGpuBars + -1 + ResizeUsePciRbIo + + ShimRetainProtocol + + TscSyncTimeout + 0 + UnblockFsConnect + + + ReservedMemory - Boot0080 - Boot0081 - Boot0082 - BootNext - BootOrder + + Address + 268435456 + Comment + HD3000: IGPU memory corruption errata + Enabled + + Size + 268435456 + Type + Reserved + + + Address + 569344 + Comment + Fix black screen on wake from hibernation for Lenovo Thinkpad T490 + Enabled + + Size + 4096 + Type + RuntimeCode + + Unload + - WriteFlash - - PlatformInfo - - Automatic - - CustomMemory - - Generic - - AdviseFeatures - - MLB - C02717306J9JG361M - MaxBIOSVersion - - ProcessorType - 0 - ROM - m7zhIYfl - SpoofVendor - - SystemMemoryStatus - Auto - SystemProductName - iMacPro1,1 - SystemSerialNumber - C02TM2ZBHX87 - SystemUUID - 007076A6-F2A2-4461-BBE5-BAD019F8025A - - UpdateDataHub - - UpdateNVRAM - - UpdateSMBIOS - - UpdateSMBIOSMode - Create - UseRawUuidEncoding - - - UEFI - - APFS - - EnableJumpstart - - GlobalConnect - - HideVerbose - - JumpstartHotPlug - - MinDate - -1 - MinVersion - -1 - - AppleInput - - AppleEvent - Builtin - CustomDelays - - GraphicsInputMirroring - - KeyInitialDelay - 50 - KeySubsequentDelay - 5 - PointerDwellClickTimeout - 0 - PointerDwellDoubleClickTimeout - 0 - PointerDwellRadius - 0 - PointerPollMask - -1 - PointerPollMax - 80 - PointerPollMin - 10 - PointerSpeedDiv - 1 - PointerSpeedMul - 1 - - Audio - - AudioCodec - 0 - AudioDevice - - AudioOutMask - 1 - AudioSupport - - DisconnectHda - - MaximumGain - -15 - MinimumAssistGain - -30 - MinimumAudibleGain - -55 - PlayChime - Auto - ResetTrafficClass - - SetupDelay - 0 - - ConnectDrivers - - Drivers - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - OpenVariableRuntimeDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - OpenRuntime.efi - - - Arguments - - Comment - HFS+ Driver - Enabled - - LoadEarly - - Path - OpenHfsPlus.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - OpenCanopy.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - AudioDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - OpenPartitionDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - OpenUsbKbDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - UsbMouseDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - Ps2KeyboardDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - Ps2MouseDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - HiiDatabase.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - NvmExpressDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - XhciDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - ExFatDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - CrScreenshotDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - Ext4Dxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - DpcDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - SnpDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - MnpDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - ArpDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - Dhcp4Dxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - Ip4Dxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - Udp4Dxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - TcpDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - DnsDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - HttpDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - HttpUtilitiesDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - HttpBootDxe.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - OpenLinuxBoot.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - ResetNvramEntry.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - ToggleSipEntry.efi - - - Arguments - - Comment - - Enabled - - LoadEarly - - Path - FirmwareSettingsEntry.efi - - - Input - - KeyFiltering - - KeyForgetThreshold - 5 - KeySupport - - KeySupportMode - Auto - KeySwap - - PointerSupport - - PointerSupportMode - ASUS - TimerResolution - 50000 - - Output - - ClearScreenOnModeSwitch - - ConsoleFont - - ConsoleMode - - DirectGopRendering - - ForceResolution - - GopBurstMode - - GopPassThrough - Disabled - IgnoreTextInGraphics - - InitialMode - Auto - ProvideConsoleGop - - ReconnectGraphicsOnConnect - - ReconnectOnResChange - - ReplaceTabWithSpace - - Resolution - 1920x1080@32 - SanitiseClearScreen - - TextRenderer - BuiltinGraphics - UIScale - 0 - UgaPassThrough - - - ProtocolOverrides - - AppleAudio - - AppleBootPolicy - - AppleDebugLog - - AppleEg2Info - - AppleFramebufferInfo - - AppleImageConversion - - AppleImg4Verification - - AppleKeyMap - - AppleRtcRam - - AppleSecureBoot - - AppleSmcIo - - AppleUserInterfaceTheme - - DataHub - - DeviceProperties - - FirmwareVolume - - HashServices - - OSInfo - - PciIo - - UnicodeCollation - - - Quirks - - ActivateHpetSupport - - DisableSecurityPolicy - - EnableVectorAcceleration - - EnableVmx - - ExitBootServicesDelay - 0 - ForceOcWriteFlash - - ForgeUefiSupport - - IgnoreInvalidFlexRatio - - ReleaseUsbOwnership - - ReloadOptionRoms - - RequestBootVarRouting - - ResizeGpuBars - -1 - ResizeUsePciRbIo - - ShimRetainProtocol - - TscSyncTimeout - 0 - UnblockFsConnect - - - ReservedMemory - - - diff --git a/compose.yml b/compose.yml index abfecba..7388539 100644 --- a/compose.yml +++ b/compose.yml @@ -3,7 +3,7 @@ services: image: dockurr/macos container_name: macos environment: - VERSION: "14" + VERSION: "15" devices: - /dev/kvm - /dev/net/tun diff --git a/kubernetes.yml b/kubernetes.yml index 9e97b2f..80147ee 100644 --- a/kubernetes.yml +++ b/kubernetes.yml @@ -31,7 +31,7 @@ spec: image: dockurr/macos env: - name: VERSION - value: "14" + value: "15" - name: DISK_SIZE value: "64G" ports: diff --git a/readme.md b/readme.md index 98e1caa..c238ad6 100644 --- a/readme.md +++ b/readme.md @@ -30,7 +30,7 @@ services: image: dockurr/macos container_name: macos environment: - VERSION: "14" + VERSION: "15" devices: - /dev/kvm - /dev/net/tun @@ -90,7 +90,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/macos/refs/heads/maste ### How do I select the version of macOS? - By default, macOS 14 (Sonoma) will be installed, but you can add the `VERSION` environment variable in order to specify an alternative: + By default, macOS 15 (Sequoia) will be installed, but you can add the `VERSION` environment variable in order to specify an alternative: ```yaml environment: @@ -108,7 +108,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/macos/refs/heads/maste | `11` | macOS 11 | Big Sur | > [!NOTE] -> Starting with macOS 15 (Sequoia), you cannot sign in to an Apple Account unless you install [VMHide.kext](https://github.com/Carnations-Botanica/VMHide) first. +> You can also select macOS 26 (Tahoe), but beware that it runs very slow currently. ### How do I change the storage location? diff --git a/src/boot.sh b/src/boot.sh index 41eb322..3a00ca3 100644 --- a/src/boot.sh +++ b/src/boot.sh @@ -87,36 +87,50 @@ if [ ! -f "$IMG" ]; then rm -rf "$OUT" mkdir -p "$OUT" - msg="Building boot image" + msg="Building OpenCore boot image" info "$msg..." && html "$msg..." - [ ! -f "$ISO" ] && gzip -dk "$ISO.gz" - - if [ ! -f "$ISO" ] || [ ! -s "$ISO" ]; then + # Extract image file + if [ ! -s "$ISO" ]; then error "Could not find image file \"$ISO\"." && exit 10 fi - START=$(sfdisk -l "$ISO" | grep -i -m 1 "EFI System" | awk '{print $2}') - mcopy -bspmQ -i "$ISO@@${START}S" ::EFI "$OUT" + if ! 7z x "$ISO" -o"$OUT" > /dev/null; then + error "Failed to extract archive!" && exit 11 + fi - CFG="$OUT/EFI/OC/config.plist" + # Overwrite extracted OpenCore config with our own + CFG="$(find "$OUT" -type f -path '*/EFI/OC/config.plist' -print -quit)" + [ -z "${CFG:-}" ] && error "Could not locate extracted OpenCore config.plist under \"$OUT\"." && exit 12 + EFI_DIR="${CFG%/OC/config.plist}" PLIST="/assets/config.plist" - [ -f "/config.plist" ] && PLIST="/config.plist" + [ -f "/custom.plist" ] && PLIST="/custom.plist" cp "$PLIST" "$CFG" + # Replace placeholders with machine details ROM="${MAC//[^[:alnum:]]/}" ROM="${ROM,,}" BROM=$(echo "$ROM" | xxd -r -p | base64) RESOLUTION="${WIDTH}x${HEIGHT}@32" - sed -r -i -e 's|m7zhIYfl|'"${BROM}"'|g' "$CFG" - sed -r -i -e 's|iMacPro1,1|'"${MODEL}"'|g' "$CFG" - sed -r -i -e 's|C02TM2ZBHX87|'"${SN}"'|g' "$CFG" - sed -r -i -e 's|C02717306J9JG361M|'"${MLB}"'|g' "$CFG" + sed -r -i -e 's|ESIzRFVm|'"${BROM}"'|g' "$CFG" + sed -r -i -e 's|iMac19,1|'"${MODEL}"'|g' "$CFG" + sed -r -i -e 's|W00000000001|'"${SN}"'|g' "$CFG" + sed -r -i -e 's|M0000000000000001|'"${MLB}"'|g' "$CFG" sed -r -i -e 's|1920x1080@32|'"${RESOLUTION}"'|g' "$CFG" - sed -r -i -e 's|007076A6-F2A2-4461-BBE5-BAD019F8025A|'"${UUID}"'|g' "$CFG" + sed -r -i -e 's|00000000-0000-0000-0000-000000000000|'"${UUID}"'|g' "$CFG" + + # Add kext to disable VM detection + kexts="$EFI_DIR/OC/Kexts" + + if ! 7z x /vmh.zip -o"$OUT/kext" > /dev/null; then + error "Failed to extract kext archive!" && exit 11 + fi + + mv "$OUT/kext/VMHide.kext" "$kexts" + rm -rf "$OUT/kext" # Build image @@ -155,7 +169,7 @@ if [ ! -f "$IMG" ]; then echo "drive c: file=\"$IMG\" partition=0 offset=$OFFSET" > /etc/mtools.conf mformat -F -M "$SECTOR" -c "$CLUSTER" -T "$COUNT" -v "EFI" "C:" - mcopy -bspmQ "$OUT/EFI" "C:" + mcopy -bspmQ "$EFI_DIR" "C:" rm -rf "$OUT" diff --git a/src/entry.sh b/src/entry.sh index d908210..be12c97 100644 --- a/src/entry.sh +++ b/src/entry.sh @@ -3,6 +3,8 @@ set -Eeuo pipefail : "${APP:="macOS"}" : "${VGA:="vmware"}" +: "${SHUTDOWN:="Y"}" +: "${TIMEOUT:="115"}" : "${PLATFORM:="x64"}" : "${DISK_TYPE:="blk"}" : "${SUPPORT:="https://github.com/dockur/macos"}" diff --git a/src/install.sh b/src/install.sh index e89bacc..23b1230 100644 --- a/src/install.sh +++ b/src/install.sh @@ -169,7 +169,7 @@ install() { fi local file="$STORAGE/boot.dmg" - + if ! download "$file" "$board" "$version"; then delay 5 if ! download "$file" "$board" "$version"; then @@ -212,7 +212,7 @@ generateAddress() { # Generate Apple MAC address based on Docker container ID in hostname MAC=$(echo "$HOST" | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/00:16:cb:\3:\4:\5/') - MAC="${MAC^^}" + MAC="${MAC^^}" echo "$MAC" > "$file" ! setOwner "$file" && error "Failed to set the owner for \"$file\" !"