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