diff --git a/Docs/Changelog.md b/Docs/Changelog.md
index 63509d0..4ff3610 100644
--- a/Docs/Changelog.md
+++ b/Docs/Changelog.md
@@ -1,5 +1,21 @@
OpenCore Changelog
==================
+#### v0.7.9
+- Added auto-detect `macOS Installer` volume name for use when `.disk_label` file cannot be displayed
+- Added `--restore-nosnoop` flag to AudioDxe, making v0.7.7 fix for Windows sound opt-in
+- Added new method to disable trim when `SetApfsTrimTimeout` is set to zero
+- Fixed `SetApfsTrimTimeout` on macOS 12 (only works when set to zero)
+- Added script to build qemu recovery images to macrecovery
+- Fixed selecting `SecureBootModel` on hypervisors (should be `x86legacy`)
+- Added kext blocking `Strategy` for prelinked and newer
+- Added global MSR 35h fix to `ProvideCurrentCpuInfo`, allowing `-cpu host` in KVM
+- Fixed potential memory corruption with AVX acceleration enabled
+- Added `LogModules` for positive and negative log filtering by modules
+- Renamed OpenLinuxBoot driver argument from `partuuidopts:{PARTUUID}` to `autoopts:{PARTUUID}`
+- Supported booting Linux from stand-alone `/boot` partition without `/loader/entries` files (user must specify full kernel boot options)
+- Handled XML entities in driver arguments
+- Updated underlying EDK II package to edk2-stable202202
+
#### v0.7.8
- Updated ocvalidate to warn about insecure `DmgLoading` with secure `SecureBootModel` (already disallowed in runtime)
- Fixed AudioDxe not disabling unused channels after recent updates
diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf
index ec94689..affa437 100644
Binary files a/Docs/Configuration.pdf and b/Docs/Configuration.pdf differ
diff --git a/Docs/Sample.plist b/Docs/Sample.plist
index 09eb876..b7b4ea4 100644
--- a/Docs/Sample.plist
+++ b/Docs/Sample.plist
@@ -648,6 +648,8 @@
MinKernel
+ Strategy
+ Disable
Emulate
@@ -838,6 +840,36 @@
Skip
0
+
+ Arch
+ x86_64
+ 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
x86_64
@@ -1059,6 +1091,8 @@
0
DisplayLevel
2147483650
+ LogModules
+ *
SerialInit
SysReport
@@ -1200,6 +1234,8 @@
7C436110-AB2A-4BBB-A880-FE41995C9F82
+ #INFO (prev-lang:kbd)
+ en:252 (ABC), set 656e3a323532
ForceDisplayRotationInEFI
0
SystemAudioVolume
diff --git a/EFI-Debug/BOOT/BOOTx64.efi b/EFI-Debug/BOOT/BOOTx64.efi
index a04ea9a..40327bf 100644
Binary files a/EFI-Debug/BOOT/BOOTx64.efi and b/EFI-Debug/BOOT/BOOTx64.efi differ
diff --git a/EFI-Debug/OC/Drivers/AudioDxe.efi b/EFI-Debug/OC/Drivers/AudioDxe.efi
index 081a28f..0ecc313 100644
Binary files a/EFI-Debug/OC/Drivers/AudioDxe.efi and b/EFI-Debug/OC/Drivers/AudioDxe.efi differ
diff --git a/EFI-Debug/OC/Drivers/OpenLinuxBoot.efi b/EFI-Debug/OC/Drivers/OpenLinuxBoot.efi
index fc2a45b..8299109 100644
Binary files a/EFI-Debug/OC/Drivers/OpenLinuxBoot.efi and b/EFI-Debug/OC/Drivers/OpenLinuxBoot.efi differ
diff --git a/EFI-Debug/OC/Drivers/OpenRuntime.efi b/EFI-Debug/OC/Drivers/OpenRuntime.efi
index 83bf091..9e8a408 100644
Binary files a/EFI-Debug/OC/Drivers/OpenRuntime.efi and b/EFI-Debug/OC/Drivers/OpenRuntime.efi differ
diff --git a/EFI-Debug/OC/Kexts/SMCProcessor.kext/Contents/Info.plist b/EFI-Debug/OC/Kexts/SMCProcessor.kext/Contents/Info.plist
index 6f99d89..8e21317 100644
--- a/EFI-Debug/OC/Kexts/SMCProcessor.kext/Contents/Info.plist
+++ b/EFI-Debug/OC/Kexts/SMCProcessor.kext/Contents/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 19H1519
+ 20G417
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
KEXT
CFBundleShortVersionString
- 1.2.8
+ 1.2.9
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,23 +25,23 @@
MacOSX
CFBundleVersion
- 1.2.8
+ 1.2.9
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E507
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1251
DTXcodeBuild
- 12D4e
+ 12E507
IOKitPersonalities
as.vit9696.SMCProcessor
diff --git a/EFI-Debug/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor b/EFI-Debug/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor
index 030e445..9a563a8 100755
Binary files a/EFI-Debug/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor and b/EFI-Debug/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor differ
diff --git a/EFI-Debug/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist b/EFI-Debug/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist
index 6f97841..a5baae8 100644
--- a/EFI-Debug/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist
+++ b/EFI-Debug/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 19H1519
+ 20G417
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
KEXT
CFBundleShortVersionString
- 1.2.8
+ 1.2.9
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,23 +25,23 @@
MacOSX
CFBundleVersion
- 1.2.8
+ 1.2.9
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E507
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1251
DTXcodeBuild
- 12D4e
+ 12E507
IOKitPersonalities
ru.joedm.SMCSuperIO
diff --git a/EFI-Debug/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO b/EFI-Debug/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO
index 9f0a463..5463ae8 100755
Binary files a/EFI-Debug/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO and b/EFI-Debug/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO differ
diff --git a/EFI-Debug/OC/Kexts/VirtualSMC.kext/Contents/Info.plist b/EFI-Debug/OC/Kexts/VirtualSMC.kext/Contents/Info.plist
index 17e4b41..23577d8 100644
--- a/EFI-Debug/OC/Kexts/VirtualSMC.kext/Contents/Info.plist
+++ b/EFI-Debug/OC/Kexts/VirtualSMC.kext/Contents/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 19H1519
+ 20G417
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
KEXT
CFBundleShortVersionString
- 1.2.8
+ 1.2.9
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,23 +25,23 @@
MacOSX
CFBundleVersion
- 1.2.8
+ 1.2.9
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E507
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1251
DTXcodeBuild
- 12D4e
+ 12E507
IOKitPersonalities
as.vit9696.VirtualSMC
diff --git a/EFI-Debug/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC b/EFI-Debug/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC
index a054018..bdf96ae 100755
Binary files a/EFI-Debug/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC and b/EFI-Debug/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC differ
diff --git a/EFI-Debug/OC/Kexts/WhateverGreen.kext/Contents/Info.plist b/EFI-Debug/OC/Kexts/WhateverGreen.kext/Contents/Info.plist
index 6587ebd..83a4063 100644
--- a/EFI-Debug/OC/Kexts/WhateverGreen.kext/Contents/Info.plist
+++ b/EFI-Debug/OC/Kexts/WhateverGreen.kext/Contents/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 20G415
+ 20G417
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
KEXT
CFBundleShortVersionString
- 1.5.7
+ 1.5.8
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,23 +25,23 @@
MacOSX
CFBundleVersion
- 1.5.7
+ 1.5.8
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E507
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1251
DTXcodeBuild
- 12D4e
+ 12E507
IOKitPersonalities
NVHDAEnabler
diff --git a/EFI-Debug/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen b/EFI-Debug/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen
index f8c88ef..1ffc59a 100755
Binary files a/EFI-Debug/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen and b/EFI-Debug/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen differ
diff --git a/EFI-Debug/OC/OpenCore.efi b/EFI-Debug/OC/OpenCore.efi
index 5ebc7cd..0999a89 100644
Binary files a/EFI-Debug/OC/OpenCore.efi and b/EFI-Debug/OC/OpenCore.efi differ
diff --git a/EFI-Debug/OC/config.plist b/EFI-Debug/OC/config.plist
index 9d2830f..49514e0 100644
--- a/EFI-Debug/OC/config.plist
+++ b/EFI-Debug/OC/config.plist
@@ -353,6 +353,8 @@
0
DisplayLevel
2147483650
+ LogModules
+ *
SerialInit
SysReport
diff --git a/EFI-Release/BOOT/BOOTx64.efi b/EFI-Release/BOOT/BOOTx64.efi
index 29d36f4..d9983cd 100644
Binary files a/EFI-Release/BOOT/BOOTx64.efi and b/EFI-Release/BOOT/BOOTx64.efi differ
diff --git a/EFI-Release/OC/Drivers/AudioDxe.efi b/EFI-Release/OC/Drivers/AudioDxe.efi
index 6c8c65b..6d3d129 100644
Binary files a/EFI-Release/OC/Drivers/AudioDxe.efi and b/EFI-Release/OC/Drivers/AudioDxe.efi differ
diff --git a/EFI-Release/OC/Drivers/OpenCanopy.efi b/EFI-Release/OC/Drivers/OpenCanopy.efi
index b392fdb..c85f7ed 100644
Binary files a/EFI-Release/OC/Drivers/OpenCanopy.efi and b/EFI-Release/OC/Drivers/OpenCanopy.efi differ
diff --git a/EFI-Release/OC/Drivers/OpenLinuxBoot.efi b/EFI-Release/OC/Drivers/OpenLinuxBoot.efi
index a98a714..573bd39 100644
Binary files a/EFI-Release/OC/Drivers/OpenLinuxBoot.efi and b/EFI-Release/OC/Drivers/OpenLinuxBoot.efi differ
diff --git a/EFI-Release/OC/Drivers/OpenRuntime.efi b/EFI-Release/OC/Drivers/OpenRuntime.efi
index 3b4f755..ffe66e1 100644
Binary files a/EFI-Release/OC/Drivers/OpenRuntime.efi and b/EFI-Release/OC/Drivers/OpenRuntime.efi differ
diff --git a/EFI-Release/OC/Kexts/SMCProcessor.kext/Contents/Info.plist b/EFI-Release/OC/Kexts/SMCProcessor.kext/Contents/Info.plist
index 6f99d89..8e21317 100644
--- a/EFI-Release/OC/Kexts/SMCProcessor.kext/Contents/Info.plist
+++ b/EFI-Release/OC/Kexts/SMCProcessor.kext/Contents/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 19H1519
+ 20G417
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
KEXT
CFBundleShortVersionString
- 1.2.8
+ 1.2.9
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,23 +25,23 @@
MacOSX
CFBundleVersion
- 1.2.8
+ 1.2.9
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E507
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1251
DTXcodeBuild
- 12D4e
+ 12E507
IOKitPersonalities
as.vit9696.SMCProcessor
diff --git a/EFI-Release/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor b/EFI-Release/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor
index 0221140..2914f33 100755
Binary files a/EFI-Release/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor and b/EFI-Release/OC/Kexts/SMCProcessor.kext/Contents/MacOS/SMCProcessor differ
diff --git a/EFI-Release/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist b/EFI-Release/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist
index 6f97841..a5baae8 100644
--- a/EFI-Release/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist
+++ b/EFI-Release/OC/Kexts/SMCSuperIO.kext/Contents/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 19H1519
+ 20G417
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
KEXT
CFBundleShortVersionString
- 1.2.8
+ 1.2.9
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,23 +25,23 @@
MacOSX
CFBundleVersion
- 1.2.8
+ 1.2.9
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E507
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1251
DTXcodeBuild
- 12D4e
+ 12E507
IOKitPersonalities
ru.joedm.SMCSuperIO
diff --git a/EFI-Release/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO b/EFI-Release/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO
index c972efc..cb91ba9 100755
Binary files a/EFI-Release/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO and b/EFI-Release/OC/Kexts/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO differ
diff --git a/EFI-Release/OC/Kexts/VirtualSMC.kext/Contents/Info.plist b/EFI-Release/OC/Kexts/VirtualSMC.kext/Contents/Info.plist
index 17e4b41..23577d8 100644
--- a/EFI-Release/OC/Kexts/VirtualSMC.kext/Contents/Info.plist
+++ b/EFI-Release/OC/Kexts/VirtualSMC.kext/Contents/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 19H1519
+ 20G417
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
KEXT
CFBundleShortVersionString
- 1.2.8
+ 1.2.9
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,23 +25,23 @@
MacOSX
CFBundleVersion
- 1.2.8
+ 1.2.9
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E507
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1251
DTXcodeBuild
- 12D4e
+ 12E507
IOKitPersonalities
as.vit9696.VirtualSMC
diff --git a/EFI-Release/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC b/EFI-Release/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC
index 8106208..dbe3b8b 100755
Binary files a/EFI-Release/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC and b/EFI-Release/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC differ
diff --git a/EFI-Release/OC/Kexts/WhateverGreen.kext/Contents/Info.plist b/EFI-Release/OC/Kexts/WhateverGreen.kext/Contents/Info.plist
index 6587ebd..83a4063 100644
--- a/EFI-Release/OC/Kexts/WhateverGreen.kext/Contents/Info.plist
+++ b/EFI-Release/OC/Kexts/WhateverGreen.kext/Contents/Info.plist
@@ -3,7 +3,7 @@
BuildMachineOSBuild
- 20G415
+ 20G417
CFBundleDevelopmentRegion
en
CFBundleExecutable
@@ -17,7 +17,7 @@
CFBundlePackageType
KEXT
CFBundleShortVersionString
- 1.5.7
+ 1.5.8
CFBundleSignature
????
CFBundleSupportedPlatforms
@@ -25,23 +25,23 @@
MacOSX
CFBundleVersion
- 1.5.7
+ 1.5.8
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E507
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1251
DTXcodeBuild
- 12D4e
+ 12E507
IOKitPersonalities
NVHDAEnabler
diff --git a/EFI-Release/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen b/EFI-Release/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen
index 528e31c..819aace 100755
Binary files a/EFI-Release/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen and b/EFI-Release/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen differ
diff --git a/EFI-Release/OC/OpenCore.efi b/EFI-Release/OC/OpenCore.efi
index b3a00e1..91c2ebc 100644
Binary files a/EFI-Release/OC/OpenCore.efi and b/EFI-Release/OC/OpenCore.efi differ
diff --git a/EFI-Release/OC/config.plist b/EFI-Release/OC/config.plist
index 3c1603a..592ce55 100644
--- a/EFI-Release/OC/config.plist
+++ b/EFI-Release/OC/config.plist
@@ -353,6 +353,8 @@
0
DisplayLevel
2147483650
+ LogModules
+ *
SerialInit
SysReport
diff --git a/Utils/macrecovery/README.md b/Utils/macrecovery/README.md
index 955aa98..3d95c8a 100644
--- a/Utils/macrecovery/README.md
+++ b/Utils/macrecovery/README.md
@@ -3,3 +3,6 @@
macrecovery is a tool that helps to automate recovery interaction. It can be used to download diagnostics and recovery as well as analyse MLB.
Requires python to run. Run with `-h` argument to see all available arguments.
+
+To create a disk image for a virtual machine installation use `build-image.sh`.
+
diff --git a/Utils/macrecovery/boards.json b/Utils/macrecovery/boards.json
index acffb8c..859cf95 100644
--- a/Utils/macrecovery/boards.json
+++ b/Utils/macrecovery/boards.json
@@ -11,14 +11,14 @@
"Mac-942B59F58194171B": "10.13.6",
"Mac-B809C3757DA9BB8D": "latest",
"Mac-7DF2A3B5E5D671ED": "10.15.7",
- "Mac-35C1E88140C3E6CF": "11.6.1",
+ "Mac-35C1E88140C3E6CF": "11.6.4",
"Mac-942459F5819B171B": "10.13.6",
"Mac-77EB7D7DAF985301": "10.15.7",
"Mac-827FB448E656EC26": "latest",
"Mac-7BA5B2DFE22DDD8C": "latest",
"Mac-2E6FAB96566FE58C": "10.15.7",
"Mac-F2208EC8": "10.13.6",
- "Mac-BE0E8AC46FE800CC": "11.6.1",
+ "Mac-BE0E8AC46FE800CC": "11.6.4",
"Mac-00BE6ED71E35EB86": "10.15.7",
"Mac-4B7AC7E43945597E": "10.15.7",
"Mac-CAD6701F7CEA0921": "latest",
@@ -27,12 +27,12 @@
"Mac-FFE5EF870D7BA81A": "latest",
"Mac-53FDB3D8DB8CA971": "latest",
"Mac-A61BADE1FDAD7B05": "latest",
- "Mac-42FD25EABCABB274": "11.6.1",
+ "Mac-42FD25EABCABB274": "11.6.4",
"Mac-827FAC58A8FDFA22": "latest",
"Mac-1E7E29AD0135F9BC": "latest",
- "Mac-3CBD00234E554E41": "11.6.1",
+ "Mac-3CBD00234E554E41": "11.6.4",
"Mac-66F35F19FE2A0D05": "10.15.7",
- "Mac-189A3D4F975D5FFC": "11.6.1",
+ "Mac-189A3D4F975D5FFC": "11.6.4",
"Mac-B4831CEBD52A0C4C": "latest",
"Mac-C08A6BB70A942AC2": "10.13.6",
"Mac-8ED6AF5B48C039E1": "10.13.6",
@@ -57,7 +57,7 @@
"Mac-4B682C642B45593E": "latest",
"Mac-DB15BD556843C820": "latest",
"Mac-937A206F2EE63C01": "latest",
- "Mac-81E3E92DD6088272": "11.6.1",
+ "Mac-81E3E92DD6088272": "11.6.4",
"Mac-E43C1C25D4880AD6": "latest",
"Mac-942452F5819B1C1B": "10.13.6",
"Mac-65CE76090165799A": "latest",
@@ -69,8 +69,8 @@
"Mac-94245B3640C91C81": "10.13.6",
"Mac-EE2EBD4B90B839A8": "latest",
"Mac-4BC72D62AD45599E": "10.13.6",
- "Mac-2BD1B31983FE1663": "11.6.1",
- "Mac-7DF21CB3ED6977E5": "11.6.1",
+ "Mac-2BD1B31983FE1663": "11.6.4",
+ "Mac-7DF21CB3ED6977E5": "11.6.4",
"Mac-A369DDC4E67F1C45": "latest",
"Mac-94245A3940C91C80": "10.13.6",
"Mac-C3EC7CD22292981F": "10.15.7",
diff --git a/Utils/macrecovery/build-image.sh b/Utils/macrecovery/build-image.sh
new file mode 100755
index 0000000..8dc7107
--- /dev/null
+++ b/Utils/macrecovery/build-image.sh
@@ -0,0 +1,18 @@
+#!/bin/bash -e
+
+rm -rf Recovery.RO.dmg Recovery.RO.raw Recovery.dmg.sparseimage
+hdiutil create -size 800m -layout "UNIVERSAL HD" -type SPARSE -o Recovery.dmg
+newDevice=$(hdiutil attach -nomount Recovery.dmg.sparseimage | head -n 1 | awk '{print $1}')
+echo newdevice "$newDevice"
+diskutil partitionDisk "${newDevice}" 1 MBR fat32 RECOVERY R
+N=$(echo "$newDevice" | tr -dc '0-9')
+diskutil mount disk"${N}"s1
+MOUNT="$(diskutil info disk"${N}"s1 | sed -n 's/.*Mount Point: *//p')"
+mkdir -p "$MOUNT/com.apple.recovery.boot"
+cp ./*.dmg ./*.chunklist "$MOUNT/com.apple.recovery.boot/"
+diskutil umount disk"${N}"s1
+hdiutil detach "$newDevice"
+hdiutil convert -format UDZO Recovery.dmg.sparseimage -o Recovery.RO.dmg
+rm Recovery.dmg.sparseimage
+qemu-img convert -f dmg -O raw Recovery.RO.dmg Recovery.raw
+rm Recovery.RO.dmg
diff --git a/Utils/macrecovery/macrecovery.py b/Utils/macrecovery/macrecovery.py
index 2de587a..7a91389 100755
--- a/Utils/macrecovery/macrecovery.py
+++ b/Utils/macrecovery/macrecovery.py
@@ -223,7 +223,7 @@ def save_image(url, sess, filename='', dir=''):
size += len(chunk)
print('\r{} MBs downloaded...'.format(size / (2**20)), end='')
sys.stdout.flush()
- print('\rDownload complete!')
+ print('\rDownload complete! ')
return os.path.join(dir, os.path.basename(filename))
@@ -240,10 +240,10 @@ def verify_image(dmgpath, cnkpath):
if len(cnk) != cnksize:
raise RuntimeError('Invalid chunk {} size: expected {}, read {}'.format(cnkcount, cnksize, len(cnk)))
if hashlib.sha256(cnk).digest() != cnkhash:
- raise RuntimeError('Invalid chunk {}: hash mismatch'.format(cnkcount))
+ raise RuntimeError('Invalid chunk {}: hash mismatch'.format(cnkcount))
if dmgf.read(1) != b'':
raise RuntimeError('Invalid image: larger than chunklist')
- print('\rImage verification complete!')
+ print('\rImage verification complete! ')
def action_download(args):
"""
diff --git a/Utils/macrecovery/recovery_urls.txt b/Utils/macrecovery/recovery_urls.txt
index 61afe5a..442d4a6 100644
--- a/Utils/macrecovery/recovery_urls.txt
+++ b/Utils/macrecovery/recovery_urls.txt
@@ -1,35 +1,45 @@
-# Lion (10.7):
-python macrecovery.py -b Mac-2E6FAB96566FE58C -m 00000000000F25Y00 download
-python macrecovery.py -b Mac-C3EC7CD22292981F -m 00000000000F0HM00 download
+Lion
+./macrecovery.py -b Mac-2E6FAB96566FE58C -m 00000000000F25Y00
+./macrecovery.py -b Mac-C3EC7CD22292981F -m 00000000000F0HM00
-# Mountain Lion (10.8):
-python macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100 download
+Mountain Lion:
+./macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100
-# Mavericks (10.9):
-python macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100 download
+Mavericks
+./macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100
-# Yosemite (10.10):
-python macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00 download
+Yosemite:
+./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00
-# El Capitan (10.11):
-python macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00 download
+El Capitan
+./macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00
-# Sierra (10.12):
-python macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00 download
+Sierra
+./macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00
-# High Sierra (10.13)
-python macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download
-python macrecovery.py -b Mac-BE088AF8C5EB4FA2 -m 00000000000J80300 download
+High Sierra
+./macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300
+./macrecovery.py -b Mac-BE088AF8C5EB4FA2 -m 00000000000J80300
-# Mojave (10.14)
-python macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download
+Mojave
+./macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00
-# Catalina (10.15)
-python macrecovery.py -b Mac-00BE6ED71E35EB86 -m 00000000000000000 download
+Catalina
+./macrecovery.py -b Mac-CFF7D910A743CAAF -m 00000000000PHCD00
+./macrecovery.py -b Mac-00BE6ED71E35EB86 -m 00000000000000000
-# Big Sur (11)
-python macrecovery.py -b Mac-42FD25EABCABB274 -m 00000000000000000 download
+Big Sur
+./macrecovery.py -b Mac-2BD1B31983FE1663 -m 00000000000000000
-# Latest version
-# ie. Monterey (12)
-python ./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 download
+Diagnostics
+./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 -diag
+./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVQ00 -diag
+./macrecovery.py -b Mac-E43C1C25D4880AD6 -diag
+
+Default version
+./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVQ00 (oldest)
+./macrecovery.py -b Mac-E43C1C25D4880AD6 -m -os default (newer)
+
+Latest version
+./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 -os latest
+./macrecovery.py -b Mac-E43C1C25D4880AD6 -m -os latest
diff --git a/Utils/ocvalidate/README.md b/Utils/ocvalidate/README.md
index 3c98229..13b2c26 100644
--- a/Utils/ocvalidate/README.md
+++ b/Utils/ocvalidate/README.md
@@ -16,7 +16,7 @@ Utility to validate whether a `config.plist` matches requirements and convention
### Global Rules
- All entries must be set once only. Duplication is strictly prohibited.
- All strings (fields with plist `String` format) throughout the whole config only accept ASCII printable characters at most. Stricter rules may apply. For instance, some fields only accept specified values, as indicated in [Configuration.pdf](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf).
-- All the paths relative to OpenCore root must be 128 bytes total including '\0' terminator.
+- All the paths relative to OpenCore root must be less than or equal to 128 bytes (`OC_STORAGE_SAFE_PATH_MAX`) in total including '\0' terminator.
- Most binary patches must have `Find`, `Replace`, `Mask` (if used), and `ReplaceMask` (if used) identical size set. Also, `Find` requires `Mask` (or `Replace` requires `ReplaceMask`) to be active (set to non-zero) for corresponding bits.
- `MinKernel` and `MaxKernel` entries should follow conventions specified in [Configuration.pdf](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf). (TODO: Bring decent checks for this)
- `MinKernel` cannot be a value that is below macOS 10.4 (Darwin version 8).
diff --git a/Utils/ocvalidate/ocvalidate b/Utils/ocvalidate/ocvalidate
index eb684a6..8daee66 100755
Binary files a/Utils/ocvalidate/ocvalidate and b/Utils/ocvalidate/ocvalidate differ
diff --git a/Utils/ocvalidate/ocvalidate.exe b/Utils/ocvalidate/ocvalidate.exe
index 0baa8f9..916084b 100755
Binary files a/Utils/ocvalidate/ocvalidate.exe and b/Utils/ocvalidate/ocvalidate.exe differ
diff --git a/Utils/ocvalidate/ocvalidate.linux b/Utils/ocvalidate/ocvalidate.linux
index 1580a06..7388340 100755
Binary files a/Utils/ocvalidate/ocvalidate.linux and b/Utils/ocvalidate/ocvalidate.linux differ