mirror of
https://github.com/acidanthera/OpenCorePkg.git
synced 2025-12-08 19:25:01 +00:00
Bump version to 0.6.5
This commit is contained in:
parent
7c5f19aef1
commit
46769cabd0
Binary file not shown.
@ -94,7 +94,7 @@
|
||||
|
||||
\vspace{0.2in}
|
||||
|
||||
Reference Manual (0.6.4)
|
||||
Reference Manual (0.6.5)
|
||||
|
||||
\vspace{0.2in}
|
||||
|
||||
|
||||
Binary file not shown.
@ -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
|
||||
|
||||
@ -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.
@ -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.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user