提交 8f5651c8 编写于 作者: V vit9696

Docs: Provide partial UEFI driver list

上级 2ef9c642
......@@ -103,7 +103,6 @@ For OpenCore issues please refer to
Currently this file has the following entries not completed:
\begin{itemize}
\item Known \texttt{UEFI} driver list is incomplete.
\item Not all \texttt{NVRAM} variables are properly described (e.g. boot-args).
\end{itemize}
......@@ -2391,7 +2390,77 @@ tweaks for the onboard firmware.
Loading an incompatible driver may lead your system to unbootable state or
even cause permanent firmware damage. Some of the known drivers include:
FIXME: Write
\begin{itemize}
\tightlist
\item \href{https://github.com/acidanthera/AppleSupportPkg}{\texttt{ApfsDriverLoader}}
--- APFS file system bootstrap driver adding the support of embedded APFS drivers
in bootable APFS containers in UEFI firmwares.
\item \href{https://github.com/acidanthera/AppleSupportPkg}{\texttt{AppleUiSupport}}
--- Apple-specific user interface support driver. This driver brings the support
for FileVault 2 GUI, hotkey parsing (shift, cmd+v, etc.), language collation support,
and certain other features important for normal macOS functioning. For hotkey support
\texttt{AppleKeyMapAggregator}-compatible driver is required.
\item \href{https://github.com/acidanthera/AptioFixPkg}{\texttt{AptioInputFix}}
--- user input driver adding the support of \texttt{AppleKeyMapAggregator} protocols
on top of different UEFI input protocols. Additionally resolves mouse input issues
on select firmwares. This is an alternative to \texttt{UsbKbDxe}, which may work
better or worse depending on the firmware.
\item \href{https://github.com/acidanthera/AptioFixPkg}{\texttt{AptioMemoryFix}}
--- a set of quirks for various firmwares. While it primarily targets APTIO
firmwares, other firmwares may be compatible as well. Among the resolved issues
are hibernation support, KASLR, Lilu NVRAM security enhancements, NVRAM, and UEFI
Boot entry preservation.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{DataHubDxe}}
--- Intel DataHub driver from \texttt{IntelFrameworkModulePkg}. It is believed
that this driver is included in all UEFI firmwares, and is not required.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{EmuVariableRuntimeDxe}}
--- NVRAM emulation driver from \texttt{MdeModulePkg}. NVRAM is supported by most
modern firmwares. For firmwares with macOS incompatible NVRAM implementation an
emulated driver may be used. This driver will not preserve NVRAM contents across the
reboots.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{EnglishDxe}}
--- Unicode collation driver from \texttt{MdeModulePkg}. This driver is a lightweight
alternative to \texttt{AppleUiSupport}, which contains no Apple-specific code, and
only provides unicode collation support. The driver is not recommended for use
on any hardware but few original Macs.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{EnhancedFatDxe}}
--- FAT filesystem driver from \texttt{FatPkg}. This driver is embedded in all
UEFI firmwares, and cannot be used from OpenCore. It is known that multiple firmwares
have a bug in their FAT support implementation, which leads to corrupted filesystems
on write attempt. Embedding this driver within the firmware may be required in case
writing to EFI partition is needed during the boot process.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{NvmExpressDxe}}
--- NVMe support driver from \texttt{MdeModulePkg}. This driver is included in most
firmwares starting with Broadwell generation. For Haswell and earlier embedding it
within the firmware may be more favourable in case a NVMe SSD drive is installed.
\item \href{https://github.com/acidanthera/AppleSupportPkg}{\texttt{UsbKbDxe}}
--- USB keyboard driver adding the support of \texttt{AppleKeyMapAggregator} protocols
on top of a custom USB keyboard driver implementation. This is an alternative to
\texttt{AptioInputFix}, which may work better or worse depending on the firmware.
\item \href{https://github.com/acidanthera/VirtualSMC}{\texttt{VirtualSmc}}
--- UEFI SMC driver, required for proper FileVault 2 functionality and potentially
other macOS specifics. An alternative, named \texttt{SMCHelper}, is not compatible
with \texttt{VirtualSmc} and OpenCore, which is unaware of its specific interfaces.
In case \texttt{FakeSMC} kernel extension is used, manual NVRAM variable addition
may be needed and \texttt{VirtualSmc} driver should still be used.
\item \href{https://github.com/acidanthera/AppleSupportPkg}{\texttt{VBoxHfs}}
--- HFS file system driver with bless support. This driver is an alternative to
a closed source \texttt{HFSPlus} driver commonly found in Apple firmwares. While
it is feature complete, it is approximately 3~times slower and is yet to undergo
a security audit.
\end{itemize}
To compile the drivers from TianoCore UDK use the same command you do normally use
for OpenCore compilation, but choose a corresponding package:
\begin{lstlisting}[label=compileudk, style=ocbash]
git clone https://github.com/tianocore/edk2 -b UDK2018 UDK
cd UDK
source edksetup.sh
make -C BaseTools
build -a X64 -b RELEASE -t XCODE5 -p FatPkg/FatPkg.dsc
build -a X64 -b RELEASE -t XCODE5 -p MdeModulePkg/MdeModulePkg.dsc
build -a X64 -b RELEASE -t XCODE5 -p IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
\end{lstlisting}
\item
\texttt{Protocols}\\
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册