https://gitcode.net/btwise/opencorepkg_mod/-/commit/dd5b954f0c757a36572ede432558fb0985b1e447Docs: Enable serial debug patches on IA32 and x642023-11-01T19:35:52-05:00John Davisgoldfishnet64@outlook.comhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/5f15e839f8603b5fa1479e48866b96a27affe445OcPeCoffExtLib: Add support for FixupAppleEfiImages quirk (#498)2023-11-03T11:06:56+03:00Mike Beatonmjsbeaton@gmail.comhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/1bc9e74ed116a7413c87aaaeba388606d94429e9Docs: Update pdf2023-11-03T11:08:37+03:00vit9696vit9696@users.noreply.github.comhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/197618d4c0e615b47df037a97d7e975c49009ecdmacrecovery: Updated recovery_urls.txt (#492)2023-11-06T20:59:26+03:00Angelo Cassanoangy.avv.94@hotmail.ithttps://gitcode.net/btwise/opencorepkg_mod/-/commit/0be494090c3747d5f4be9d3c448c3b8cc709dca9Update recovery_urls.txt2023-11-06T21:06:34+03:00Andrey1970ua6lpo@rambler.ruhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/8122eac71bf1ae53a343b26bb4f9d7e33786d1fcUpdated CI badge link2023-11-06T21:13:47+03:00Andrey1970ua6lpo@rambler.ruhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/98e36b87fa93e608c49a4a0d4567106c27a18c44Bump version2023-11-06T21:49:32+03:00Andrey1970AppleLifeua6lpo@rambler.ruhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/11a33b44ea3443aff1e771fbd819b98f3cf44886Update Changelog.md2023-11-06T21:54:22+03:00Andrey1970AppleLifeua6lpo@rambler.ruhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/9d05c7f5aecd63e9115544d11f80f9023d5908bdOpenDuet/OcBootManagementLib: Disable W^X auto-fix in Duet, and move fix for...2023-11-08T07:21:40+00:00Mike Beatonmjsbeaton@gmail.comOpenDuet/OcBootManagementLib: Disable W^X auto-fix in Duet, and move fix for all Apple images to FixupAppleEfiImages quirk
Duet then matches behaviour of OVMF, and quirk can be used in both Duet and OVMF to load legacy Apple images.
https://gitcode.net/btwise/opencorepkg_mod/-/commit/6d94380499254c0d3ebf1655ee2de84703f594c4User: Set PcdImageLoaderRemoveXForWX to TRUE2023-11-08T07:26:09+00:00Mike Beatonmjsbeaton@gmail.com - Matches value used in OpenCore
- Allows AppleEfiSignTool to work with W^X error legacy Apple images
Futher work required for AppleEfiSignTool to work with section overlap error images.https://gitcode.net/btwise/opencorepkg_mod/-/commit/8d002d7e83a3713052ccd9a36c8689ca9d4056d9User: Set PcdDebugRaisePropertyMask default value to zero2023-11-08T09:27:12+00:00Mike Beatonmjsbeaton@gmail.com - Matches recent fix in <a href="https://github.com/acidanthera/audk/commit/dbebb53c11796e30dd2b6f980898e6c9bbe53bf6" rel="nofollow noreferrer noopener" target="_blank">https://github.com/acidanthera/audk/commit/dbebb53c11796e30dd2b6f980898e6c9bbe53bf6</a>
- Correct usage is for bits here to only ever be manually enabled for specific debugging taskshttps://gitcode.net/btwise/opencorepkg_mod/-/commit/f225bdaf67b6fb53a39f127237210cc7cabf00cdChangelog: Improved wording2023-11-08T13:46:27+00:00Mike Beatonmjsbeaton@gmail.comhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/c73b3e8f9bcb7234db26ad26314a8261797cfd05Docker: Add missing `file` command for CRLF checks2023-11-08T15:57:26+00:00Mike Beatonmjsbeaton@gmail.comhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/ba61950f0324fe90140757c0c3417ea9baaea8aeMerge branch 'master' of https://github.com/acidanthera/OpenCorePkg2023-11-09T12:29:50+08:00btwisetyq@qq.comhttps://gitcode.net/btwise/opencorepkg_mod/-/commit/4bbead3f62ddfb4b043bba153a8f3a7e15eb02ebMerge branch 'master' of https://gitee.com/btwise/OpenCorePkg2023-11-09T12:37:02+08:00btwisetyq@qq.com
@@ -1670,6 +1670,45 @@ To view their current state, use the \texttt{pmset -g} command in Terminal.
\texttt{RebuildAppleMemoryMap} if the firmware supports memory attributes table (MAT).
Refer to the \texttt{OCABC: MAT support is 1/0} log entry to determine whether MAT is supported.
\item
\texttt{FixupAppleEfiImages}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Fix errors in early Mac OS X boot.efi images.
Modern secure PE loaders will refuse to load \texttt{boot.efi} images from
\DIFdelbegin\DIFdel{Mac OS X }\DIFdelend\DIFaddbegin\DIFadd{macOS }\DIFaddend 10.4 \DIFdelbegin\DIFdel{and 10.5 }\DIFdelend\DIFaddbegin\DIFadd{to 10.12 }\DIFaddend due to these files containing \texttt{W\^{}X} errors
\DIFaddbegin\DIFadd{(in all versions) }\DIFaddend and illegal overlapping sections \DIFaddbegin\DIFadd{(in 10.4 and 10.5 32-bit
versions only)}\DIFaddend .
This quirk detects these issues and pre-processes such images in memory,
so that a modern loader \DIFdelbegin\DIFdel{can }\DIFdelend\DIFaddbegin\DIFadd{will }\DIFaddend accept them.
Pre-processing in memory is incompatible with secure boot, as the image loaded
is not the image on disk, so you cannot sign files which are loaded in this way
based on their original disk image contents.
Certain firmware will offer to register the hash of new, unknown images - this would
still work. On the other hand, it is not particularly realistic to want to
\emph{Note 1}: \DIFdelbegin\DIFdel{The quirk is only applied to }\DIFdelend\DIFaddbegin\DIFadd{When enabled, this quirk is applied to all }\DIFaddend Apple-specific \DIFdelbegin\DIFdel{`fat' (both }\DIFdelend\DIFaddbegin\DIFadd{Fat
binaries (}\DIFaddend 32-bit and 64-bit versions in one image)\DIFdelbegin\texttt{\DIFdel{.efi}}%DIFAUXCMD
\DIFdel{files, and }\DIFdelend\DIFaddbegin\DIFadd{, and to any other
Apple-signed boot images that are not being processed for Apple secure boot.
}
\emph{\DIFadd{Note 2}}\DIFadd{: The quirk }\DIFaddend is never applied during the Apple secure boot path for
newer macOS. \DIFaddbegin\DIFadd{The Apple secure boot path includes its own separate mitigations
for }\texttt{\DIFadd{boot.efi}}\texttt{\DIFadd{W\^{}X}}\DIFadd{issues.
}\DIFaddend
\emph{Note \DIFdelbegin\DIFdel{2}\DIFdelend\DIFaddbegin\DIFadd{3}\DIFaddend}: \DIFdelbegin\DIFdel{The quirk is only needed for loading Mac OS X }\DIFdelend\DIFaddbegin\DIFadd{This quirk is needed for macOS }\DIFaddend 10.4 \DIFdelbegin\DIFdel{and 10.5, and even then
only if }\DIFdelend\DIFaddbegin\DIFadd{to 10.12 (and
higher, if Apple secure boot is not enabled), but only when }\DIFaddend the firmware
itself includes a modern, more secure PE COFF image loader. This \DIFdelbegin\DIFdel{includes
}\DIFdelend\DIFaddbegin\DIFadd{applies to
}\DIFaddend current builds of OpenDuet\DIFaddbegin\DIFadd{, and to OVMF if built from audk source code}\DIFaddend .
\item
\texttt{ForceBooterSignature}\\
\textbf{Type}: \texttt{plist\ boolean}\\
...
...
@@ -3072,18 +3111,17 @@ to install and troubleshoot such macOS installations.
Unlike macOS~10.7 (where certain board identifiers are treated as \DIFdelbegin\DIFdel{the }\DIFdelend\texttt{i386}
Unlike macOS~10.7 (where certain board identifiers are treated as \texttt{i386}
only machines), and macOS~10.5 or earlier (where \texttt{x86\_64} is not supported
by the macOS kernel), macOS~10.6 is very special. The architecture choice on macOS~10.6
depends on many factors including not only the board identifier, but also the macOS
product type (client vs server), macOS point release, and amount of RAM. The detection
of all these is complicated and impractical, as several point releases had implementation
flaws resulting in a failure to properly execute the server detection in the first place.
For this reason \DIFaddbegin\DIFadd{when }\texttt{\DIFadd{Auto}}\DIFadd{is set}\DIFaddend, OpenCore on macOS~10.6 falls back
\DIFdelbegin\DIFdel{on }\DIFdelend\DIFaddbegin\DIFadd{to }\DIFaddend the \texttt{x86\_64} architecture \DIFdelbegin\DIFdel{whenever }\DIFdelend\DIFaddbegin\DIFadd{when }\DIFaddend it is supported by the board, as
\DIFdelbegin\DIFdel{it is }\DIFdelend on macOS~10.7. \DIFaddbegin\DIFadd{The 32-bit }\texttt{\DIFadd{KernelArch}}\DIFadd{options can still be configured
For this reason when \texttt{Auto} is set, OpenCore on macOS~10.6 falls back
to the \texttt{x86\_64} architecture when it is supported by the board, as
on macOS~10.7. The 32-bit \texttt{KernelArch}options can still be configured
explicitly however.
}\DIFaddend
A 64-bit Mac model compatibility matrix corresponding to actual
EfiBoot behaviour on macOS 10.6.8 and 10.7.5 is outlined below.