Bump version to 0.6.5

This commit is contained in:
Andrey1970AppleLife 2020-12-07 21:35:07 +03:00
parent 7c5f19aef1
commit 46769cabd0
7 changed files with 376 additions and 223 deletions

Binary file not shown.

View File

@ -94,7 +94,7 @@
\vspace{0.2in}
Reference Manual (0.6.4)
Reference Manual (0.6.5)
\vspace{0.2in}

Binary file not shown.

View File

@ -1,7 +1,7 @@
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Sat Dec 5 13:56:03 2020
%DIF ADD ../Configuration.tex Sun Dec 6 18:37:34 2020
%DIF DEL PreviousConfiguration.tex Mon Dec 7 21:29:15 2020
%DIF ADD ../Configuration.tex Mon Dec 7 21:32:29 2020
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
@ -154,7 +154,7 @@
\vspace{0.2in}
Reference Manual (0.6\DIFdelbegin \DIFdel{.3}\DIFdelend \DIFaddbegin \DIFadd{.4}\DIFaddend )
Reference Manual (0.6\DIFdelbegin \DIFdel{.4}\DIFdelend \DIFaddbegin \DIFadd{.5}\DIFaddend )
\vspace{0.2in}
@ -592,13 +592,13 @@ entries include:
Directory used for storing supplemental tools.
\item
\texttt{OpenCore.efi} \\
Main booter driver responsible for operating system loading. \DIFaddbegin \DIFadd{The directory
}\texttt{\DIFadd{OpenCore.efi}} \DIFadd{resides is called the }\texttt{\DIFadd{root directory}}\DIFadd{.
By default }\texttt{\DIFadd{root directory}} \DIFadd{is set to }\texttt{\DIFadd{EFI\textbackslash OC}}\DIFadd{,
however, when launching }\texttt{\DIFadd{OpenCore.efi}} \DIFadd{directly or through
}\texttt{\DIFadd{Bootstrap.efi}}\DIFadd{, other directories containing }\texttt{\DIFadd{OpenCore.efi}}
\DIFadd{can also be supported.
}\DIFaddend \item
Main booter driver responsible for operating system loading. The directory
\texttt{OpenCore.efi} resides is called the \texttt{root directory}.
By default \texttt{root directory} is set to \texttt{EFI\textbackslash OC},
however, when launching \texttt{OpenCore.efi} directly or through
\texttt{Bootstrap.efi}, other directories containing \texttt{OpenCore.efi}
can also be supported.
\item
\texttt{config.plist} \\
\texttt{OC Config}.
\item
@ -1324,18 +1324,16 @@ To view their current state use \texttt{pmset -g} command in Terminal.
section below.
\item
\DIFaddbegin \texttt{\DIFadd{Patch}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ array}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: Empty}\\
\textbf{\DIFadd{Description}}\DIFadd{: Perform binary patches in booter.
}
\texttt{Patch}\\
\textbf{Type}: \texttt{plist\ array}\\
\textbf{Failsafe}: Empty\\
\textbf{Description}: Perform binary patches in booter.
\DIFadd{Designed to be filled with }\texttt{\DIFadd{plist\ dictionary}} \DIFadd{values, describing each
patch. See }\hyperref[booterpropspatch]{Patch Properties} \DIFadd{section below.
}
Designed to be filled with \texttt{plist\ dictionary} values, describing each
patch. See \hyperref[booterpropspatch]{Patch Properties} section below.
\item
\DIFaddend \texttt{Quirks}\\
\texttt{Quirks}\\
\textbf{Type}: \texttt{plist\ dict}\\
\textbf{Description}: Apply individual booter quirks described
in \hyperref[booterpropsquirks]{Quirks Properties} section below.
@ -1375,142 +1373,127 @@ To view their current state use \texttt{pmset -g} command in Terminal.
\end{enumerate}
\DIFaddbegin \subsection{\DIFadd{Patch Properties}}\label{booterpropspatch}
\subsection{Patch Properties}\label{booterpropspatch}
\begin{enumerate}
\item
\texttt{\DIFadd{Arch}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ string}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{Any}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Booter patch architecture (}\texttt{\DIFadd{Any}}\DIFadd{, }\texttt{\DIFadd{i386}}\DIFadd{, }\texttt{\DIFadd{x86\_64}}\DIFadd{).
}
\texttt{Arch}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: \texttt{Any}\\
\textbf{Description}: Booter patch architecture (\texttt{Any}, \texttt{i386}, \texttt{x86\_64}).
\item
\texttt{\DIFadd{Comment}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ string}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: Empty string}\\
\textbf{\DIFadd{Description}}\DIFadd{: Arbitrary ASCII string used to provide human readable
\texttt{Comment}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: Empty string\\
\textbf{Description}: Arbitrary ASCII string used to provide human readable
reference for the entry. It is implementation defined whether this value is
used.
}
\item
\texttt{\DIFadd{Count}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ integer}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{0}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Number of patch occurrences to apply. }\texttt{\DIFadd{0}} \DIFadd{applies
\texttt{Count}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{0}\\
\textbf{Description}: Number of patch occurrences to apply. \texttt{0} applies
the patch to all occurrences found.
}
\item
\texttt{\DIFadd{Enabled}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: This booter patch will not be used unless set to
}\texttt{\DIFadd{true}}\DIFadd{.
}
\texttt{Enabled}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: This booter patch will not be used unless set to
\texttt{true}.
\item
\texttt{\DIFadd{Find}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ data}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: Empty data}\\
\textbf{\DIFadd{Description}}\DIFadd{: Data to find. This must equal to }\texttt{\DIFadd{Replace}} \DIFadd{in size.
}
\texttt{Find}\\
\textbf{Type}: \texttt{plist\ data}\\
\textbf{Failsafe}: Empty data\\
\textbf{Description}: Data to find. This must equal to \texttt{Replace} in size.
\item
\texttt{\DIFadd{Identifier}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ string}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: Empty string}\\
\textbf{\DIFadd{Description}}\DIFadd{: }\texttt{\DIFadd{Apple}} \DIFadd{for macOS booter (generally }\texttt{\DIFadd{boot.efi}}\DIFadd{);
or a name with suffix (e.g. }\texttt{\DIFadd{bootmgfw.efi}}\DIFadd{) for a specific booter;
or }\texttt{\DIFadd{Any}} \DIFadd{/ empty string (failsafe) to match any booter.
}
\texttt{Identifier}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: Empty string\\
\textbf{Description}: \texttt{Apple} for macOS booter (generally \texttt{boot.efi});
or a name with suffix (e.g. \texttt{bootmgfw.efi}) for a specific booter;
or \texttt{Any} / empty string (failsafe) to match any booter.
\item
\texttt{\DIFadd{Limit}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ integer}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{0}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Maximum number of bytes to search for. Can be set to
}\texttt{\DIFadd{0}} \DIFadd{to look through the whole booter.
}
\texttt{Limit}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{0}\\
\textbf{Description}: Maximum number of bytes to search for. Can be set to
\texttt{0} to look through the whole booter.
\item
\texttt{\DIFadd{Mask}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ data}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: Empty data}\\
\textbf{\DIFadd{Description}}\DIFadd{: Data bitwise mask used during find comparison.
\texttt{Mask}\\
\textbf{Type}: \texttt{plist\ data}\\
\textbf{Failsafe}: Empty data\\
\textbf{Description}: Data bitwise mask used during find comparison.
Allows fuzzy search by ignoring not masked (set to zero) bits. Can be
set to empty data to be ignored. Must equal to }\texttt{\DIFadd{Find}} \DIFadd{in size
set to empty data to be ignored. Must equal to \texttt{Find} in size
otherwise.
}
\item
\texttt{\DIFadd{Replace}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ data}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: Empty data}\\
\textbf{\DIFadd{Description}}\DIFadd{: Replacement data of one or more bytes.
}
\texttt{Replace}\\
\textbf{Type}: \texttt{plist\ data}\\
\textbf{Failsafe}: Empty data\\
\textbf{Description}: Replacement data of one or more bytes.
\item
\texttt{\DIFadd{ReplaceMask}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ data}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: Empty data}\\
\textbf{\DIFadd{Description}}\DIFadd{: Data bitwise mask used during replacement.
\texttt{ReplaceMask}\\
\textbf{Type}: \texttt{plist\ data}\\
\textbf{Failsafe}: Empty data\\
\textbf{Description}: Data bitwise mask used during replacement.
Allows fuzzy replacement by updating masked (set to non-zero) bits. Can be
set to empty data to be ignored. Must equal to }\texttt{\DIFadd{Replace}} \DIFadd{in size
set to empty data to be ignored. Must equal to \texttt{Replace} in size
otherwise.
}
\item
\texttt{\DIFadd{Skip}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ integer}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{0}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Number of found occurrences to be skipped before replacement
\texttt{Skip}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{0}\\
\textbf{Description}: Number of found occurrences to be skipped before replacement
is done.
}
\end{enumerate}
\DIFaddend \subsection{Quirks Properties}\label{booterpropsquirks}
\subsection{Quirks Properties}\label{booterpropsquirks}
\begin{enumerate}
\item
\DIFaddbegin \texttt{\DIFadd{AllowRelocationBlock}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Allows booting macOS through a relocation block.
}
\texttt{AllowRelocationBlock}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Allows booting macOS through a relocation block.
\DIFadd{Relocation block is a scratch buffer allocated in lower 4 GB to be used for
Relocation block is a scratch buffer allocated in lower 4 GB to be used for
loading the kernel and related structures by EfiBoot on firmwares where
lower memory is otherwise occupied by the (assumed to be) non-runtime data.
Right before kernel startup the relocation block is copied back to lower
addresses. Similarly all the other addresses pointing to relocation block
are also carefully adjusted. Relocation block can be used when:
}
\begin{itemize}
\tightlist
\item \DIFadd{No better slide exists (all the memory is used)
}\item \texttt{\DIFadd{slide=0}} \DIFadd{is forced (by an argument or safe mode)
}\item \DIFadd{KASLR (slide) is unsupported (this is macOS 10.7 or older)
}\end{itemize}
\item No better slide exists (all the memory is used)
\item \texttt{slide=0} is forced (by an argument or safe mode)
\item KASLR (slide) is unsupported (this is macOS 10.7 or older)
\end{itemize}
\DIFadd{This quirk requires }\texttt{\DIFadd{ProvideCustomSlide}} \DIFadd{to also be enabled
and generally needs }\DIFaddend \texttt{AvoidRuntimeDefrag} \DIFaddbegin \DIFadd{to work correctly.
This quirk requires \texttt{ProvideCustomSlide} to also be enabled
and generally needs \texttt{AvoidRuntimeDefrag} to work correctly.
Hibernation is not supported when booting with a relocation block
(but relocation block is not always used when the quirk is enabled).
}
\emph{\DIFadd{Note}}\DIFadd{: While this quirk is required to run older macOS versions
\emph{Note}: While this quirk is required to run older macOS versions
on platforms with used lower memory it is not compatible with some
hardware and macOS 11. In this case you may try to use
}\texttt{\DIFadd{EnableSafeModeSlide}} \DIFadd{instead.
}
\texttt{EnableSafeModeSlide} instead.
\item
\texttt{\DIFadd{AvoidRuntimeDefrag}}\DIFaddend \\
\texttt{AvoidRuntimeDefrag}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Protect from boot.efi runtime memory defragmentation.
@ -2527,7 +2510,7 @@ blocking.
\texttt{DisableLinkeditJettison}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Requirement}: \DIFdelbegin \DIFdel{11.0}\DIFdelend \DIFaddbegin \DIFadd{11}\DIFaddend \\
\textbf{Requirement}: 11\\
\textbf{Description}: Disables \texttt{\_\_LINKEDIT} jettison code.
This option lets \texttt{Lilu.kext} and possibly some others function
@ -2576,7 +2559,7 @@ blocking.
\texttt{ForceSecureBootScheme}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Requirement}: \DIFdelbegin \DIFdel{11.0}\DIFdelend \DIFaddbegin \DIFadd{11}\DIFaddend \\
\textbf{Requirement}: 11\\
\textbf{Description}: Force \texttt{x86} scheme for IMG4 verification.
\emph{Note}: This option is required on virtual machines when using
@ -2810,7 +2793,7 @@ refer to \hyperref[legacyapple]{Legacy Apple OS}.
\hline
10.10-10.15 & --- & --- & --- & --- & --- & YES (V3) & --- \\
\hline
\DIFdelbegin \DIFdel{11.0}\DIFdelend \DIFaddbegin \DIFadd{11}\DIFaddend + & --- & --- & --- & --- & --- & YES (V3) & YES \\
11+ & --- & --- & --- & --- & --- & YES (V3) & YES \\
\hline
\end{tabular}
\end{center}
@ -3097,8 +3080,8 @@ entry choice will update till next manual reconfiguration.
For all other entries OpenCore will try to load a volume icon and fallback to the default icon:
\begin{itemize}
\tightlist
\item \texttt{.VolumeIcon.icns} file at \texttt{Preboot} \DIFaddbegin \DIFadd{volume directory for APFS (if present).
}\item \texttt{\DIFadd{.VolumeIcon.icns}} \DIFadd{file at }\texttt{\DIFadd{Preboot}} \DIFaddend root for APFS \DIFaddbegin \DIFadd{(otherwise)}\DIFaddend .
\item \texttt{.VolumeIcon.icns} file at \texttt{Preboot} volume directory for APFS (if present).
\item \texttt{.VolumeIcon.icns} file at \texttt{Preboot} root for APFS (otherwise).
\item \texttt{.VolumeIcon.icns} file at volume root for other filesystems.
\end{itemize} \medskip
@ -3120,10 +3103,10 @@ entry choice will update till next manual reconfiguration.
\item \texttt{0x0008} --- \texttt{OC\_ATTR\_USE\_ALTERNATE\_ICONS}, changes used icon set to
an alternate one if it is supported. For example, this could make a use of old-style icons
with a custom background colour.
\DIFaddbegin \item \texttt{\DIFadd{0x0010}} \DIFadd{--- }\texttt{\DIFadd{OC\_ATTR\_USE\_POINTER\_CONTROL}}\DIFadd{, enable pointer control
\item \texttt{0x0010} --- \texttt{OC\_ATTR\_USE\_POINTER\_CONTROL}, enable pointer control
in the picker when available. For example, this could make use of mouse or trackpad to
control UI elements.
}\DIFaddend \end{itemize}
\end{itemize}
\item
\texttt{PickerAudioAssist}\\
@ -3527,7 +3510,7 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-log |
personalised Apple Secure Boot identifiers. To use this setting,
make sure to generate a random 64-bit number with a cryptographically secure
random number generator. As an alternative, first 8 bytes of \texttt{SystemUUID}
can be used for \texttt{ApECID}, this is found in macOS \DIFdelbegin \DIFdel{11.0 }\DIFdelend \DIFaddbegin \DIFadd{11 }\DIFaddend for Macs without
can be used for \texttt{ApECID}, this is found in macOS 11 for Macs without
the T2 chip.
With this value set and \texttt{SecureBootModel} valid
@ -3553,7 +3536,7 @@ bless bless --folder "/Volumes/Macintosh HD/System/Library/CoreServices" \
--bootefi --personalize
\end{lstlisting}
Before macOS \DIFdelbegin \DIFdel{11.0}\DIFdelend \DIFaddbegin \DIFadd{11}\DIFaddend , which introduced a dedicated \texttt{x86legacy}
Before macOS 11, which introduced a dedicated \texttt{x86legacy}
model for models without the T2 chip, personalised Apple Secure Boot
may not work as expected. When reinstalling the operating system, macOS Installer
from macOS 10.15 and older, will usually run out of free memory
@ -3587,20 +3570,18 @@ diskutil mount -mountpoint /var/tmp/OSPersonalizationTemp $disk
considered a security risk and thus is optional.
\item
\DIFaddbegin \texttt{\DIFadd{BlacklistAppleUpdate}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Ignore boot options trying to update Apple peripheral firmware
(e.g. }\texttt{\DIFadd{MultiUpdater.efi}}\DIFadd{).
}
\texttt{BlacklistAppleUpdate}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Ignore boot options trying to update Apple peripheral firmware
(e.g. \texttt{MultiUpdater.efi}).
\emph{\DIFadd{Note}}\DIFadd{: This option exists due to some operating systems, namely macOS Big Sur,
being }\href{https://github.com/acidanthera/bugtracker/issues/1255}{incapable} \DIFadd{of
disabling firmware updates with the NVRAM variable (}\texttt{\DIFadd{run-efi-updater}}\DIFadd{).
}
\emph{Note}: This option exists due to some operating systems, namely macOS Big Sur,
being \href{https://github.com/acidanthera/bugtracker/issues/1255}{incapable} of
disabling firmware updates with the NVRAM variable (\texttt{run-efi-updater}).
\item
\DIFaddend \texttt{BootProtect}\\
\texttt{BootProtect}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: \texttt{None}\\
\textbf{Description}: Attempt to provide bootloader persistence.
@ -3612,13 +3593,12 @@ diskutil mount -mountpoint /var/tmp/OSPersonalizationTemp $disk
\item \texttt{None} --- do nothing.
\item \texttt{Bootstrap} --- create or update top-priority
\texttt{\textbackslash EFI\textbackslash OC\textbackslash Bootstrap\textbackslash Bootstrap.efi}
boot option \DIFdelbegin \DIFdel{(}\texttt{\DIFdel{Boot9696}}%DIFAUXCMD
\DIFdel{) }\DIFdelend in UEFI variable storage at bootloader startup. For this option
boot option in UEFI variable storage at bootloader startup. For this option
to work \texttt{RequestBootVarRouting} is required to be enabled.
\DIFaddbegin \item \texttt{\DIFadd{BootstrapShort}} \DIFadd{--- create a short boot option instead of a complete one,
otherwise equivalent to }\texttt{\DIFadd{Bootstrap}}\DIFadd{. This variant is useful for some older firmwares,
\item \texttt{BootstrapShort} --- create a short boot option instead of a complete one,
otherwise equivalent to \texttt{Bootstrap}. This variant is useful for some older firmwares,
Insyde in particular, but possibly others, which cannot handle full device paths.
}\DIFaddend \end{itemize}
\end{itemize}
This option provides integration with third-party operating system installation and upgrade
at the times they overwrite \texttt{\textbackslash EFI\textbackslash BOOT\textbackslash BOOTx64.efi}
@ -3632,9 +3612,8 @@ diskutil mount -mountpoint /var/tmp/OSPersonalizationTemp $disk
for some known issues with Haswell and other boards.
\emph{Note 2}: Be aware that while NVRAM reset executed from OpenCore should not erase the boot
option created in \texttt{Bootstrap}, executing NVRAM reset prior to loading OpenCore will remove it. \DIFaddbegin \DIFadd{For significant implementation updates (e.g. in OpenCore 0.6.4) make sure to perform
NVRAM reset with }\texttt{\DIFadd{Bootstrap}} \DIFadd{disabled before reenabling.
}\DIFaddend
option created in \texttt{Bootstrap}, executing NVRAM reset prior to loading OpenCore will remove it. For significant implementation updates (e.g. in OpenCore 0.6.4) make sure to perform
NVRAM reset with \texttt{Bootstrap} disabled before reenabling.
\item \label{securedmgloading}
\texttt{DmgLoading}\\
@ -3900,23 +3879,23 @@ rm vault.pub
\tightlist
\item \texttt{Default} --- Recent available model, currently set to \texttt{j137}.
\item \texttt{Disabled} --- No model, Secure Boot will be disabled.
\item \texttt{j137} --- \texttt{iMacPro1,1 (December 2017)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.13.2 (17C2111)}
\item \texttt{j680} --- \texttt{MacBookPro15,1 (July 2018)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.13.6 (17G2112)}
\item \texttt{j132} --- \texttt{MacBookPro15,2 (July 2018)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.13.6 (17G2112)}
\item \texttt{j174} --- \texttt{Macmini8,1 (October 2018)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.14 (18A2063)}
\item \texttt{j140k} --- \texttt{MacBookAir8,1 (October 2018)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.14.1 (18B2084)}
\item \texttt{j780} --- \texttt{MacBookPro15,3 (May 2019)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.14.5 (18F132)}
\item \texttt{j213} --- \texttt{MacBookPro15,4 (July 2019)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.14.5 (18F2058)}
\item \texttt{j140a} --- \texttt{MacBookAir8,2 (July 2019)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.14.5 (18F2058)}
\item \texttt{j152f} --- \texttt{MacBookPro16,1 (November 2019)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.15.1 (19B2093)}
\item \texttt{j160} --- \texttt{MacPro7,1 (December 2019)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.15.1 (19B88)}
\item \texttt{j230k} --- \texttt{MacBookAir9,1 (March 2020)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.15.3 (19D2064)}
\item \texttt{j214k} --- \texttt{MacBookPro16,2 (May 2020)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.15.4 (19E2269)}
\item \texttt{j223} --- \texttt{MacBookPro16,3 (May 2020)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.15.4 (19E2265)}
\item \texttt{j215} --- \texttt{MacBookPro16,4 (June 2020)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.15.5 (19F96)}
\item \texttt{j185} --- \texttt{iMac20,1 (August 2020)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.15.6 (19G2005)}
\item \texttt{j185f} --- \texttt{iMac20,2 (August 2020)\DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{. Minimum }\DIFaddend macOS 10.15.6 (19G2005)}
\item \texttt{x86legacy} --- \texttt{Macs \DIFdelbegin \DIFdel{and VMs }\DIFdelend without T2 chip \DIFdelbegin \DIFdel{minimum }\DIFdelend \DIFaddbegin \DIFadd{and VMs. Minimum }\DIFaddend macOS 11.0\DIFaddbegin \DIFadd{.1 (20B29)}\DIFaddend }
\item \texttt{j137} --- \texttt{iMacPro1,1 (December 2017). Minimum macOS 10.13.2 (17C2111)}
\item \texttt{j680} --- \texttt{MacBookPro15,1 (July 2018). Minimum macOS 10.13.6 (17G2112)}
\item \texttt{j132} --- \texttt{MacBookPro15,2 (July 2018). Minimum macOS 10.13.6 (17G2112)}
\item \texttt{j174} --- \texttt{Macmini8,1 (October 2018). Minimum macOS 10.14 (18A2063)}
\item \texttt{j140k} --- \texttt{MacBookAir8,1 (October 2018). Minimum macOS 10.14.1 (18B2084)}
\item \texttt{j780} --- \texttt{MacBookPro15,3 (May 2019). Minimum macOS 10.14.5 (18F132)}
\item \texttt{j213} --- \texttt{MacBookPro15,4 (July 2019). Minimum macOS 10.14.5 (18F2058)}
\item \texttt{j140a} --- \texttt{MacBookAir8,2 (July 2019). Minimum macOS 10.14.5 (18F2058)}
\item \texttt{j152f} --- \texttt{MacBookPro16,1 (November 2019). Minimum macOS 10.15.1 (19B2093)}
\item \texttt{j160} --- \texttt{MacPro7,1 (December 2019). Minimum macOS 10.15.1 (19B88)}
\item \texttt{j230k} --- \texttt{MacBookAir9,1 (March 2020). Minimum macOS 10.15.3 (19D2064)}
\item \texttt{j214k} --- \texttt{MacBookPro16,2 (May 2020). Minimum macOS 10.15.4 (19E2269)}
\item \texttt{j223} --- \texttt{MacBookPro16,3 (May 2020). Minimum macOS 10.15.4 (19E2265)}
\item \texttt{j215} --- \texttt{MacBookPro16,4 (June 2020). Minimum macOS 10.15.5 (19F96)}
\item \texttt{j185} --- \texttt{iMac20,1 (August 2020). Minimum macOS 10.15.6 (19G2005)}
\item \texttt{j185f} --- \texttt{iMac20,2 (August 2020). Minimum macOS 10.15.6 (19G2005)}
\item \texttt{x86legacy} --- \texttt{Macs without T2 chip and VMs. Minimum macOS 11.0.1 (20B29)}
\end{itemize}
Apple Secure Boot appeared in macOS 10.13 on models with T2 chips.
@ -3954,9 +3933,9 @@ rm vault.pub
\item Since \texttt{Default} value will increase with time to support the latest
major release operating system, it is not recommended to use \texttt{ApECID}
and \texttt{Default} value together.
\DIFaddbegin \item \DIFadd{Installing macOS with Apple Secure Boot enabled is not possible while using HFS+
\item Installing macOS with Apple Secure Boot enabled is not possible while using HFS+
target volume. This may include HFS+ formatted drives when no spare APFS drive is available.
}\DIFaddend \end{enumerate}
\end{enumerate}
Sometimes the already installed operating system may have outdated Apple Secure
Boot manifests on the \texttt{Preboot} partition causing boot failure. If there is
@ -4027,38 +4006,33 @@ rm vault.pub
Example: \texttt{OpenShell.efi}.
\end{itemize}
\DIFaddbegin \item
\texttt{\DIFadd{RealPath}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Pass full path to the tool when launching.
}
\item
\texttt{RealPath}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Pass full path to the tool when launching.
\DIFadd{Passing tool directory may be unsafe for tool accidentally trying to access
Passing tool directory may be unsafe for tool accidentally trying to access
files without checking their integrity and thus should generally be disabled.
Reason to enable this property may include cases where tools cannot work
without external files or may need them for better function (e.g.
}\texttt{\DIFadd{memtest86}} \DIFadd{for logging and configuration or }\texttt{\DIFadd{Shell}} \DIFadd{for
\texttt{memtest86} for logging and configuration or \texttt{Shell} for
automatic script execution).
}
\emph{\DIFadd{Note}}\DIFadd{: This property is only valid for }\texttt{\DIFadd{Tools}}\DIFadd{. For }\texttt{\DIFadd{Entries}}
\DIFadd{this property cannot be specified and is always }\texttt{\DIFadd{true}}\DIFadd{.
}
\emph{Note}: This property is only valid for \texttt{Tools}. For \texttt{Entries}
this property cannot be specified and is always \texttt{true}.
\item
\texttt{\DIFadd{TextMode}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Run the entry in text mode instead of graphics mode.
}
\texttt{TextMode}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Run the entry in text mode instead of graphics mode.
\DIFadd{This setting may be benefitial to some older tools that require text output.
This setting may be benefitial to some older tools that require text output.
By default all the tools are launched in graphics mode. Read more about text
modes in }\hyperref[uefioutputprops]{Output Properties} \DIFadd{section below.
}
modes in \hyperref[uefioutputprops]{Output Properties} section below.
\DIFaddend \end{enumerate}
\end{enumerate}
\section{NVRAM}\label{nvram}
@ -4333,8 +4307,8 @@ troubleshooting:
\item \texttt{io=VALUE} (\texttt{IOKit} debug mask)
\item \texttt{keepsyms=1} (show panic log debug symbols)
\item \texttt{kextlog=VALUE} (kernel extension loading debug mask)
\item \DIFaddbegin \texttt{\DIFadd{nvram-log=1}} \DIFadd{(enables AppleEFINVRAM logs)
}\item \DIFaddend \texttt{nv\_disable=1} (disables NVIDIA GPU acceleration)
\item \texttt{nvram-log=1} (enables AppleEFINVRAM logs)
\item \texttt{nv\_disable=1} (disables NVIDIA GPU acceleration)
\item \texttt{nvda\_drv=1} (legacy way to enable NVIDIA web driver, removed in 10.12)
\item \texttt{npci=0x2000} (\href{https://www.insanelymac.com/forum/topic/260539-1068-officially-released/?do=findComment&comment=1707972}{legacy}, disables \texttt{kIOPCIConfiguratorPFM64})
\item \texttt{lapic\_dont\_panic=1}
@ -4492,9 +4466,7 @@ troubleshooting:
Mute startup chime sound in firmware audio support. 8-bit integer.
The value of \texttt{0x00} means unmuted. Missing variable or any
other value means muted.
\DIFdelbegin \DIFdel{This variable only affects Gibraltar
machines (T2).
}\DIFdelend \item
\item
\texttt{7C436110-AB2A-4BBB-A880-FE41995C9F82:SystemAudioVolume}
\break
System audio volume level for firmware audio support. 8-bit integer.
@ -5992,25 +5964,23 @@ functioning. Feature highlights:
\item
\texttt{PlayChime}\\
\textbf{Type}: \texttt{plist\ \DIFdelbegin \DIFdel{boolean}\DIFdelend \DIFaddbegin \DIFadd{string}\DIFaddend }\\
\textbf{Failsafe}: \DIFdelbegin \texttt{\DIFdel{false}}%DIFAUXCMD
\DIFdelend \DIFaddbegin \DIFadd{empty string}\DIFaddend \\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: empty string\\
\textbf{Description}: Play chime sound at startup.
Enabling this setting plays boot chime through builtin audio support. Volume level
is determined by \texttt{MinimumVolume} and \texttt{VolumeAmplifier} settings and
\texttt{SystemAudioVolume} NVRAM variable. \DIFaddbegin \DIFadd{Possible values include:
}\DIFaddend
\texttt{SystemAudioVolume} NVRAM variable. Possible values include:
\DIFaddbegin \begin{itemize}
\begin{itemize}
\tightlist
\item \texttt{\DIFadd{Auto}} \DIFadd{--- Enables chime when }\texttt{\DIFadd{StartupMute}} \DIFadd{NVRAM variable
is not present or set to }\texttt{\DIFadd{00}}\DIFadd{.
}\item \texttt{\DIFadd{Enabled}} \DIFadd{--- Enables chime unconditionally.
}\item \texttt{\DIFadd{Disabled}} \DIFadd{--- Disables chime unconditionally.
}\end{itemize}
\item \texttt{Auto} --- Enables chime when \texttt{StartupMute} NVRAM variable
is not present or set to \texttt{00}.
\item \texttt{Enabled} --- Enables chime unconditionally.
\item \texttt{Disabled} --- Disables chime unconditionally.
\end{itemize}
\DIFaddend \emph{Note}: \DIFdelbegin \DIFdel{this setting is }\DIFdelend \DIFaddbegin \texttt{\DIFadd{Enabled}} \DIFadd{can be used in }\DIFaddend separate from \texttt{StartupMute}
\emph{Note}: \texttt{Enabled} can be used in separate from \texttt{StartupMute}
NVRAM variable to avoid conflicts when the firmware is able to play boot chime.
\item

View File

@ -94,7 +94,7 @@
\vspace{0.2in}
Reference Manual (0.6.3)
Reference Manual (0.6.4)
\vspace{0.2in}
@ -532,7 +532,12 @@ entries include:
Directory used for storing supplemental tools.
\item
\texttt{OpenCore.efi} \\
Main booter driver responsible for operating system loading.
Main booter driver responsible for operating system loading. The directory
\texttt{OpenCore.efi} resides is called the \texttt{root directory}.
By default \texttt{root directory} is set to \texttt{EFI\textbackslash OC},
however, when launching \texttt{OpenCore.efi} directly or through
\texttt{Bootstrap.efi}, other directories containing \texttt{OpenCore.efi}
can also be supported.
\item
\texttt{config.plist} \\
\texttt{OC Config}.
@ -1257,6 +1262,15 @@ To view their current state use \texttt{pmset -g} command in Terminal.
describing addresses critical for particular firmware functioning when
\texttt{DevirtualiseMmio} quirk is in use. See \hyperref[booterpropsmmio]{MmioWhitelist Properties}
section below.
\item
\texttt{Patch}\\
\textbf{Type}: \texttt{plist\ array}\\
\textbf{Failsafe}: Empty\\
\textbf{Description}: Perform binary patches in booter.
Designed to be filled with \texttt{plist\ dictionary} values, describing each
patch. See \hyperref[booterpropspatch]{Patch Properties} section below.
\item
\texttt{Quirks}\\
@ -1299,10 +1313,125 @@ To view their current state use \texttt{pmset -g} command in Terminal.
\end{enumerate}
\subsection{Patch Properties}\label{booterpropspatch}
\begin{enumerate}
\item
\texttt{Arch}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: \texttt{Any}\\
\textbf{Description}: Booter patch architecture (\texttt{Any}, \texttt{i386}, \texttt{x86\_64}).
\item
\texttt{Comment}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: Empty string\\
\textbf{Description}: Arbitrary ASCII string used to provide human readable
reference for the entry. It is implementation defined whether this value is
used.
\item
\texttt{Count}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{0}\\
\textbf{Description}: Number of patch occurrences to apply. \texttt{0} applies
the patch to all occurrences found.
\item
\texttt{Enabled}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: This booter patch will not be used unless set to
\texttt{true}.
\item
\texttt{Find}\\
\textbf{Type}: \texttt{plist\ data}\\
\textbf{Failsafe}: Empty data\\
\textbf{Description}: Data to find. This must equal to \texttt{Replace} in size.
\item
\texttt{Identifier}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: Empty string\\
\textbf{Description}: \texttt{Apple} for macOS booter (generally \texttt{boot.efi});
or a name with suffix (e.g. \texttt{bootmgfw.efi}) for a specific booter;
or \texttt{Any} / empty string (failsafe) to match any booter.
\item
\texttt{Limit}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{0}\\
\textbf{Description}: Maximum number of bytes to search for. Can be set to
\texttt{0} to look through the whole booter.
\item
\texttt{Mask}\\
\textbf{Type}: \texttt{plist\ data}\\
\textbf{Failsafe}: Empty data\\
\textbf{Description}: Data bitwise mask used during find comparison.
Allows fuzzy search by ignoring not masked (set to zero) bits. Can be
set to empty data to be ignored. Must equal to \texttt{Find} in size
otherwise.
\item
\texttt{Replace}\\
\textbf{Type}: \texttt{plist\ data}\\
\textbf{Failsafe}: Empty data\\
\textbf{Description}: Replacement data of one or more bytes.
\item
\texttt{ReplaceMask}\\
\textbf{Type}: \texttt{plist\ data}\\
\textbf{Failsafe}: Empty data\\
\textbf{Description}: Data bitwise mask used during replacement.
Allows fuzzy replacement by updating masked (set to non-zero) bits. Can be
set to empty data to be ignored. Must equal to \texttt{Replace} in size
otherwise.
\item
\texttt{Skip}\\
\textbf{Type}: \texttt{plist\ integer}\\
\textbf{Failsafe}: \texttt{0}\\
\textbf{Description}: Number of found occurrences to be skipped before replacement
is done.
\end{enumerate}
\subsection{Quirks Properties}\label{booterpropsquirks}
\begin{enumerate}
\item
\texttt{AllowRelocationBlock}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Allows booting macOS through a relocation block.
Relocation block is a scratch buffer allocated in lower 4 GB to be used for
loading the kernel and related structures by EfiBoot on firmwares where
lower memory is otherwise occupied by the (assumed to be) non-runtime data.
Right before kernel startup the relocation block is copied back to lower
addresses. Similarly all the other addresses pointing to relocation block
are also carefully adjusted. Relocation block can be used when:
\begin{itemize}
\tightlist
\item No better slide exists (all the memory is used)
\item \texttt{slide=0} is forced (by an argument or safe mode)
\item KASLR (slide) is unsupported (this is macOS 10.7 or older)
\end{itemize}
This quirk requires \texttt{ProvideCustomSlide} to also be enabled
and generally needs \texttt{AvoidRuntimeDefrag} to work correctly.
Hibernation is not supported when booting with a relocation block
(but relocation block is not always used when the quirk is enabled).
\emph{Note}: While this quirk is required to run older macOS versions
on platforms with used lower memory it is not compatible with some
hardware and macOS 11. In this case you may try to use
\texttt{EnableSafeModeSlide} instead.
\item
\texttt{AvoidRuntimeDefrag}\\
\textbf{Type}: \texttt{plist\ boolean}\\
@ -2321,7 +2450,7 @@ blocking.
\texttt{DisableLinkeditJettison}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Requirement}: 11.0\\
\textbf{Requirement}: 11\\
\textbf{Description}: Disables \texttt{\_\_LINKEDIT} jettison code.
This option lets \texttt{Lilu.kext} and possibly some others function
@ -2370,7 +2499,7 @@ blocking.
\texttt{ForceSecureBootScheme}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Requirement}: 11.0\\
\textbf{Requirement}: 11\\
\textbf{Description}: Force \texttt{x86} scheme for IMG4 verification.
\emph{Note}: This option is required on virtual machines when using
@ -2604,7 +2733,7 @@ refer to \hyperref[legacyapple]{Legacy Apple OS}.
\hline
10.10-10.15 & --- & --- & --- & --- & --- & YES (V3) & --- \\
\hline
11.0+ & --- & --- & --- & --- & --- & YES (V3) & YES \\
11+ & --- & --- & --- & --- & --- & YES (V3) & YES \\
\hline
\end{tabular}
\end{center}
@ -2891,7 +3020,8 @@ entry choice will update till next manual reconfiguration.
For all other entries OpenCore will try to load a volume icon and fallback to the default icon:
\begin{itemize}
\tightlist
\item \texttt{.VolumeIcon.icns} file at \texttt{Preboot} root for APFS.
\item \texttt{.VolumeIcon.icns} file at \texttt{Preboot} volume directory for APFS (if present).
\item \texttt{.VolumeIcon.icns} file at \texttt{Preboot} root for APFS (otherwise).
\item \texttt{.VolumeIcon.icns} file at volume root for other filesystems.
\end{itemize} \medskip
@ -2913,6 +3043,9 @@ entry choice will update till next manual reconfiguration.
\item \texttt{0x0008} --- \texttt{OC\_ATTR\_USE\_ALTERNATE\_ICONS}, changes used icon set to
an alternate one if it is supported. For example, this could make a use of old-style icons
with a custom background colour.
\item \texttt{0x0010} --- \texttt{OC\_ATTR\_USE\_POINTER\_CONTROL}, enable pointer control
in the picker when available. For example, this could make use of mouse or trackpad to
control UI elements.
\end{itemize}
\item
@ -3317,7 +3450,7 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-log |
personalised Apple Secure Boot identifiers. To use this setting,
make sure to generate a random 64-bit number with a cryptographically secure
random number generator. As an alternative, first 8 bytes of \texttt{SystemUUID}
can be used for \texttt{ApECID}, this is found in macOS 11.0 for Macs without
can be used for \texttt{ApECID}, this is found in macOS 11 for Macs without
the T2 chip.
With this value set and \texttt{SecureBootModel} valid
@ -3343,7 +3476,7 @@ bless bless --folder "/Volumes/Macintosh HD/System/Library/CoreServices" \
--bootefi --personalize
\end{lstlisting}
Before macOS 11.0, which introduced a dedicated \texttt{x86legacy}
Before macOS 11, which introduced a dedicated \texttt{x86legacy}
model for models without the T2 chip, personalised Apple Secure Boot
may not work as expected. When reinstalling the operating system, macOS Installer
from macOS 10.15 and older, will usually run out of free memory
@ -3376,6 +3509,17 @@ diskutil mount -mountpoint /var/tmp/OSPersonalizationTemp $disk
NVRAM and RTC, which despite being removed as soon as OpenCore starts, may be
considered a security risk and thus is optional.
\item
\texttt{BlacklistAppleUpdate}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Ignore boot options trying to update Apple peripheral firmware
(e.g. \texttt{MultiUpdater.efi}).
\emph{Note}: This option exists due to some operating systems, namely macOS Big Sur,
being \href{https://github.com/acidanthera/bugtracker/issues/1255}{incapable} of
disabling firmware updates with the NVRAM variable (\texttt{run-efi-updater}).
\item
\texttt{BootProtect}\\
\textbf{Type}: \texttt{plist\ string}\\
@ -3389,8 +3533,11 @@ diskutil mount -mountpoint /var/tmp/OSPersonalizationTemp $disk
\item \texttt{None} --- do nothing.
\item \texttt{Bootstrap} --- create or update top-priority
\texttt{\textbackslash EFI\textbackslash OC\textbackslash Bootstrap\textbackslash Bootstrap.efi}
boot option (\texttt{Boot9696}) in UEFI variable storage at bootloader startup. For this option
boot option in UEFI variable storage at bootloader startup. For this option
to work \texttt{RequestBootVarRouting} is required to be enabled.
\item \texttt{BootstrapShort} --- create a short boot option instead of a complete one,
otherwise equivalent to \texttt{Bootstrap}. This variant is useful for some older firmwares,
Insyde in particular, but possibly others, which cannot handle full device paths.
\end{itemize}
This option provides integration with third-party operating system installation and upgrade
@ -3405,7 +3552,8 @@ diskutil mount -mountpoint /var/tmp/OSPersonalizationTemp $disk
for some known issues with Haswell and other boards.
\emph{Note 2}: Be aware that while NVRAM reset executed from OpenCore should not erase the boot
option created in \texttt{Bootstrap}, executing NVRAM reset prior to loading OpenCore will remove it.
option created in \texttt{Bootstrap}, executing NVRAM reset prior to loading OpenCore will remove it. For significant implementation updates (e.g. in OpenCore 0.6.4) make sure to perform
NVRAM reset with \texttt{Bootstrap} disabled before reenabling.
\item \label{securedmgloading}
\texttt{DmgLoading}\\
@ -3671,23 +3819,23 @@ rm vault.pub
\tightlist
\item \texttt{Default} --- Recent available model, currently set to \texttt{j137}.
\item \texttt{Disabled} --- No model, Secure Boot will be disabled.
\item \texttt{j137} --- \texttt{iMacPro1,1 (December 2017) minimum macOS 10.13.2 (17C2111)}
\item \texttt{j680} --- \texttt{MacBookPro15,1 (July 2018) minimum macOS 10.13.6 (17G2112)}
\item \texttt{j132} --- \texttt{MacBookPro15,2 (July 2018) minimum macOS 10.13.6 (17G2112)}
\item \texttt{j174} --- \texttt{Macmini8,1 (October 2018) minimum macOS 10.14 (18A2063)}
\item \texttt{j140k} --- \texttt{MacBookAir8,1 (October 2018) minimum macOS 10.14.1 (18B2084)}
\item \texttt{j780} --- \texttt{MacBookPro15,3 (May 2019) minimum macOS 10.14.5 (18F132)}
\item \texttt{j213} --- \texttt{MacBookPro15,4 (July 2019) minimum macOS 10.14.5 (18F2058)}
\item \texttt{j140a} --- \texttt{MacBookAir8,2 (July 2019) minimum macOS 10.14.5 (18F2058)}
\item \texttt{j152f} --- \texttt{MacBookPro16,1 (November 2019) minimum macOS 10.15.1 (19B2093)}
\item \texttt{j160} --- \texttt{MacPro7,1 (December 2019) minimum macOS 10.15.1 (19B88)}
\item \texttt{j230k} --- \texttt{MacBookAir9,1 (March 2020) minimum macOS 10.15.3 (19D2064)}
\item \texttt{j214k} --- \texttt{MacBookPro16,2 (May 2020) minimum macOS 10.15.4 (19E2269)}
\item \texttt{j223} --- \texttt{MacBookPro16,3 (May 2020) minimum macOS 10.15.4 (19E2265)}
\item \texttt{j215} --- \texttt{MacBookPro16,4 (June 2020) minimum macOS 10.15.5 (19F96)}
\item \texttt{j185} --- \texttt{iMac20,1 (August 2020) minimum macOS 10.15.6 (19G2005)}
\item \texttt{j185f} --- \texttt{iMac20,2 (August 2020) minimum macOS 10.15.6 (19G2005)}
\item \texttt{x86legacy} --- \texttt{Macs and VMs without T2 chip minimum macOS 11.0}
\item \texttt{j137} --- \texttt{iMacPro1,1 (December 2017). Minimum macOS 10.13.2 (17C2111)}
\item \texttt{j680} --- \texttt{MacBookPro15,1 (July 2018). Minimum macOS 10.13.6 (17G2112)}
\item \texttt{j132} --- \texttt{MacBookPro15,2 (July 2018). Minimum macOS 10.13.6 (17G2112)}
\item \texttt{j174} --- \texttt{Macmini8,1 (October 2018). Minimum macOS 10.14 (18A2063)}
\item \texttt{j140k} --- \texttt{MacBookAir8,1 (October 2018). Minimum macOS 10.14.1 (18B2084)}
\item \texttt{j780} --- \texttt{MacBookPro15,3 (May 2019). Minimum macOS 10.14.5 (18F132)}
\item \texttt{j213} --- \texttt{MacBookPro15,4 (July 2019). Minimum macOS 10.14.5 (18F2058)}
\item \texttt{j140a} --- \texttt{MacBookAir8,2 (July 2019). Minimum macOS 10.14.5 (18F2058)}
\item \texttt{j152f} --- \texttt{MacBookPro16,1 (November 2019). Minimum macOS 10.15.1 (19B2093)}
\item \texttt{j160} --- \texttt{MacPro7,1 (December 2019). Minimum macOS 10.15.1 (19B88)}
\item \texttt{j230k} --- \texttt{MacBookAir9,1 (March 2020). Minimum macOS 10.15.3 (19D2064)}
\item \texttt{j214k} --- \texttt{MacBookPro16,2 (May 2020). Minimum macOS 10.15.4 (19E2269)}
\item \texttt{j223} --- \texttt{MacBookPro16,3 (May 2020). Minimum macOS 10.15.4 (19E2265)}
\item \texttt{j215} --- \texttt{MacBookPro16,4 (June 2020). Minimum macOS 10.15.5 (19F96)}
\item \texttt{j185} --- \texttt{iMac20,1 (August 2020). Minimum macOS 10.15.6 (19G2005)}
\item \texttt{j185f} --- \texttt{iMac20,2 (August 2020). Minimum macOS 10.15.6 (19G2005)}
\item \texttt{x86legacy} --- \texttt{Macs without T2 chip and VMs. Minimum macOS 11.0.1 (20B29)}
\end{itemize}
Apple Secure Boot appeared in macOS 10.13 on models with T2 chips.
@ -3699,7 +3847,7 @@ rm vault.pub
of Apple Secure Boot. The \texttt{ApECID} value must also be specified to
achieve \texttt{Full Security}. Check \texttt{ForceSecureBootScheme}
when using Apple Secure Boot on a virtual machine.
Enabling Apple Secure Boot is more demanding to incorrect configurations,
buggy macOS installations, and unsupported setups. Things to consider:
@ -3725,6 +3873,8 @@ rm vault.pub
\item Since \texttt{Default} value will increase with time to support the latest
major release operating system, it is not recommended to use \texttt{ApECID}
and \texttt{Default} value together.
\item Installing macOS with Apple Secure Boot enabled is not possible while using HFS+
target volume. This may include HFS+ formatted drives when no spare APFS drive is available.
\end{enumerate}
Sometimes the already installed operating system may have outdated Apple Secure
@ -3796,8 +3946,33 @@ rm vault.pub
Example: \texttt{OpenShell.efi}.
\end{itemize}
\end{enumerate}
\item
\texttt{RealPath}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Pass full path to the tool when launching.
Passing tool directory may be unsafe for tool accidentally trying to access
files without checking their integrity and thus should generally be disabled.
Reason to enable this property may include cases where tools cannot work
without external files or may need them for better function (e.g.
\texttt{memtest86} for logging and configuration or \texttt{Shell} for
automatic script execution).
\emph{Note}: This property is only valid for \texttt{Tools}. For \texttt{Entries}
this property cannot be specified and is always \texttt{true}.
\item
\texttt{TextMode}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Run the entry in text mode instead of graphics mode.
This setting may be benefitial to some older tools that require text output.
By default all the tools are launched in graphics mode. Read more about text
modes in \hyperref[uefioutputprops]{Output Properties} section below.
\end{enumerate}
\section{NVRAM}\label{nvram}
@ -4072,6 +4247,7 @@ troubleshooting:
\item \texttt{io=VALUE} (\texttt{IOKit} debug mask)
\item \texttt{keepsyms=1} (show panic log debug symbols)
\item \texttt{kextlog=VALUE} (kernel extension loading debug mask)
\item \texttt{nvram-log=1} (enables AppleEFINVRAM logs)
\item \texttt{nv\_disable=1} (disables NVIDIA GPU acceleration)
\item \texttt{nvda\_drv=1} (legacy way to enable NVIDIA web driver, removed in 10.12)
\item \texttt{npci=0x2000} (\href{https://www.insanelymac.com/forum/topic/260539-1068-officially-released/?do=findComment&comment=1707972}{legacy}, disables \texttt{kIOPCIConfiguratorPFM64})
@ -4229,8 +4405,7 @@ troubleshooting:
\break
Mute startup chime sound in firmware audio support. 8-bit integer.
The value of \texttt{0x00} means unmuted. Missing variable or any
other value means muted. This variable only affects Gibraltar
machines (T2).
other value means muted.
\item
\texttt{7C436110-AB2A-4BBB-A880-FE41995C9F82:SystemAudioVolume}
\break
@ -5729,16 +5904,24 @@ functioning. Feature highlights:
\item
\texttt{PlayChime}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: empty string\\
\textbf{Description}: Play chime sound at startup.
Enabling this setting plays boot chime through builtin audio support. Volume level
is determined by \texttt{MinimumVolume} and \texttt{VolumeAmplifier} settings and
\texttt{SystemAudioVolume} NVRAM variable.
\texttt{SystemAudioVolume} NVRAM variable. Possible values include:
\emph{Note}: this setting is separate from \texttt{StartupMute} NVRAM variable
to avoid conflicts when the firmware is able to play boot chime.
\begin{itemize}
\tightlist
\item \texttt{Auto} --- Enables chime when \texttt{StartupMute} NVRAM variable
is not present or set to \texttt{00}.
\item \texttt{Enabled} --- Enables chime unconditionally.
\item \texttt{Disabled} --- Disables chime unconditionally.
\end{itemize}
\emph{Note}: \texttt{Enabled} can be used in separate from \texttt{StartupMute}
NVRAM variable to avoid conflicts when the firmware is able to play boot chime.
\item
\texttt{VolumeAmplifier}\\

Binary file not shown.

View File

@ -31,7 +31,7 @@
OpenCore version reported to log and NVRAM.
OPEN_CORE_VERSION must follow X.Y.Z format, where X.Y.Z are single digits.
**/
#define OPEN_CORE_VERSION "0.6.4"
#define OPEN_CORE_VERSION "0.6.5"
/**
OpenCore build type reported to log and NVRAM.