Files
kernel_dell_tom/documentation/linux_configuration_15_device_drivers.tex

2707 lines
149 KiB
TeX

% Device Drivers (15)
\section{Device Drivers \texorpdfstring{$\rightarrow$}{->}}
\textit{(Gerätetreiber)}
\subsection{EISA support ---}
CONFIG\_EISA [=n] \textbf{[~]}\\*
Der Extended Industry Standard Architecture (EISA)-Bus wurde als offene Alternative
zum IBM MicroChannel"=Bus entwickelt.
Der EISA-Bus bot einige der Funktionen des IBM"=MicroChannel"=Busses und war gleichzeitig
abwärtskompatibel mit Karten, die für den älteren ISA"=Bus hergestellt wurden.
Der EISA-Bus wurde zwischen 1988 und 1995 in begrenztem Umfang eingesetzt,
als er durch den PCI-Bus überflüssig wurde.
Geben Sie hier Y an, wenn Sie einen Kernel für einen EISA"=basierten Rechner erstellen.
Ansonsten sagen Sie N.
\subsection{PCI support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_PCI [=y] \textbf{[Y]}\\*
Diese Option aktiviert die Unterstützung für den lokalen PCI-Bus, einschließlich der
Unterstützung für PCI-X und die Grundlagen für die Unterstützung von PCI Express.\\
Sagen Sie hier Y, wenn Sie nicht wissen, was Sie tun.
\subsubsection{PCI Express Port Bus support}
CONFIG\_PCIEPORTBUS [=y] \textbf{[Y]}\\*
Dadurch wird die Unterstützung für den PCI Express Port Bus aktiviert. Benutzer können
dann die Unterstützung für Native Hot-Plug, Advanced Error Reporting, Power Management
Events und Downstream Port Containment aktivieren.
\paragraph{PCI Express Hotplug driver}$~$\\
CONFIG\_HOTPLUG\_PCI\_PCIE [=y] \textbf{[Y]}\\*
Sagen Sie hier Y, wenn Sie ein Motherboard haben, das natives PCIe"=Hotplug unterstützt.
Thunderbolt/USB4 PCIe-Tunneling hängt von nativem PCIe"=Hotplug ab.
Im Zweifelsfall sagen Sie N.
\paragraph{PCI Express Advanced Error Reporting support}$~$\\
CONFIG\_PCIEAER [=y] \textbf{[Y]}\\*
Dies ermöglicht die Unterstützung des PCI Express Root Port Advanced Error Reporting
(AER) Treibers. Die an den Root Port gesendeten Fehlermeldungen werden vom PCI Express
AER"=Treiber verarbeitet.
\subparagraph{PCI Express error injection support}$~$\\
CONFIG\_PCIEAER\_INJECT [=m] \textbf{[M]}\\*
Dies aktiviert den PCI Express Root Port Advanced Error Reporting (AER) Software-Fehlerinjektor.
Das Debuggen von AER-Code ist ziemlich schwierig, da es schwierig ist, verschiedene echte
Hardwarefehler auszulösen. Software"=basierte Fehlerinjektion kann fast alle Arten von Fehlern
mit Hilfe eines Userspace"=Hilfswerkzeugs \texttt{aer-inject} vortäuschen,
das unter folgender Adresse erhältlich ist
\url{https://git.kernel.org/cgit/linux/kernel/git/gong.chen/aer-inject.git/}
\subparagraph{PCI Express CXL RAS support}$~$\\
CONFIG\_PCIEAER\_CXL [=y] \textbf{[Y]}\\*
Aktiviert die CXL"=Fehlerbehandlung.
Wenn Sie unsicher sind, sagen Sie Y.
\subparagraph{PCI Express ECRC settings control}$~$\\
CONFIG\_PCIE\_ECRC [=y] \textbf{[Y]}\\*
Wird verwendet, um Firmware-/Bios-Einstellungen für PCI Express ECRC
(Transaction Layer End-to-End CRC Checking) außer Kraft zu setzen.
Im Zweifelsfall sagen Sie N.
\subsubsection{PCI Express ASPM control}
CONFIG\_PCIEASPM [=y] \textbf{[Y]}\\*
Dies ermöglicht dem Betriebssystem die Kontrolle über PCI Express ASPM
(Active State Power Management) und Clock Power Management.
ASPM unterstützt den Zustand L0/L0s/L1.\\
ASPM wird zunächst von der Firmware eingerichtet. Wenn diese Option aktiviert ist, kann Linux
diesen Status ändern, um ASPM bei bekanntermaßen schlechter Hardware oder Konfigurationen zu
deaktivieren und bei bekanntermaßen sicherer Hardware zu aktivieren.
ASPM kann zur Laufzeit über \texttt{/sys/module/pcie\_aspm/parameters/policy}
deaktiviert oder aktiviert werden.
Im Zweifelsfall sagen Sie Y.
\paragraph{Default ASPM policy (BIOS default) \texorpdfstring{$\rightarrow$}{->}}$~$\\
\textit{Für diese Option gibt es keine Hilfe.}
\subparagraph{BIOS default}$~$\\
CONFIG\_PCIEASPM\_DEFAULT [=y] \textbf{[Y]}\\*
Verwenden Sie die BIOS"=Standardeinstellungen für PCI Express ASPM.
\subparagraph{Powersave}$~$\\
CONFIG\_PCIEASPM\_POWERSAVE [=n] \textbf{[~]}\\*
Aktiviert PCI Express ASPM L0s und L1 wo möglich, auch wenn das BIOS dies nicht getan hat.
\subparagraph{Power Supersave}$~$\\
CONFIG\_PCIEASPM\_POWER\_SUPERSAVE [=n] \textbf{[~]}\\*
Wie PCIEASPM\_POWERSAVE, nur dass auch L1-Substates aktiviert werden, wo dies möglich ist.
Dies würde zu höheren Energieeinsparungen führen, während man in L1 bleibt,
wo die Komponenten dies unterstützen.
\subparagraph{Performance}$~$\\
CONFIG\_PCIEASPM\_POWER\_PERFORMANCE [=n] \textbf{[~]}\\*
Deaktivieren Sie PCI Express ASPM L0s und L1, auch wenn das BIOS sie aktiviert hat.
%15.2.3
\subsubsection{PCI Express Downstream Port Containment support}
CONFIG\_PCIE\_DPC [=y] \textbf{[Y]}\\*
Dies ermöglicht die Unterstützung von PCI Express Downstream Port Containment (DPC) Treibern.
DPC"=Ereignisse von Root- und Downstream"=Ports werden durch den DPC"=Treiber verarbeitet.
Wenn Ihr System nicht über diese Fähigkeit verfügt oder Sie diese Funktion nicht nutzen möchten,
können Sie mit N antworten.
%15.2.4
\subsubsection{PCI Express Precision Time Measurement support}
CONFIG\_PCIE\_PTM [=y] \textbf{[Y]}\\*
Dies ermöglicht die Unterstützung von PCI Express Precision Time Measurement (PTM).
Dies ist nur sinnvoll, wenn Sie Geräte haben, die PTM unterstützen, aber es ist sicher,
sie zu aktivieren, auch wenn Sie sie nicht haben.
%15.2.5
\subsubsection{PCI Express Error Disconnect Recover support}
CONFIG\_PCIE\_EDR [=y] \textbf{[Y]}\\*
Diese Option fügt die Unterstützung für Error Disconnect Recover hinzu, wie in der
Downstream Port Containment Related Enhancements ECN der PCI Firmware Specification r3.2 beschrieben.
Aktivieren Sie diese Option, wenn Sie ein hybrides DPC-Modell unterstützen möchten, das sowohl
Firmware als auch Betriebssystem zur Implementierung von DPC verwendet.
\subsubsection{Message Signaled Interrupts (MSI and MSI-X)}
CONFIG\_PCI\_MSI [=y] \textbf{[Y]}\\*
Damit können Gerätetreiber MSI (Message Signaled Interrupts) aktivieren.
Message Signaled Interrupts ermöglichen es einem Gerät, einen Interrupt zu erzeugen, indem es ein
eingehendes Memory Write auf seinem PCI-Bus verwendet, anstatt einen Geräte"=IRQ-Pin zu aktivieren.
Die Verwendung von PCI MSI"=Interrupts kann beim Booten des Kernels mit der Option
\texttt{pci=nomsi} deaktiviert werden. Dadurch wird MSI für das gesamte System deaktiviert.
Wenn Sie nicht wissen, was Sie hier tun sollen, sagen Sie Y.
\subsubsection{PCI Debugging}
CONFIG\_PCI\_DEBUG [=n] \textbf{[~]}\\*
Geben Sie hier Y an, wenn Sie möchten, dass der PCI-Kern eine Reihe von Debug"=Meldungen in
das Systemprotokoll schreibt. Wählen Sie dies, wenn Sie ein Problem mit der
PCI"=Unterstützung haben und mehr über die Vorgänge erfahren möchten.
Im Zweifelsfall sagen Sie N.
\subsubsection{Enable PCI resource re-allocation detection}
CONFIG\_PCI\_REALLOC\_ENABLE\_AUTO [=n] \textbf{[~]}\\*
Geben Sie hier Y an, wenn Sie möchten, dass der PCI-Kern erkennt, ob die Neuzuweisung von
PCI"=Ressourcen aktiviert werden muss. Sie können jederzeit
\texttt{pci=realloc=on} oder \texttt{pci=realloc=off} verwenden, um dies zu überschreiben.
Es werden automatisch PCI"=Ressourcen neu zugewiesen, wenn SR-IOV BARs nicht vom BIOS
zugewiesen wurden.
Im Zweifelsfall sagen Sie N.
\subsubsection{PCI Stub driver}
CONFIG\_PCI\_STUB [=y] \textbf{[Y]}\\*
Sagen Sie hier Y oder M, wenn Sie ein PCI-Gerät reservieren wollen, wenn es einem
Gastbetriebssystem zugewiesen werden soll.
Im Zweifelsfall sagen Sie N.
%15.2.10
\subsubsection{PCI PF Stub driver}
CONFIG\_PCI\_\_PF\_STUB [=m] \textbf{[M]}\\*
Geben Sie hier Y oder M an, wenn Sie die Unterstützung für Geräte, die SR-IOV"=Unterstützung
benötigen, aktivieren möchten, während die PF (Physical Function) selbst keine eigentlichen
Dienste auf dem Host selbst, wie z.~B. Speicher oder Netzwerke, bereitstellt.
Im Zweifelsfall sagen Sie N.
\subsubsection{Xen PCI Frontend}
CONFIG\_XEN\_PCIDEV\_FRONTEND [=m] \textbf{[M]}\\*
Der PCI-Geräte"=Frontend"=Treiber ermöglicht es dem Kernel, beliebige PCI"=Geräte aus
einem PCI"=Back"-end zu importieren, um PCI"=Treiber"=Domänen zu unterstützen.
\subsubsection{PCI IOV support}
CONFIG\_PCI\_IOV [=y] \textbf{[Y]}\\*
E/A-Virtualisierung ist eine PCI"=Funktion, die von einigen Geräten unterstützt wird und
es ihnen ermöglicht, virtuelle Geräte zu erstellen, die ihre physischen Ressourcen gemeinsam nutzen.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{PCI PRI support}
CONFIG\_PCI\_PRI [=y] \textbf{[Y]}\\*
PRI ist das PCI Page Request Interface. Es ermöglicht PCI"=Geräten, die sich hinter einer
IOMMU befinden, sich von Seitenfehlern zu erholen.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{PCI PASID support}
CONFIG\_PCI\_PASID [=y] \textbf{[Y]}\\*
Process Address Space Identifiers (PASIDs) können von PCI"=Geräten für den gleichzeitigen Zugriff
auf mehr als einen IO"=Adressraum verwendet werden. Um diese Funktion nutzen zu können, ist eine
IOMMU erforderlich, die auch PASIDs unterstützt.
Wählen Sie diese Option, wenn Sie eine solche IOMMU haben und den Treiber dafür in Ihren Kernel
kompilieren wollen.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{PCI peer-to-peer transfer support}
CONFIG\_PCI\_P2PDMA [=y] \textbf{[Y]}\\*
Ermöglicht Treibern die Durchführung von PCI-Peer-to-Peer"=Transaktionen zu und von BARs, die in
anderen Geräten exponiert sind, die den Teil der Hierarchie darstellen, in dem Peer-to-Peer-DMA
von der PCI"=Spezifikation garantiert wird (d.~h. alles unterhalb einer einzelnen PCI"=Bridge).
Viele PCIe"=Root"=Komplexe unterstützen keine P2P"=Transaktionen, und es ist schwer zu sagen,
welche sie überhaupt unterstützen. Daher müssen P2P-DMA"=Transaktionen derzeit zwischen Geräten
hinter demselben Root-Port erfolgen.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{Hyper-V PCI Frontend}
CONFIG\_PCI\_HYPERV [=m] \textbf{[M]}\\*
Der PCI-Geräte-Frontend-Treiber ermöglicht es dem Kernel, beliebige PCI"=Geräte aus einem
PCI"=Back"-end zu importieren, um PCI"=Treiber"=Domänen zu unterstützen.
\subsubsection{VGA Arbitration}
CONFIG\_VGA\_ARB [=y] \textbf{[Y]}\\*
Einige \glqq alte\grqq{} VGA"=Geräte, die auf PCI implementiert sind, haben in der Regel die
gleichen hart dekodierten Adressen wie auf ISA. Wenn auf mehrere PCI"=Geräte gleichzeitig
zugegriffen wird, müssen diese irgendwie koordiniert werden. Weitere Einzelheiten finden Sie
unter Documentation/gpu/vgaarbiter.rst. Wählen Sie dies, um VGA"=Arbiter zu aktivieren.
\paragraph{Maximum number of GPUs}$~$\\
CONFIG\_VGA\_ARB\_MAX\_GPUS [=10] \textbf{[10]}\\*
Reserviert Platz im Kernel, um die Ressourcensperre für mehrere GPUS aufrechtzuerhalten.
Der Overhead für jede GPU ist sehr gering.\\
Typ: Ganzzahl (integer)
\subsubsection{Support for PCI Hotplug \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_HOTPLUG\_PCI [=y] \textbf{[Y]}\\*
Geben Sie hier Y ein, wenn Sie ein Motherboard mit einem PCI-Hotplug-Controller haben.
Damit können Sie PCI-Karten hinzufügen und entfernen, während der Rechner eingeschaltet ist und läuft.
Thunderbolt/USB4 PCIe-Tunneling hängt vom nativen PCIe-Hotplug ab.
Im Zweifelsfall sagen Sie N.
%15.2.18.1
\paragraph{ACPI PCI Hotplug driver}$~$\\
CONFIG\_HOTPLUG\_PCI\_ACPI [=y] \textbf{[Y]}\\*
Geben Sie hier Y ein, wenn Sie ein System haben, das PCI Hotplug mit ACPI unterstützt.
Im Zweifelsfall sagen Sie N.
%15.2.18.1.1
\subparagraph{ACPI PCI Hotplug driver IBM extensions}$~$\\
CONFIG\_HOTPLUG\_PCI\_ACPI\_IBM \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Geben Sie hier Y ein, wenn Sie ein IBM-System haben, das PCI-Hotplug über ACPI unterstützt.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird
\texttt{acpiphp\_ibm} heißen.
Im Zweifelsfall sagen Sie N.
\\\begin{scriptsize}
Das Notebook ist kein IBM-System.
\end{scriptsize}
\paragraph{CompactPCI Hotplug driver}$~$\\
CONFIG\_HOTPLUG\_PCI\_CPCI \colorbox{yellow!80}{[=y] \textbf{[~]}}\\*
Geben Sie hier Y ein, wenn Sie eine CompactPCI"=Systemkarte mit CompactPCI"=Hotswap"=Unterstützung
gemäß der PICMG~2.1"=Spezifikation besitzen.
Im Zweifelsfall sagen Sie N.
\\\begin{scriptsize}
Im Notebook ist diese CompactPCI-Karte nicht verbaut.
\end{scriptsize}
\subparagraph{Ziatech ZT5550 CompactPCI Hotplug driver}$~$\\
CONFIG\_HOTPLUG\_PCI\_CPCI\_ZT5550 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie eine Ziatech ZT5550 CompactPCI-Systemkarte von Performance Technologies
(früher Intel, früher nur Ziatech) besitzen.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul heißt dann \texttt{cpcihp\_zt5550}.
Im Zweifelsfall sagen Sie N.
\\\begin{scriptsize}
Im Notebook ist diese CompactPCI-Karte nicht verbaut.
\end{scriptsize}
\subparagraph{Generic port I/O CompactPCI Hotplug driver}$~$\\
CONFIG\_HOTPLUG\_PCI\_CPCI\_GENERIC \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie eine CompactPCI"=Systemkarte haben, die das \#ENUM-Hotswap-Signal als
ein Bit in einem Systemregister ausgibt, das über Standard"=Port-I/O gelesen werden kann.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{cpcihp\_generic} genannt.
Im Zweifelsfall sagen Sie N.
\\\begin{scriptsize}
Im Notebook ist diese CompactPCI-Karte nicht verbaut.
\end{scriptsize}
\paragraph{SHPC PCI Hotplug driver}$~$\\
CONFIG\_HOTPLUG\_PCI\_SHPC \colorbox{yellow!80}{[=y] \textbf{[~]}}\\*
Geben Sie hier Y ein, wenn Sie ein Motherboard mit einem SHPC PCI Hotplug Controller haben.
Im Zweifelsfall sagen Sie N.
\subsubsection{PCI controller drivers \texorpdfstring{$\rightarrow$}{->}}
\textit{(PCI-Controller-Treiber)}
\paragraph{Intel Volume Management Device Driver}$~$\\
CONFIG\_VMD \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Fügt Unterstützung für das Intel Volume Management Device (VMD) hinzu. VMD ist eine sekundäre
PCI-Host"=Brücke, die es ermöglicht, PCI-Express-Root-Ports und daran angeschlossene Geräte aus
der Standard-PCI-Domäne zu entfernen und in die VMD-Domäne zu verschieben. Dadurch stehen mehr
Bus"=Ressourcen zur Verfügung, als dies bei einer einzelnen Domäne möglich wäre.
Wenn Sie wissen, dass Ihr System über einen dieser Ports verfügt und Geräte daran angeschlossen
sind, sagen Sie Y; wenn Sie sich nicht sicher sind, sagen Sie N.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{vmd} genannt.
\paragraph{Microsoft Hyper-V PCI Interface}$~$\\
CONFIG\_PCI\_HYPERV\_INTERFACE \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Das Hyper-V PCI Interface ist ein Hilfstreiber, der es anderen
Treibern ermöglicht, eine gemeinsame Schnittstelle mit dem Hyper-V
PCI Frontend-Treiber zu haben.
\paragraph{Cadence-based PCIe controllers ---}$~$\\
\textit{Cadence-basierte PCIe-Steuerungen, keine Auswahl}
\paragraph{DesignWare-based PCIe controllers \texorpdfstring{$\rightarrow$}{->}}$~$\\
\textit{DesignWare-basierte PCIe-Steuerungen}
%15.2.19.4.1
\subparagraph{Amlogic Meson PCIe controller}$~$\\
CONFIG\_PCI\_MESON \colorbox{yellow!80}{[=y] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie die Unterstützung des PCI-Controllers
auf Amlogic-SoCs aktivieren wollen. Der PCI-Controller auf Amlogic
basiert auf DesignWare"=Hardware und daher verwendet der Treiber die
DesignWare"=Kernfunktionen zur Implementierung des Treibers.
\subparagraph{Platform bus based DesignWare PCIe controller (host mode)}$~$\\
CONFIG\_PCIe\_DW\_PLAT\_HOST \colorbox{yellow!80}{[=y] \textbf{[~]}}\\*
Ermöglicht die Unterstützung des PCIe-Controllers in der Designware-IP
für den Betrieb im Host-Modus. Es gibt zwei Instanzen des PCIe-Controllers
in Designware IP. Dieser Controller kann entweder als EP oder RC arbeiten.
Um hostspezifische Funktionen zu aktivieren, muss PCIE\_DW\_PLAT\_HOST
ausgewählt werden und um gerätespezifische Funktionen zu aktivieren,
muss PCI\_DW\_PLAT\_EP ausgewählt werden.
\paragraph{Mobiveil-based PCIe controllers ---}$~$\\
\textit{Mobiveil-basierte PCIe-Steuerungen, keine Auswahl}
\subsubsection{PCI Endpoint \texorpdfstring{$\rightarrow$}{->}}
\textit{(PCI-Endgerät}
\paragraph{PCI Endpoint Support}$~$\\
CONFIG\_PCI\_ENDPOINT [=n] \textbf{[~]}\\*
Aktivieren Sie diese Konfigurationsoption, um einen konfigurierbaren PCI"=Endpunkt
zu unterstützen. Dies sollte aktiviert werden, wenn die Plattform über einen
PCI"=Controller verfügt, der im Endpunktmodus arbeiten kann.\\
Durch die Aktivierung dieser Option wird die Endpunkt"=Bibliothek erstellt, die
eine Endpunkt"=Controller"=Bibliothek und eine Endpunkt"=Funktionsbibliothek
enthält.
Im Zweifelsfall sollten Sie N angeben, um die Endpunktunterstützung zu
deaktivieren.
\subsubsection{PCI switch controller drivers \texorpdfstring{$\rightarrow$}{->}}
\textit{(PCI-Switch-Controller-Treiber}
\paragraph{MicroSemi Switchtec PCIe Switch Management Driver}$~$\\
CONFIG\_PCI\_SW\_SWITCHTEC \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Ermöglicht die Unterstützung der Management"=Schnittstelle für die MicroSemi
Switchtec"=Serie von PCIe"=Switches. Unterstützt den Userspace"=Zugriff, um
MRPC"=Befehle über /dev/switchtecX-Geräte an den Switch zu senden.
Siehe $<$file:Documentation/driver-api/switchtec.rst$>$ für weitere Informationen.
\subsubsection{CXL (Compute Express Link) Devices Support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_CXL\_BUS \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
CXL ist ein Bus, der elektrisch mit PCI Express kompatibel ist, aber drei Protokolle
auf diese Signalisierung aufbaut (CXL.io, CXL.cache und CXL.mem).
Das CXL.cache"=Protokoll ermöglicht es Geräten, Cachelines lokal zu halten, das
CXL.mem"=Protokoll ermöglicht es Geräten, vollständig kohärente Speicherziele zu
sein, das CXL.io"=Protokoll entspricht PCI Express. Sagen Sie Y, um die Unterstützung
für die Konfiguration und Verwaltung von Geräten zu aktivieren, die diese Protokolle
unterstützen.
\paragraph{PCI manageability}$~$\\
CONFIG\_CXL\_PCI \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Die CXL-Spezifikation definiert eine Unterklasse \glqq CXL"=Speichergerät\grqq{}
in der PCI"=Basisklasse der \glqq Speicher"=Controller\grqq{}.
Geräte, die mit diesem Klassencode gekennzeichnet sind, bieten Unterstützung
für flüchtigen und/oder dauerhaften Speicher, der in die Systemadresszuordnung
(Host-managed Device Memory (HDM)) eingeordnet werden kann.
Sagen Sie \glqq y/m\grqq{}, um einen Treiber zu aktivieren, der sich
an CXL"=Speichererweiterungsgeräte anschließt, die durch den Klassencode
des Speichergeräts für die Konfiguration und Verwaltung hauptsächlich über
die Mailbox"=Schnittstelle aufgezählt werden.
Siehe Kapitel~2.3 Typ~3 CXL Gerät in der CXL~2.0 Spezifikation für weitere Details.
Wenn Sie unsicher sind, sagen Sie M.
\subparagraph{RAW Command Interface for Memory Devices}$~$\\
CONFIG\_CXL\_MEM\_RAW\_COMMANDS [=n] \textbf{[~]}\\*
Aktivieren Sie die CXL RAW-Befehlsschnittstelle.\\
Die ioctl"=Schnittstelle des CXL"=Treibers kann für jeden spezifizierten Opcode
eine Kernel"=ioctl"=Befehlsnummer zuweisen. Zu jedem beliebigen Zeitpunkt kann
die Anzahl der in der Spezifikation definierten Opcodes, die ein Gerät
implementieren kann, die Anzahl der zugehörigen ioctl"=Funktionsnummern des
Kernels übersteigen. Die Diskrepanz entsteht entweder durch Auslassung, weil die
Spezifikation zu neu ist, oder durch das Design. Beim Prototyping neuer Hardware
oder bei der Entwicklung/Debugging des Treibers ist es nützlich, alle möglichen
Befehle an die Hardware übermitteln zu können, sogar Befehle, die den Kernel zum
Absturz bringen könnten, da sie sich auf den vom Kernel verwendeten Speicher
auswirken könnten.\\
Wenn Sie CXL"=Hardware oder den Treiber entwickeln, sagen Sie Y, andernfalls
sagen Sie N.
\paragraph{CXL ACPI: Platform Support}$~$\\
CONFIG\_CXL\_ACPI \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Aktiviert die Unterstützung von HDM"=Ressourcen (Host Managed Device Memory), die
von der ACPI"=CXL"=Speicherlayoutbeschreibung einer Plattform veröffentlicht werden.
Siehe Kapitel~9.14.1 CXL Early Discovery Table (CEDT) in der CXL~2.0 Spezifikation
und CXL Fixed Memory Window Structures (CEDT.CFMWS)
(\url{https://www.computeexpresslink.org/spec-landing}).
Der CXL-Kern nutzt diese Ressourcen, um die Wurzel einer cxl\_port"=Decodierungshierarchie
zu veröffentlichen, um Regionen abzubilden, die System"=RAM oder von LIBNVDIMM zu
verwaltende Festspeicherregionen darstellen.
Wenn Sie unsicher sind, sagen Sie M.
\paragraph{CXL PMEM: Persistent Memory Support}$~$\\
CONFIG\_CXL\_PMEM \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Zusätzlich zu den typischen Speicherressourcen kann eine Plattform auch die Unterstützung
von über CXL angeschlossenem persistenten Speicher ankündigen. Diese Unterstützung wird
über einen Brückentreiber zwischen CXL und dem LIBNVDIMM"=System"=Subsystem verwaltet.
Sagen Sie \glqq Y/M\grqq{}, um die Unterstützung für die Aufzählung und Bereitstellung der
Kapazität des persistenten Speichers von CXL"=Speichererweiterungen zu aktivieren.
Wenn Sie unsicher sind, sagen Sie M.
\paragraph{CXL: Memory Expansion}$~$\\
CONFIG\_CXL\_MEM \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Das CXL.mem-Protokoll ermöglicht es einem Gerät, als Anbieter von \glqq System-RAM\grqq{}
und/oder \glqq persistentem Speicher\grqq{} zu fungieren, der vollständig kohärent ist,
als wäre der Speicher an den typischen CPU"=Speicher"=Controllern angeschlossen.
Dies wird als HDM \glqq Host-managed Device Memory\grqq{} bezeichnet.
Sagen Sie Y/M, um einen Treiber zu aktivieren, der sich an CXL.mem"=Geräte zur
Speichererweiterung und Steuerung von HDM anschließt.
Eine detaillierte Beschreibung von HDM finden Sie in Kapitel~9.13 der CXL~2.0"=Spezifikation.
Wenn Sie unsicher sind, sagen Sie M.
\paragraph{CXL: Region Support}$~$\\
CONFIG\_CXL\_REGION \colorbox{yellow!80}{[=y] \textbf{[~]}}\\*
Ermöglicht dem CXL-Kern die Aufzählung und Bereitstellung von CXL"=Regionen. Eine CXL"=Region
wird durch einen oder mehrere CXL"=Expander definiert, die einen bestimmten
systemphysikalischen Adressbereich dekodieren. Für CXL"=Regionen, die von der
Plattform"=Firmware eingerichtet wurden, ermöglicht diese Option die Behandlung von
Speicherfehlern, um die Geräte zu identifizieren, die an einem bestimmten verschachtelten
Speicherbereich teilnehmen. Andernfalls wird das von der Plattform-Firmware verwaltete CXL
durch Aufnahme in die Systemadresskarte aktiviert und benötigt keinen Treiber.
Wenn Sie unsicher sind, sagen Sie Y.
\subparagraph{CXL: Region Cache Management Bypass (TEST)}$~$\\
CONFIG\_CXL\_REGION\_INVALIDATION\_TEST [=n] \textbf{[~]}\\*
Die Verwaltungs- und Sicherheitsoperationen von CXL Region machen möglicherweise den Inhalt
von CPU"=Caches ungültig, ohne diese Caches zu benachrichtigen, damit sie die betroffenen
Cachelines ungültig machen. Der CXL"=Region"=Treiber versucht, Caches zu invalidieren, wenn
diese Ereignisse eintreten. Wenn diese Invalidierung fehlschlägt, kann die Region nicht
aktiviert werden. Die Gründe für das Scheitern der Cache"=Invalidierung liegen darin, dass
die CPU keinen Cache"=Invalidierungsmechanismus bereitstellt. Zum Beispiel ist die Verwendung
von wbinvd auf Bare Metal x86 beschränkt. Zu Testzwecken kann das Umschalten dieser Option
jedoch die Datenintegritätssicherheit deaktivieren und mit der Aktivierung von Regionen
fortfahren, wenn im CPU"=Cache widersprüchliche Inhalte vorhanden sind.//
Wenn Sie unsicher sind oder wenn dieser Kernel für Produktionsumgebungen gedacht ist,
wählen Sie N.
\paragraph{CXL Performance Monitoring Unit}$~$\\
CONFIG\_CXL\_PMU \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Support performance monitoring as defined in CXL rev~3.0 section~13.2: Performance Monitoring.
CXL components may have one or more CXL Performance Monitoring Units (CPMUs).\\
Say Y/M to enable a driver that will attach to performance monitoring units and provide
standard perf based interfaces.
If unsure say M.
\subsection{PCCard (PCMCIA/Cardbus) support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_PCCARD [=m] \textbf{[M]}\\*
Sagen Sie hier Y, wenn Sie PCMCIA- oder PC"=Karten an Ihren Linux"=Computer anschließen wollen.
Das sind kreditkartengroße Geräte wie Netzwerkkarten, Modems oder Festplatten, die oft in
Laptops verwendet werden. Es gibt eigentlich zwei Arten dieser Karten: 16-Bit-PCMCIA- und
32-Bit"=CardBus"=Karten.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird pcmcia\_core heißen.
\subsubsection{16-bit PCMCIA support}
CONFIG\_PCMCIA \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option ermöglicht die Unterstützung von 16-Bit-PCMCIA"=Karten. Die meisten älteren
PC"=Karten sind solche 16-Bit PCMCIA"=Karten. Wenn Sie also nicht wissen, dass Sie nur
32"=Bit CardBus"=Karten verwenden, geben Sie hier Y oder M an.
Um 16-Bit PCMCIA"=Karten zu verwenden, benötigen Sie in den meisten Fällen unterstützende
Software. (siehe die Datei $<$file:Documentation/Changes$>$ für Ort und Details).
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{pcmcia} heißen.
Wenn Sie unsicher sind, sagen Sie Y.
\paragraph{Load CIS updates from userspace}$~$\\
CONFIG\_PCMCIA\_LOAD\_CIS \colorbox{yellow!80}{[=y] \textbf{[~]}}\\*
Einige PCMCIA"=Karten benötigen eine aktualisierte Karteninformationsstruktur (CIS), die aus
dem Userspace geladen werden muss, um korrekt zu funktionieren. Wenn Sie hier Y angeben und
Ihr Userspace korrekt eingerichtet ist, wird diese automatisch mit dem
In-Kernel"=Firmware"=Loader und dem Hotplug"=Subsystem geladen, anstatt sich auf cardmgr von
pcmcia-cs zu verlassen.
Wenn Sie unsicher sind, sagen Sie Y.
\subsubsection{32-bit CardBus support}
CONFIG\_CARDBUS \colorbox{yellow!80}{[=y] \textbf{[M]}}\\*
CardBus ist eine Bus-Mastering-Architektur für PC-Karten, die 32-Bit-PC-Karten ermöglicht
(der ursprüngliche PCMCIA"=Standard sieht nur einen 16-Bit breiten Bus vor).
Viele neuere PC-Karten sind eigentlich CardBus-Karten.
Um 32-Bit-PC-Karten zu verwenden, benötigen Sie auch eine CardBus"=kompatible Host"=Bridge.
Praktisch alle modernen PCMCIA"=Bridges sind dazu in der Lage, und die meisten von ihnen
sind \glqq Yenta-kompatibel\grqq{}, d.~h. sie sagen auch Y oder M.
Wenn Sie unsicher sind, sagen Sie Y.
\subsubsection*{*** PC-card bridges ***}
\textit{(PC-card-Brücken)}
\subsubsection{CardBus yenta-compatible bridge support}
CONFIG\_YENTA \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option ermöglicht die Unterstützung von CardBus-Host-Bridges. Praktisch alle modernen
PCMCIA"=Bridges sind CardBus-kompatibel. Eine \glqq Brücke\grqq{} ist die Hardware in Ihrem
Computer, in die PCMCIA-Karten eingesteckt werden.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{yenta\_socket} heißen.
Wenn Sie unsicher sind, sagen Sie Y.
\subsubsection{Cirrus PD6729 compatible bridge support}
CONFIG\_PD6729 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Dies bietet Unterstützung für das Cirrus PD6729 PCI-zu-PCMCIA"=Bridge"=Gerät, das in einigen
älteren Laptops und PCMCIA-Kartenlesern zu finden ist.
\subsubsection{i82092 compatible bridge support}
CONFIG\_I82092 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Dies bietet Unterstützung für das Intel I82092AA PCI-zu-PCMCIA"=Brückengerät, das in einigen
älteren Laptops und häufiger in Evaluierungsboards für den Chip zu finden ist.
\subsection{RapidIO support ---}% \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_PCCARD [=n] \textbf{[~]}\\*
Wenn Sie hier Y angeben, wird der Kernel Treiber und Infrastrukturcode zur Unterstützung von
RapidIO"=Verbindungsgeräten enthalten.
\subsection{Generic Driver Options \texorpdfstring{$\rightarrow$}{->}}
\textit{Allgemeine Treiberoptionen}
\subsubsection{Support for uevent helper}
CONFIG\_UEVENT\_HELPER [=n] \textbf{[~]}\\*
Das uevent"=Hilfsprogramm wird vom Kernel für jedes uevent gegabelt.
Vor der Umstellung auf die netlink"=basierte uevent"=Quelle wurde es verwendet, um
Hotplug"=Skripte mit Kernel"=Geräteereignissen zu verbinden. Es zeigte normalerweise auf ein
Shell"=Skript unter /sbin/hotplug.
Dies sollte heute nicht mehr verwendet werden, da übliche Systeme beim Booten oder bei der
Geräteerkennung viele Ereignisse in einem sehr kurzen Zeitrahmen erzeugen. Ein geforkter
Prozess pro Ereignis kann so viele Prozesse erzeugen, dass es zu einer hohen Systembelastung
kommt, oder auf kleineren Systemen ist bekannt, dass es zu Out"=of"=Memory"=Situationen
während des Bootvorgangs kommt.
\subsubsection{Maintain a devtmpfs filesystem to mount at /dev}
CONFIG\_DEVTMPFS [=y] \textbf{[Y]}\\*
Dadurch wird eine tmpfs/ramfs"=Dateisysteminstanz bereits beim Booten erzeugt. In diesem
Dateisystem verwaltet der Kernel"=Treiberkern Geräteknoten mit ihren Standardnamen und
Berechtigungen für alle registrierten Geräte mit einer zugewiesenen Major/Minor"=Nummer.
Der Userspace kann den Inhalt des Dateisystems nach Bedarf ändern, Symlinks hinzufügen und
die erforderlichen Berechtigungen vergeben.
Er stellt ein voll funktionsfähiges /dev"=Verzeichnis zur Verfügung, auf dem normalerweise
udev läuft, das die Berechtigungen verwaltet und sinnvolle Symlinks hinzufügt.
In sehr begrenzten Umgebungen kann es ein ausreichend funktionierendes /dev ohne weitere
Hilfe bereitstellen. Es erlaubt auch einfache Rettungssysteme und geht zuverlässig mit
dynamischen Major/Minor"=Nummern um.
Hinweis: Wenn CONFIG\_TMPFS nicht aktiviert ist, wird stattdessen das einfachere
ramfs"=Dateisystem verwendet.
\paragraph{Automount devtmpfs at /dev, after the kernel mounted the rootfs}$~$\\
CONFIG\_DEVTMPFS\_MOUNT %\colorbox{yellow!80}%
{[=y] \textbf{[Y]}}\\*
Dies weist den Kernel an, das Dateisystem devtmpfs automatisch unter /dev einzuhängen,
direkt nachdem der Kernel das Root"=Dateisystem eingehängt hat. Das Verhalten kann mit
dem Kommandozeilenparameter: \texttt{devtmpfs.mount=$0|1$} überschrieben werden.
Diese Option hat keinen Einfluss auf initramfs"=basiertes Booten, hier muss das
devtmpfs"=Dateisystem immer manuell eingehängt werden, nachdem das rootfs eingehängt
wurde.\\
Wenn diese Option aktiviert ist, kann ein System im Rettungsmodus mit
\texttt{init=/bin/sh} gebootet werden, auch wenn das /dev"=Verzeichnis auf dem rootfs
komplett leer ist.
\paragraph{Use nosuid,noexec mount options on devtmpfs}$~$\\
CONFIG\_DEVTMPFS\_SAFE [=y] \textbf{[Y]}\\*
Dies weist den Kernel an, die Einhängeflags MS\_NOEXEC und MS\_NOSUID beim Einhängen
von devtmpfs zu berücksichtigen.\\
Beachten Sie: Wenn dies aktiviert ist, können Dinge wie /dev/mem nicht mit dem
PROT\_EXEC"=Flag gemappt werden. Dies kann z.~B. Nicht"=KMS"=Grafiktreiber beschädigen.
\subsubsection{Select only drivers that don't need compile-time external firmware}
CONFIG\_STANDALONE [=y] \textbf{[Y]}\\*
Wählen Sie diese Option, wenn Sie keine magische Firmware für Treiber haben,
die diese benötigen.\\
Wenn Sie unsicher sind, sagen Sie Y.
\subsubsection{Disable drivers features which enable custom firmware building}
CONFIG\_PREVENT\_FIRMWARE\_BUILD [=y] \textbf{[Y]}\\*
Sagen Sie ja, um Treiberfunktionen zu deaktivieren, die es ermöglichen, eine
benutzerdefinierte Treiber"=Firmware zur Kernel"=Erstellungszeit zu erstellen.
Diese Treiber verwenden nicht die Kernel"=Firmware"=API zum Laden der Firmware
(CONFIG\_FW\_LOADER), sondern ihren eigenen benutzerdefinierten Lademechanismus.
Die benötigte Firmware wird in der Regel mit dem Treiber ausgeliefert, das
Erstellen der Treiber"=Firmware sollte nur notwendig sein, wenn Sie eine
aktualisierte Firmware"=Quelle haben.\\
Firmware sollte nicht als Teil des Kernels gebaut werden.
Heutzutage sollte man dies immer verhindern und hier Y sagen.
Es gibt nur zwei alte Treiber, die die Erstellung ihrer Firmware zur
Kernel"=Erstellungszeit ermöglichen:
\begin{itemize}
\item CONFIG\_WANXL durch CONFIG\_WANXL\_BUILD\_FIRMWARE
\item CONFIG\_SCSI\_AIC79XX durch CONFIG\_AIC79XX\_BUILD\_FIRMWARE
\end{itemize}
\subsubsection{Firmware loader \texorpdfstring{$\rightarrow$}{->}}
\textit{(Firmware-Ladeprogramm)}
\paragraph{Firmware loading facility}$~$\\
CONFIG\_FW\_LOADER [=y] \textbf{[Y]}\\*
Damit wird die Möglichkeit zum Laden der Firmware im Kernel aktiviert.
Der Kernel sucht zunächst nach eingebauter Firmware, wenn er welche hat.
Anschließend sucht er in einer Reihe von Dateisystempfaden nach der gewünschten
Firmware:
\begin{itemize}
\item firmware\_class Pfad-Modulparameter oder Kernel-Boot-Parameter
\item /lib/firmware/updates/UTS\_RELEASE
\item /lib/firmware/updates
\item /lib/firmware/UTS\_RELEASE
\item /lib/firmware
\end{itemize}
Die Aktivierung dieser Funktion vergrößert Ihr Kernel"=Image nur um etwa 828~Bytes.
Aktivieren Sie diese Option nur, wenn Sie sicher sind, dass Sie keine Firmware
benötigen.
Normalerweise wollen Sie diese Funktion eingebaut haben (=y), aber Sie können sie
auch als Modul aktivieren, in diesem Fall wird das Modul \texttt{firmware\_class}
gebaut.
Sie sollten auch sicherstellen, dass Sie diese integrierte Funktion aktivieren,
wenn Sie die integrierte Firmware (CONFIG\_EXTRA\_FIRMWARE) aktivieren wollen.
\subparagraph{Log filenames and checksums for loaded firmware}$~$\\
CONFIG\_FW\_LOADER\_DEBUG [=y] \textbf{[Y]}\\*
Wählen Sie diese Option, um mit dynamischem Debugging die Dateinamen der Firmware
und SHA256"=Prüfsummen für jede geladene Firmware"=Datei im Kernel-Protokoll zu
protokollieren.
\subparagraph{Build named firmware blobs into the kernel binary}$~$\\
CONFIG\_EXTRA\_FIRMWARE [=] \textbf{[~]}\\*
Gerätetreiber, die Firmware benötigen, können normalerweise damit umgehen, dass
der Kernel Firmware aus den verschiedenen unterstützten
\texttt{/lib/firmware/}"=Pfaden
lädt. Diese Option ermöglicht es Ihnen, Firmware"=Dateien in den Kernel
einzubauen. Eingebaute Firmware"=Suchen haben Vorrang vor Firmware"=Suchvorgängen
unter Verwendung Ihres Dateisystems über die unterstützten
\texttt{/lib/firmware}"=Pfade,
die unter CONFIG\_FW\_LOADER dokumentiert sind.
Dies kann zu Testzwecken nützlich sein oder wenn die Firmware zu einem frühen
Zeitpunkt beim Booten benötigt wird und man sich nicht darauf verlassen kann,
dass die Firmware in einer initrd oder initramfs abgelegt ist.
Diese Option ist eine Zeichenkette und nimmt die (durch Leerzeichen getrennten)
Namen der Firmware"=Dateien auf -- die gleichen Namen, die in MODULE\_FIRMWARE()
und request\_firmware() im Quelltext erscheinen. Diese Dateien sollten in dem
Verzeichnis vorhanden sein, das mit der Option EXTRA\_FIRMWARE\_DIR angegeben
wurde, was standardmäßig /lib/firmware ist.
Sie könnten zum Beispiel \texttt{CONFIG\_EXTRA\_FIRMWARE=\dq usb8388.bin\dq} setzen,
die Datei usb8388.bin nach /lib/firmware kopieren und den Kernel bauen.
Dann wird jede request\_firmware(\glqq usb8388.bin\grqq{}) intern im Kernel
befriedigt, ohne dass das Dateisystem zur Laufzeit eingesehen werden muss.
WARNUNG: Wenn Sie zusätzliche Firmware"=Dateien in Ihr binäres Kernel"=Image
einbinden, die nicht unter den Bedingungen der GPL verfügbar sind, dann kann es
eine Verletzung der GPL sein, das resultierende Image zu verteilen, da es
sowohl GPL- als auch Nicht"=GPL"=Arbeiten kombiniert. Sie sollten einen eigenen
Anwalt konsultieren, bevor Sie ein solches Image weitergeben.\\
HINWEIS: Komprimierte Dateien werden in EXTRA\_FIRMWARE nicht unterstützt.
\subparagraph{Enable the firmware sysfs fallback mechanism}$~$\\
CONFIG\_FW\_LOADER\_USER\_HELPER [=n] \textbf{[~]}\\*
Mit dieser Option wird eine sysfs"=Lademöglichkeit aktiviert, um das Laden von
Firmware in den Kernel über den Userspace als Fallback"=Mechanismus zu
ermöglichen, und zwar nur dann, wenn die direkte Dateisystem"=Suche des Kernels
nach der Firmware unter Verwendung der verschiedenen
\texttt{/lib/firmware/}"=Pfade oder des im Modulparameter \texttt{firmware\_class}
path angegebenen Pfades oder des Kernel"=Boot"=Parameters \texttt{firmware\_class}
path fehlgeschlagen ist, wenn die firmware\_class eingebaut ist.
Einzelheiten zur Arbeit mit dem sysfs"=Fallback"=Mechanismus finden Sie in
Documentation/driver-api/firmware/fallback-mechanisms.rst.\\
Die direkte Dateisystem"=Suche nach Firmware wird nun immer zuerst verwendet.
Wenn die direkte Dateisystem"=Suche des Kernels nach Firmware die angeforderte
Firmware nicht findet, wird eine sysfs"=Fallback"=Lademöglichkeit zur Verfügung
gestellt, und der Userspace wird durch uevents darüber informiert. Das uevent
kann unterdrückt werden, wenn der Treiber es explizit anfordert. Wenn der
benutzerdefinierte Fallback"=Mechanismus verwendet wird, muss der Userspace
immer bestätigen, dass die Firmware nicht gefunden wurde, da die
Zeitüberschreitung für den Fallback"=Mechanismus deaktiviert ist und
fehlgeschlagene Anfragen für immer verweilen.
Dies war früher die Standard"=Firmware"=Lademöglichkeit, und udev lauschte
auf uvents, um Firmware für den Kernel zu laden. Die Funktionalität der
Firmware"=Lademöglichkeit in udev wurde entfernt, so dass sie nicht mehr als
Ausweichmechanismus verwendet werden kann. Linux verlässt sich nicht mehr auf
einen Fallback"=Mechanismus im Userspace und verwendet diesen auch nicht mehr.
Wenn Sie sich auf einen solchen Mechanismus verlassen müssen, wenden Sie sich
an die freizügig lizenzierte Firmwared:
\url{https://github.com/teg/firmwared}\\
Da dies früher die Standardfunktion zum Laden von Firmware war, kann es sein,
dass ein alter Userspace existiert, der sich darauf verlässt, und daher kann
dieser Mechanismus niemals aus dem Kernel entfernt werden.
Sie sollten diese Funktionalität nur aktivieren, wenn Sie sicher sind, dass
Sie einen Ausweichmechanismus benötigen und einen Userspace"=Mechanismus
bereithalten, um Firmware zu laden, falls diese nicht gefunden wird. Ein
Hauptgrund dafür kann sein, dass Sie Treiber haben, die eine eingebaute
Firmware benötigen und aus irgendeinem Grund die benötigte Firmware nicht in
initramfs unterbringen können.
Ein weiterer Grund, warum Kernel diese Funktion aktiviert haben können, ist
die Unterstützung eines Treibers, der explizit auf diesen Fallback"=Mechanismus
angewiesen ist. Derzeit benötigen nur zwei Treiber diese Funktion:
\begin{itemize}
\item CONFIG\_LEDS\_LP55XX\_COMMON
\item CONFIG\_DELL\_RBU
\end{itemize}
Abgesehen von der Unterstützung der oben genannten Treiber kann ein weiterer
Grund dafür sein, dass Ihre Firmware außerhalb der Pfade liegt, nach denen der
Kernel sucht, und nicht mit dem Modulparameter firmware\_class path oder dem
Boot"=Parameter firmware\_class path des Kernels angegeben werden kann, wenn
firmware\_class eingebaut ist.
Ein moderner Anwendungsfall könnte darin bestehen, während der Bereitstellung
vorübergehend eine benutzerdefinierte Partition einzuhängen, auf die nur der
Userspace Zugriff hat, und diese dann zu verwenden, um nach der benötigten
Firmware zu suchen und sie zu holen. Eine solche Art von Treiberfunktionalität
wird von den Herstellern möglicherweise nicht einmal gewünscht, so dass sie
nur als Schnittstelle für die Bereitstellung unterstützt werden muss.
Da die Firmware"=Lademöglichkeit von udev entfernt wurde, können Sie
firmwared oder einen Fork davon verwenden, um die Art und Weise, wie Sie
Firmware auf der Grundlage von ausgegebenen uevents laden wollen, anzupassen.
Wenn Sie diese Option aktivieren, erhöht sich die Größe Ihres Kernel"=Images
um etwa 13436~Bytes.\\
Wenn Sie sich unsicher sind, sagen Sie hier N, es sei denn, Sie sind eine
Linux"=Distribution und müssen die beiden oben genannten Treiber unterstützen
oder Sie sind sich sicher, dass Sie eine wirklich benutzerdefinierte
Firmware"=Lademöglichkeit im Userspace unterstützen müssen.
\subparagraph{Enable compressed firmware support}$~$\\
CONFIG\_FW\_LOADER\_COMPRESS [=y] \textbf{[Y]}\\*
Diese Option aktiviert die Unterstützung für das Laden komprimierter
Firmware"=Dateien. Der Aufrufer der Firmware"=API erhält den dekomprimierten
Dateiinhalt. Die komprimierte Datei wird nur dann als Fallback geladen, wenn
das Laden der Rohdatei zunächst fehlgeschlagen ist.\\
Die Unterstützung für komprimierte Firmware gilt nicht für Firmware-Images,
die in das Kernel-Image eingebaut sind (CONFIG\_EXTRA\_FIRMWARE).
\subsubparagraph{Enable XZ-compressed firmware support}$~$\\
CONFIG\_FW\_LOADER\_COMPRESS\_XZ [=y] \textbf{[Y]}\\*
Mit dieser Option wird die Unterstützung für XZ"=komprimierte Dateien
hinzugefügt. Die Dateien müssen entweder mit dem Integritätsprüfungstyp
\texttt{none} oder \texttt{crc32} komprimiert sein (übergeben Sie die Option
\texttt{\dq -C crc32\dq} an den Befehl \texttt{xz}).
\subsubparagraph{Enable ZSTD-compressed firmware support}$~$\\
CONFIG\_FW\_LOADER\_COMPRESS\_ZSTD [=y] \textbf{[Y]}\\*
Mit dieser Option wird die Unterstützung für ZSTD"=komprimierte Dateien
hinzugefügt.
\subparagraph{Enable firmware caching during suspend}$~$\\
CONFIG\_FW\_CACHE [=y] \textbf{[Y]}\\*
Da die Firmware"=Zwischenspeicherung uevent"=Meldungen erzeugt, die über
einen Netlink"=Socket gesendet werden, kann sie auf vielen Plattformen ein
Suspendieren verhindern. Es ist auch nicht immer nützlich, daher haben wir
auf solchen Plattformen die Option.\\
Wenn Sie unsicher sind, sagen Sie Y.
\subparagraph{Enable users to initiate firmware updates using sysfs}$~$\\
CONFIG\_FW\_UPLOAD [=y] \textbf{[Y]}\\*
Durch die Aktivierung dieser Option können Gerätetreiber eine persistente
\texttt{sysfs}"=Schnittstelle bereitstellen, über die Firmware"=Updates aus
dem Userspace initiiert werden können. Beispielsweise laden FPGA"=basierte
PCIe"=Karten beim Booten der Karte Firmware und FPGA"=Images aus dem lokalen
FLASH. Die Images im FLASH können durch neue, vom Benutzer bereitgestellte
Images aktualisiert werden. Aktivieren Sie dieses Gerät, um Karten zu
unterstützen, die auf vom Benutzer initiierte Updates für Firmware"=Dateien
angewiesen sind.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{Driver Core verbose debug message}
CONFIG\_DEBUG\_DRIVER [=n] \textbf{[~]}\\*
Geben Sie hier Y an, wenn Sie möchten, dass der Treiberkern eine Reihe von
Debugmeldungen in das Systemprotokoll schreibt. Wählen Sie dies, wenn Sie ein
Problem mit dem Treiberkern haben und mehr über die Vorgänge erfahren möchten.
Wenn Sie sich nicht sicher sind, wählen Sie hier N.
\subsubsection{Managed device resources verbose debug messages}
CONFIG\_DEBUG\_DEVRES [=n] \textbf{[~]}\\*
Diese Option aktiviert den Kernelparameter devres.log. Wenn sie auf einen Wert
ungleich Null gesetzt ist, werden Devres"=Debug"=Meldungen gedruckt. Wählen
Sie diese Option, wenn Sie ein Problem mit devres haben oder die
Ressourcenverwaltung für ein verwaltetes Gerät debuggen wollen.
\texttt{devres.log}
kann vom sysfs"=Knoten aus ein- und ausgeschaltet werden.\\
Wenn Sie sich diesbezüglich unsicher sind, sagen Sie hier N.
\subsubsection{Test driver remove calls during probe (UNSTABLE)}
CONFIG\_DEBUG\_TEST\_DRIVER\_REMOVE [=n] \textbf{[~]}\\*
Geben Sie hier Y an, wenn Sie möchten,
dass der Treiberkern die Funktionen zum Entfernen von Treibern durch den
Aufruf von probe, remove, probe testet. Dadurch wird der Entfernungspfad
getestet, ohne dass der Treiber entbunden oder das Treibermodul entladen
werden muss.
Es wird erwartet, dass diese Option Fehler findet und Ihr System unbrauchbar
machen kann. Sie sollten hier N angeben, es sei denn, Sie wollen diese
Funktion ausdrücklich testen.
\subsubsection{Build kernel module to test asynchronous driver probing}
CONFIG\_TEST\_ASYNC\_DRIVER\_PROBE [=n] \textbf{[~]}\\*
Die Aktivierung dieser Option erzeugt ein Kernelmodul, mit dem die asynchrone
Treiberprüfung durch den Gerätekern getestet werden kann.
Der Modulname lautet \texttt{test\_async\_driver\_probe.ko}\\
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{Enable verbose DMA\_FENCE\_TRACE messages}
CONFIG\_DMA\_FENCE\_TRACE [=n] \textbf{[~]}\\*
Aktivieren Sie die Druckfunktion DMA\_FENCE\_TRACE. Dies fügt dem
Konsolenprotokoll zusätzlichen Spam hinzu, erleichtert aber die Diagnose
von Problemen im Zusammenhang mit Blockierungen bei DMA"=Puffern, die von
mehreren Geräten gemeinsam genutzt werden.
\subsubsection{sync\_state() behavior defaults to timeout instead of strict}
CONFIG\_FW\_DEVLINK\_SYNC\_STATE\_TIMEOUT [=n] \textbf{[~]}\\*
Dies entspricht dem Hinzufügen des Kernel"=Kommandozeilenparameters\\
\texttt{\dq fw\_devlink.sync\_state=timeout\dq}.\\
Geben Sie das Warten auf Verbraucher auf und rufen Sie sync\_state() auf
allen Geräten auf, die ihre sync\_state()"=Aufrufe noch nicht erhalten haben,
nachdem deferred\_probe\_timeout abgelaufen ist oder durch late\_initcall(),
wenn !CONFIG\_MODULES. Sie sollten hier fast immer N auswählen, es sei denn,
Sie haben bereits erfolgreich mit der Kommandozeilenoption auf jedem
System/Board getestet, auf dem Ihr Kernel voraussichtlich funktionieren wird.
\subsection{Bus devices \texorpdfstring{$\rightarrow$}{->}}
\textit{(Bus-Geräte)}
\subsubsection{Modem Host Interface (MHI) bus}
CONFIG\_MHI\_BUS [=m] \textbf{[M]}\\*
Bustreiber für das MHI"=Protokoll. Modem Host Interface (MHI) ist ein
Kommunikationsprotokoll, das von den Host"=Prozessoren zur Steuerung und
Kommunikation mit Modemgeräten über einen Hochgeschwindigkeits"=Peripheriebus
oder gemeinsamen Speicher verwendet wird.
\paragraph{Debugfs support for the MHI bus}$~$\\
CONFIG\_MHI\_BUS\_DEBUG [=n] \textbf{[~]}\\*
Aktiviert die Unterstützung von debugfs für die Verwendung mit dem MHI-Transport.
Ermöglicht das Lesen und/oder Ändern einiger Werte innerhalb des MHI"=Controllers
zu Debug- und Testzwecken.
\paragraph{MHI PCI controller driver}$~$\\
CONFIG\_MHI\_BUS\_PCI\_GENERIC [=m] \textbf{[M]}\\*
Dieser Treiber bietet einen MHI PCI"=Controller"=Treiber für Geräte wie Qualcomm
SDX55"=basierte PCIe"=Modems.
\subsubsection{Modem Host Interface (MHI) bus Endpoint implementation}
CONFIG\_MHI\_BUS\_EP [=m] \textbf{[M]}\\*
Bustreiber für das MHI-Protokoll. Modem Host Interface (MHI) ist ein
Kommunikationsprotokoll, das von einem Host"=Prozessor zur Steuerung und
Kommunikation eines Modemgeräts über einen Hochgeschwindigkeits"=Peripheriebus
oder einen gemeinsamen Speicher verwendet wird.
MHI\_BUS\_EP implementiert das MHI"=Protokoll für die Endpunktgeräte, wie z.~B.
das SDX55"=Modem, das über PCIe mit dem Host"=Rechner verbunden ist.
%15.7
\subsection{Cache Drivers ---}
\textit{(Pufferspeicher-Treiber)}
\subsection{Connector -- unified userspace
\texorpdfstring{$\leftrightarrow$}{<->} kernelspace linker
\texorpdfstring{$\rightarrow$}{->}}
CONFIG\_CONNECTOR [=y] \textbf{[Y]}\\*
Dies ist ein vereinheitlichter Userspace $\leftrightarrow$
Kernelspace"=Anschluss,
der auf dem Netlink"=Socket"=Protokoll aufbaut.
Connector"=Unterstützung kann auch als Modul gebaut werden.
Wenn dies der Fall ist, wird das Modul \texttt{cn} genannt.
\subsubsection{Report process events to userspace}
CONFIG\_PROC\_EVENTS [=y] \textbf{[Y]}\\*
Einen Konnektor bereitstellen, der Prozessereignisse an den Userspace meldet.
Senden Sie Ereignisse wie fork, exec, id-Änderung (uid, gid, suid, etc.)
und exit.
%15.9
\subsection{Firmware Drivers \texorpdfstring{$\rightarrow$}{->}}
\textit{(Firmware-Treiber)}
\subsubsection{ARM System Control and Management Interface Protocol ---}
\textit{(ARM-Systemsteuerungs- und Verwaltungsschnittstellenprotokoll)}
\subsubsection{BIOS Enhanced Disk Drive calls determine boot disk}
CONFIG\_EDD [=m] \textbf{[M]}\\*
Geben Sie hier Y oder M an, wenn Sie die BIOS Enhanced Disk Drive Services
aktivieren wollen, die das BIOS im realen Modus aufruft, um festzustellen,
von welcher Festplatte das BIOS zu booten versucht. Diese Information wird
dann über sysfs exportiert.
Diese Option ist experimentell und es ist bekannt, dass sie bei einigen
obskuren Konfigurationen nicht bootet. Die meisten BIOS"=Hersteller von
Festplattencontrollern implementieren diese Funktion noch nicht.
\paragraph{Sets default behavior for EDD detection to off}$~$\\
CONFIG\_EDD\_OFF [=n] \textbf{[~]}\\*
Sagen Sie Y, wenn Sie EDD standardmäßig deaktivieren wollen, obwohl es in
den Kernel einkompiliert ist. Sagen Sie N, wenn Sie EDD standardmäßig
aktivieren wollen. EDD kann mit dem Kernelparameter
\texttt{edd=$\{$on|skipmbr|off$\}$} dynamisch eingestellt werden.
%15.9.3
\subsubsection{Export DMI identification via sysfs to userspace}
CONFIG\_DMIID [=y] \textbf{[Y]}\\*
Geben Sie hier Y an, wenn Sie SMBIOS/DMI"=Systemidentifikationsinformationen
aus dem Userspace über \texttt{/sys/class/dmi/id/} abfragen wollen oder
wenn Sie
DMI"=basiertes automatisches Laden von Modulen wünschen.
%15.9.4
\subsubsection{DMI table support in sysfs}
CONFIG\_DMI\_SYSFS [=y] \textbf{[Y]}\\*
Geben Sie hier Y oder M ein, um den Export der Rohdaten der DMI"=Tabelle
über sysfs zu aktivieren. Dies ist nützlich, um die Daten zu konsumieren,
ohne überhaupt Zugriff auf \texttt{/dev/mem} zu benötigen.
Die Tabellen befinden sich unter \texttt{/sys/firmware/dmi}, wenn diese
Option aktiviert und geladen ist.
\subsubsection{iSCSI Boot Firmware Table Attributes}
CONFIG\_ISCSI\_IBFT\_FIND [=y] \textbf{[Y]}\\*
Mit dieser Option kann der Kernel den Speicherbereich finden, in dem sich
die ISCSI Boot Firmware Table (iBFT) befindet. Dies ist notwendig, damit das
Modul iSCSI Boot Firmware Table Attributes richtig funktioniert.
\subsubsection{iSCSI Boot Firmware Table Attributes module}
CONFIG\_ISCSI\_IBFT [=m] \textbf{[M]}\\*
Diese Option aktiviert die Unterstützung für die Erkennung und Offenlegung
der iSCSI Boot Firmware Table (iBFT) über sysfs im Userspace. Wenn Sie die
iSCSI"=Boot"=Parameter während des Systemstarts dynamisch erkennen möchten,
geben Sie Y an.
Andernfalls sagen Sie N.
\subsubsection{QEMU fw\_cfg device support in sysfs}
CONFIG\_FW\_CFG\_SYSFS [=m] \textbf{[M]}\\*
Geben Sie hier Y oder M ein, um den Export der QEMU"=Firmware"=Konfigurationsdatei
(fw\_cfg) über sysfs zu aktivieren. Die Einträge befinden sich unter
\texttt{/sys/firmware/fw\_cfg}, wenn diese Option aktiviert und geladen ist.
\paragraph{QEMU fw\_cfg device parameter parsing}$~$\\
CONFIG\_FW\_CFG\_SYSFS\_CMDLINE [=n] \textbf{[~]}\\*
Ermöglicht die Initialisierung des Geräts \texttt{qemu\_fw\_cfg} über die
Kernel"=Befehlszeile oder über einen Modulparameter.\\
WARNUNG: Die Verwendung falscher Parameter (insbesondere der Basisadresse)
kann Ihr System zum Absturz bringen.
\subsubsection{Mark VGA/VBE/EFI FB as generic system framebuffer}
CONFIG\_SYSFB\_SIMPLEFB [=y] \textbf{[Y]}\\*
Firmwares stellen oft anfängliche Grafik"=Framebuffer zur Verfügung, so dass
das BIOS, der Bootloader oder der Kernel die grundlegende Videoausgabe während
des Bootens zur Benutzerführung und Fehlersuche anzeigen kann. In der
Vergangenheit wurden hierfür die VESA-BIOS"=Erweiterungen und EFI"=Framebuffer
verwendet, die meist auf x86"=BIOS oder EFI"=Systeme beschränkt sind.\\
Wenn diese Option aktiviert ist, werden VGA/VBE/EFI"=Framebuffer als
generische Framebuffer markiert, so dass stattdessen die neuen generischen
System"=Framebuffer"=Treiber verwendet werden können. Wenn der Framebuffer
nicht mit den generischen Modi kompatibel ist, wird er als
Fallback"=Plattform"=Framebuffer angezeigt, so dass Legacy"=Treiber wie
efifb, vesafb und uvesafb ihn verwenden können.
Wenn diese Option nicht ausgewählt ist, werden alle System"=Framebuffer wie
üblich als Fallbac"=-Plattform"=Framebuffer gekennzeichnet.
Hinweis: Ältere fbdev"=Treiber, einschließlich vesafb, efifb und uvesafb,
sind nicht in der Lage, generische System"=Framebuffer zu erkennen, wenn
diese Option aktiviert ist. Es wird dringend empfohlen, simplefb als Ersatz
zu aktivieren, wenn Sie diese Option wählen. simplefb kann korrekt mit
generischen System"=Framebuffern umgehen. Sie sollten jedoch vesafb und
andere als Ersatz aktivieren, wenn ein System"=Framebuffer nicht mit
simplefb kompatibel ist.
Wenn Sie unsicher sind, sagen Sie Y.
\subsubsection{Google Firmware Drivers \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_GOOGLE\_FIRMWARE [=y] \textbf{[Y]}\\*
Diese Firmware-Treiber werden von Google"=Servern, Chromebooks und anderen
Geräten mit Coreboot"=Firmware verwendet.
Im Zweifelsfall sagen Sie N.
\paragraph{SMI interface for Google platforms}$~$\\
CONFIG\_GOOGLE\_SMI [=n] \textbf{[~]}\\*
Sagen Sie hier Y, wenn Sie SMI-Callbacks für Google"=Plattformen aktivieren
wollen. Dies bietet eine Schnittstelle zum Schreiben und Löschen des
Ereignisprotokolls. Wenn CONFIG\_EFI ebenfalls aktiviert ist, bietet dieser
Treiber eine Schnittstelle zum Lesen und Schreiben von NVRAM"=Variablen.
\paragraph{CBMEM entries in sysfs}$~$\\
CONFIG\_GOOGLE\_CBMEM [=m] \textbf{[M]}\\*
CBMEM ist ein nach unten wachsender Speicherbereich, der vom Coreboot-BIOS
erstellt wird und mit Tags versehene Datenstrukturen des BIOS enthält.
Diese Datenstrukturen stellen Dinge wie die verifizierten Boot"=Firmware"=Variablen,
das Flash"=Layout, das Firmware"=Ereignisprotokoll und mehr dar.
Diese Option aktiviert das cbmem"=Modul, das den Kernel veranlasst, nach
Coreboot"=CBMEM"=Einträgen zu suchen und den Speicher für jeden Eintrag in
sysfs unter \texttt{/sys/bus/coreboot/devices/cbmem-$<$id$>$} freizugeben.
\paragraph{Coreboot Table Access}$~$\\
CONFIG\_GOOGLE\_COREBOOT\_TABLE [=m] \textbf{[M]}\\*
Diese Option aktiviert das Modul coreboot\_table, das anderen Firmware"=Modulen
den Zugriff auf die coreboot"=Tabelle ermöglicht. Der Zugriff auf den Zeiger
der coreboot"=Tabelle erfolgt über das ACPI"=Objekt "GOOGCB00" oder den
Gerätebaumknoten /firmware/coreboot.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{Firmware Memory Console -- X86 Legacy support}$~$\\
CONFIG\_GOOGLE\_MEMCONSOLE\_X86\_LEGACY [=n] \textbf{[~]}\\*
Diese Option ermöglicht es dem Kernel, in der EBDA auf Google-Servern nach
einem Firmware"=Protokoll zu suchen. Wenn es gefunden wird, wird dieses
Protokoll in der Datei \texttt{/sys/firmware/log} in das
Benutzerland (userland) exportiert.
\paragraph{Coreboot Framebuffer}$~$\\
CONFIG\_GOOGLE\_FRAMEBUFFER\_COREBOOT [=m] \textbf{[M]}\\*
Diese Option ermöglicht es dem Kernel, in der Coreboot-Tabelle nach einem Framebuffer
zu suchen. Wird er gefunden, wird er mit \texttt{simplefb} registriert.
\paragraph{Firmware Memory Console}$~$\\
CONFIG\_GOOGLE\_MEMCONSOLE\_COREBOOT [=m] \textbf{[M]}\\*
Diese Option ermöglicht es dem Kernel, in der coreboot"=Tabelle nach einem
Firmware"=Protokoll zu suchen. Wenn es gefunden wird, wird dieses Protokoll
in der Datei \texttt{/sys/firmware/log} in das Benutzerland (userland)
exportiert.
\paragraph{Vital Product Data}$~$\\
CONFIG\_GOOGLE\_VPD [=m] \textbf{[M]}\\*
Diese Option ermöglicht es dem Kernel, den Inhalt von Google VPD unter
\texttt{/sys/firmware/vpd} zu veröffentlichen.
\subsubsection{EFI (Extensible Firmware Interface) Support \texorpdfstring{$\rightarrow$}{->}}
\textit{(EFI-Unterstützung (Erweiterbare Firmware-Schnittstelle))}
\paragraph{Register efivars backend for pstore}$~$\\
CONFIG\_EFI\_VARS\_PSTORE [=y] \textbf{[Y]}\\*
Sagen Sie hier Y, um die Verwendung von \texttt{efivars} als Backend für
\texttt{pstore} zu aktivieren. Dies ermöglicht das Schreiben von
Konsolenmeldungen, Crash"=Dumps oder anderen von pstore unterstützten Daten
in EFI"=Variablen.
\subparagraph{Disable using efivars as a pstore backend by default}$~$\\
CONFIG\_EFI\_VARS\_PSTORE\_DEFAULT\_DISABLE [=y] \textbf{[Y]}\\*
Wenn Sie hier Y angeben, wird die Verwendung von efivars als Speicher-Backend für
pstore standardmäßig deaktiviert. Diese Einstellung kann mit dem Parameter
\texttt{pstore\_disable} des \texttt{efivars}-Moduls außer Kraft gesetzt werden.
\paragraph{Reserve EFI Specific Purpose Memory}$~$\\
CONFIG\_EFI\_SOFT\_RESERVE [=y] \textbf{[Y]}\\*
Auf Systemen mit gemischten Leistungsklassen des Speichers kann EFI mit einem Attribut
einen bestimmten Zweck des Speichers angeben (siehe EFI\_MEMORY\_SP in UEFI~2.8).
Ein mit diesem Attribut gekennzeichneter Speicherbereich kann im Vergleich zum allgemeinen
\glqq System"=RAM\grqq{}"=Pool des Systems einzigartige Leistungsmerkmale aufweisen. In der Erwartung,
dass ein solcher Speicher anwendungsspezifisch genutzt wird und sein EFI"=Basistyp
\glqq konventionell\grqq{} ist, antwortet Y, damit der Kernel ihn als
\glqq Soft Reserved\grqq{}-Ressource reserviert und standardmäßig für den Direktzugriff
(device-dax) reserviert. Der Speicherbereich kann später optional dem Page Allocator durch
die Systemadministrator"=Policy über die device"=dax kmem"=Funktion zugewiesen werden.
Sagen Sie N, damit der Kernel diesen Speicher standardmäßig als \glqq System-RAM\grqq{}
behandelt.\\
Wenn Sie unsicher sind, sagen Sie Y.
\paragraph{Adjust memory attributes in EFISTUB}$~$\\
CONFIG\_EFI\_DXE\_MEM\_ATTRIBUTES [=y] \textbf{[Y]}\\*
Die UEFI-Spezifikation garantiert nicht, dass der gesamte Speicher sowohl zum Schreiben
als auch zum Ausführen zugänglich ist, wie es der Kernel erwartet.\\
Verwenden Sie DXE-Dienste, um Speicherschutzattribute während des Bootens über EFISTUB
zu prüfen und zu ändern, um sicherzustellen, dass die vom Kernel verwendeten
Speicherbereiche beschreibbar und ausführbar sind.
\paragraph{EFI Bootloader Control}$~$\\
CONFIG\_EFI\_BOOTLOADER\_CONTROL [=m] \textbf{[M]}\\*
Dieses Modul installiert einen Reboot-Hook, so dass, wenn reboot() mit einem
String-Argument NNN aufgerufen wird, \glqq NNN\grqq{} in die EFI"=Variable
\glqq LoaderEntryOneShot\grqq{} kopiert wird, um vom Bootloader gelesen zu werden.\\
Wenn die Zeichenkette mit einem der in seiner Konfiguration definierten Boot-Labels
übereinstimmt, bootet der Bootloader einmal mit diesem Label.
Die EFI"=Variable
\glqq LoaderEntryRebootReason\grqq{} wird mit dem Reboot"=Grund gesetzt:
\glqq reboot\grqq{} oder \glqq shutdown\grqq{}. Der Bootloader liest diesen
Reboot"=Grund ein und ergreift bestimmte Maßnahmen entsprechend seiner Richtlinie.
\paragraph{EFI capsule loader}$~$\\
CONFIG\_EFI\_CAPSULE\_LOADER [=m] \textbf{[M]}\\*
Diese Option stellt eine Laderschnittstelle \texttt{/dev/efi\_capsule\_loader} zur Verfügung,
über die Benutzer EFI"=Kapseln laden können. Dieser Treiber erfordert eine funktionierende
Runtime"=Kapselunterstützung in der Firmware, die viele OEMs nicht bieten.\\
Die meisten Benutzer sollten N sagen.
\paragraph{EFI Runtime Service Tests Support}$~$\\
CONFIG\_EFI\_TEST [=n] \textbf{[~]}\\*
Dieser Treiber verwendet die \texttt{efi.$<$service$>$}"=Funktionszeiger direkt, anstatt über die
efivar"=API zu gehen, da er nicht versucht, das Kernel"=Subsystem zu testen, sondern nur
die UEFI"=Laufzeitdienstschnittstellen, die von der Firmware bereitgestellt werden.
Dieser Treiber wird von der Firmware Test Suite (FWTS) zum Testen der
UEFI"=Laufzeitschnittstellen der Firmware verwendet.
Details zur FWTS sind verfügbar unter:
\url{https://wiki.ubuntu.com/FirmwareTestSuite}
Sagen Sie hier Y, um die Unterstützung der Laufzeitdienste über \texttt{/dev/efi\_test}
zu aktivieren.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{Apple Device Properties}$~$\\
CONFIG\_APPLE\_PROPERTIES [=y] \textbf{[Y]}\\*
Rufen Sie Eigenschaften von EFI auf Apple Macs ab und weisen Sie sie Geräten zu, was eine
verbesserte Unterstützung von Apple"=Hardware ermöglicht. Zu den Eigenschaften, die sonst
fehlen würden, gehören das Thunderbolt"=Geräte"=ROM und die GPU"=Konfigurationsdaten.
Wenn Sie unsicher sind, sagen Sie Y, wenn Sie einen Mac haben. Andernfalls N.
\paragraph{Reset memory attack mitigation}$~$\\
CONFIG\_RESET\_ATTACK\_MITIGATION [=n] \textbf{[~]}\\*
Verlangen Sie, dass die Firmware den Inhalt des RAM nach einem Neustart unter Verwendung
der TCG Platform Reset Attack Mitigation Spezifikation löscht. Dies schützt davor, dass ein
Angreifer das System gewaltsam neu startet, während es noch Geheimnisse im RAM enthält, ein
anderes Betriebssystem startet und die Geheimnisse extrahiert. Diese Funktion sollte nur
aktiviert werden, wenn Userland so konfiguriert ist, dass das MemoryOverwriteRequest"=Flag
beim sauberen Herunterfahren gelöscht wird, nachdem die Geheimnisse entfernt wurden, da sie
sonst auch bei sauberen Neustarts ausgelöst wird.
\paragraph{EFI Runtime Configuration Interface Table Version 2 Support}$~$\\
CONFIG\_EFI\_RCI2\_TABLE [=y] \textbf{[Y]}\\*
Zeigt den Inhalt der Runtime Configuration Interface Table Version~2 auf
Dell EMC PowerEdge"=Systemen als binäres Attribut \glqq rci2\grqq{} im
Verzeichnis \texttt{/sys/firmware/efi/tables} an.
Die RCI2"=Tabelle enthält BIOS HII im XML"=Format und wird zum Auffüllen der
BIOS"=Setup"=Seite im Dell EMC OpenManage Server Administrator"=Tool verwendet.
Die BIOS"=Setup"=Seite enthält BIOS"=Tokens, die konfiguriert werden können.
Geben Sie hier Y für Dell EMC PowerEdge"=Systeme an.
\paragraph{Clear Busmaster bit on PCI bridges during ExitBootServices()}$~$\\
CONFIG\_EFI\_DISABLE\_PCI\_DMA [=n] \textbf{[~]}\\*
Deaktivieren Sie das Busmaster"=Bit im Kontrollregister auf allen PCI"=Brücken, während Sie
ExitBootServices() aufrufen und die Kontrolle an den Laufzeitkernel übergeben. Die
System"=Firmware kann die IOMMU so konfigurieren, dass böswillige PCI"=Geräte nicht in der
Lage sind, das Betriebssystem über DMA anzugreifen. Da die Firmware jedoch nicht garantieren
kann, dass das Betriebssystem IOMMU"=fähig ist, wird sie die IOMMU"=Konfiguration abbauen,
wenn ExitBootServices() aufgerufen wird. Dadurch bleibt ein Zeitfenster, in dem ein
feindliches Gerät noch Schaden anrichten kann, bevor Linux die IOMMU erneut konfiguriert.
Wenn Sie hier Y angeben, wird der EFI"=Stub das Busmaster"=Bit auf allen PCI"=Brücken
löschen, bevor ExitBootServices() aufgerufen wird. Dadurch wird verhindert, dass böswillige
PCI"=Geräte DMA durchführen können, bis der Kernel das Busmastering nach der Konfiguration
der IOMMU wieder aktiviert.
Diese Option kann bei einigen Geräten mit schlechtem Verhalten zu Fehlern führen und sollte
nicht ohne Test aktiviert werden. Die Kernel"=Befehlszeilenoptionen
\texttt{efi=disable\_early\_pci\_dma} oder \texttt{efi=no\_disable\_early\_pci\_dma} können
verwendet werden, um diese Option außer Kraft zu setzen.
\paragraph{Load custom ACPI SSDT overlay from an EFI variable}$~$\\
CONFIG\_EFI\_CUSTOM\_SSDT\_OVERLAYS [=y] \textbf{[Y]}\\*
Ermöglicht das Laden eines ACPI-SSDT-Overlays aus einer EFI"=Variablen, die durch eine
Kernel"=Befehlszeilenoption angegeben wird.
Siehe Documentation/admin-guide/acpi/ssdt-overlays.rst für weitere Informationen.
\paragraph{Disable EFI runtime services support by default}$~$\\
CONFIG\_EFI\_DISABLE\_RUNTIME [=n] \textbf{[N]}\\*
Erlaubt es, die Unterstützung der EFI-Laufzeitdienste standardmäßig zu deaktivieren.
Dies kann bereits durch die Verwendung der Option \texttt{efi=noruntime} erreicht werden,
aber es könnte nützlich sein, diese Voreinstellung ohne einen Kernel"=Befehlszeilenparameter zu haben.
Die EFI"=Laufzeitdienste sind standardmäßig deaktiviert, wenn PREEMPT\_RT aktiviert ist, da Messungen
gezeigt haben, dass einige EFI"=Funktionsaufrufe zu viel Zeit benötigen, um abgeschlossen zu werden,
was zu großen Latenzen führen kann, was ein Problem für Echtzeit"=Kernel darstellt.
Diese Voreinstellung kann mit der Option \texttt{efi=runtime} außer Kraft gesetzt werden.
\paragraph{EFI Confidential Computing Secret Area Support}$~$\\
CONFIG\_EFI\_COCO\_SECRET [=y] \textbf{[Y]}\\*
Confidential Computing"=Plattformen (z.~B. AMD SEV) ermöglichen es dem Gastbesitzer, während
des Starts der Gast"=VM auf sichere Weise Geheimnisse einzubringen. Die Geheimnisse werden in
einem bestimmten reservierten EFI"=Speicherbereich abgelegt.
Um die Geheimnisse im Kernel verwenden zu können, muss der Ort des geheimen Bereichs (wie in
der EFI"=Konfigurationstabelle veröffentlicht) beibehalten werden.
Wenn Sie hier Y angeben, wird die Adresse des EFI"=Geheimbereichs für die Verwendung im Kernel
beibehalten. Dadurch kann das Modul \texttt{virt/coco/efi\_secret} auf die Secrets zugreifen,
was wiederum Userspace"=Programmen den Zugriff auf die injizierten Secrets ermöglicht.
\subsubsection{Qualcomm firmware drivers ---}
\textit{(Qualcomm-Firmware-Treiber)}
\subsubsection{Tegra firmware drivers ---}
\textit{(Tegra-Firmware-Treiber)}
\subsection{GNSS receiver support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_GNSS \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie einen GNSS"=Empfänger (z.~B. einen GPS"=Empfänger) haben.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{gnss} genannt.
\subsubsection{Mediatek GNSS receiver support}
CONFIG\_GNSS\_MTK\_SERIAL \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie einen Mediatek"=basierten GNSS"=Empfänger haben, der eine
serielle Schnittstelle verwendet.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird
\texttt{gnss-mtk} genannt.
Wenn Sie unsicher sind, wählen Sie N.
\subsubsection{SiRFstar GNSS receiver support}
CONFIG\_GNSS\_SIRF\_SERIAL \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie einen SiRFstar"=basierten GNSS"=Empfänger haben, der eine
serielle Schnittstelle verwendet.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul
wird \texttt{gnss-sirf} genannt.
Wenn Sie unsicher sind, wählen Sie N.
\subsubsection{u-blox GNSS receiver support}
CONFIG\_GNSS\_UBX\_SERIAL \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie einen GNSS-Empfänger von u-blox haben, der eine serielle
Schnittstelle verwendet.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{gnss-ubx} genannt.
Wenn Sie unsicher sind, wählen Sie N.
\subsubsection{USB GNSS receiver support}
CONFIG\_GNSS\_USB \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Geben Sie hier Y ein, wenn Sie einen GNSS-Empfänger haben, der eine
USB-Schnittstelle verwendet.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{gnss-usb} genannt.
Wenn Sie unsicher sind, sagen Sie N.
\subsection{Memory Technology Devices (MTD) support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_MTD \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Memory Technology Devices sind Flash-, RAM- und ähnliche Chips, die häufig für
Solid"=State"=Dateisysteme auf eingebetteten Geräten verwendet werden. Diese Option
bietet die allgemeine Unterstützung für MTD"=Treiber, um sich beim Kernel zu registrieren,
und für potenzielle Benutzer von MTD"=Geräten, um die vorhandenen Geräte aufzulisten und
einen Zugriff auf sie zu erhalten. Sie ermöglicht es Ihnen auch, individuelle Treiber für
bestimmte Hardware und Benutzer von MTD"=Geräten auszuwählen.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{MTD test support (DANGEROUS)}
CONFIG\_MTD\_TESTS [=n] \textbf{[~]}\\*
Mit dieser Option werden verschiedene MTD-Tests in die Kompilierung einbezogen. Die Tests
sollten normalerweise als Kernelmodule kompiliert werden. Die Module führen verschiedene
Prüfungen und Verifizierungen durch, wenn sie geladen werden.\\
WARNUNG: Einige der Tests werden das gesamte MTD"=Gerät, das sie testen, LÖSCHEN.
Verwenden Sie diese Tests nicht, wenn Sie nicht wirklich wissen, was Sie tun.
\subsubsection{Partition parsers \texorpdfstring{$\rightarrow$}{->}}
\textit{(Partitionsparser)}
\paragraph{Command line partition table parsing}$~$\\
CONFIG\_MTD\_CMDLINE\_PARTS [=n] \textbf{[~]}\\*
Ermöglicht die generische Konfiguration der MTD"=Partitionstabellen über die Kernel"=Befehlszeile.
Mehrere Flash"=Ressourcen werden für Hardware unterstützt, bei der verschiedene Arten von
Flash"=Speicher verfügbar sind.
Die Parsing"=Funktionen müssen immer noch vom Treiber für Ihr spezielles Gerät aufgerufen werden.
Das wird nicht automatisch geschehen. Der SA1100"=Map"=Treiber (CONFIG\_MTD\_SA1100) verfügt zum
Beispiel über eine entsprechende Option.
Das Format für die Befehlszeile ist wie folgt:\\[0.5em]
\texttt{mtdparts=$<$mtddef$>$[;$<$mtddef]\\
$<$mtddef$>$ := $<$mtd-id$>$:$<$partdef$>$[,$<$partdef$>$]\\
$<$partdef$>$ := $<$size$>$[@offset][$<$name$>$][ro]\\
%$<$mtd-id$>$ := eindeutige Kennung, die bei der Zuordnung von Treiber/Gerät verwendet wird\\
$<$mtd-id$>$ := eindeutige Kennung für die Zuordnung von Treiber/Gerät\\
$<$size$>$ := Standard-Linux-Memsize ODER \dq{}-\dq{}, um den verbleibenden Platz zu kennzeichnen\\
$<$name$>$ := (NAME)}\\[0.5em]
Aufgrund der Art und Weise, wie Linux mit der Kommandozeile umgeht, sind in der Partitionsdefinition
keine Leerzeichen erlaubt, auch nicht in den mtd"=id's und Partitionsnamen.\\
Beispiele:\\
1 Flash-Ressource (mtd-id \glqq sa1100\grqq{}), mit 1 einzigen beschreibbaren Partition:\\
\texttt{mtdparts=sa1100:-}\\
Gleiches Flash, aber 2 benannte Partitionen, von denen die erste schreibgeschützt ist:\\
\texttt{mtdparts=sa1100:256k(ARMboot)ro,-(root)}\\
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{RedBoot partition table parsing}$~$\\
CONFIG\_MTD\_REDBOOT\_PARTS [=n] \textbf{[~]}\\*
RedBoot ist ein ROM"=Monitor und Bootloader, der mit mehreren \glqq Images\grqq{} in
Flash"=Geräten umgeht, indem er eine Tabelle in einen der Löschblöcke auf dem Gerät
einfügt, ähnlich einer Partitionstabelle, die die Offsets, Längen und Namen aller im
Flash gespeicherten Images enthält.
Wenn Sie einen Code benötigen, der diese Tabelle erkennt und analysiert und
MTD"=\glqq{}Partitionen\grqq{} entsprechend jedem Bild in der Tabelle registriert,
aktivieren Sie diese Option.
Die Parsing"=Funktionen müssen weiterhin vom Treiber für Ihr spezielles Gerät
aufgerufen werden. Das wird nicht automatisch geschehen.
Der SA1100"=Kartentreiber (CONFIG\_MTD\_SA1100) verfügt beispielsweise über eine
Option für diese Funktion.
\subsubsection*{*** User Modules And Translation Layers ***}
\textit{(Benutzermodule und Übersetzungsschichten)}
\subsubsection{Caching block device access to MTD devices}
CONFIG\_MTD\_BLOCK [=m] \textbf{[M]}\\*
Obwohl die meisten Flash"=Chips eine zu große Löschgröße haben, um als Blockbausteine nützlich zu sein,
ist es möglich, MTD"=Bausteine, die auf RAM"=Chips basieren, auf diese Weise zu verwenden.
Dieses Blockgerät ist ein Benutzer von MTD"=Geräten, die diese Funktion erfüllen.
Beachten Sie, dass das Mounten eines JFFS2"=Dateisystems nicht die Verwendung von mtdblock erfordert.
Es ist möglich, ein rootfs unter Verwendung des MTD"=Geräts in den \texttt{root=}"=Bootargs als
\texttt{root=mtd2} oder \texttt{root=mtd:name\_of\_device} zu mounten.\\
Später kann es erweitert werden, um Lese-/Lösch-/Modifizierungs-/Schreibzyklen auf Flash"=Chips
durchzuführen, um eine kleinere Blockgröße zu emulieren. Dies ist natürlich sehr unsicher, könnte aber
für Dateisysteme nützlich sein, auf die fast nie geschrieben wird.
Für die Verwendung mit DiskOnChip"=Geräten benötigen Sie diese Option nicht. Aktivieren Sie für diese
Geräte stattdessen die NFTL"=Unterstützung (CONFIG\_NFTL).
\paragraph{Readonly block device access to MTD devices}$~$\\
CONFIG\_MTD\_BLOCK\_RO [=n] \textbf{[~]}\\*
Damit können Sie schreibgeschützte Dateisysteme (wie cramfs) von einem MTD"=Gerät einhängen, ohne den
Overhead (und die Gefahr) des Caching"=Treibers.\\
Sie benötigen diese Option nicht für die Verwendung mit DiskOnChip"=Geräten. Aktivieren Sie für diese
stattdessen die NFTL"=Unterstützung (CONFIG\_NFTL).
\subsubsection*{*** Note that in some cases UBI block is preferred. See MTD\_UBI\_BLOCK. ***}
\textit{(Beachten Sie, dass in einigen Fällen der UBI"=Block vorzuziehen ist. Siehe MTD\_UBI\_BLOCK.)}
\subsubsection{FTL (Flash Translation Layer) support}
CONFIG\_FTL [=n] \textbf{[~]}\\*
Dies bietet Unterstützung für den ursprünglichen Flash Translation Layer, der Teil der PCMCIA"=Spezifikation ist.
Es verwendet eine Art Pseudo"=Dateisystem auf einem Flash"=Gerät, um ein Blockgerät mit 512-Byte"=Sektoren zu
emulieren, auf das ein \glqq normales\grqq{} Dateisystem gelegt wird.\\
Es kann sein, dass die in diesem Code verwendeten Algorithmen patentiert sind, es sei denn, Sie leben in der
freien Welt, in der Softwarepatente nicht legal sind -- in den USA ist es nur erlaubt, diesen Code auf
PCMCIA"=Hardware zu verwenden, obwohl es Ihnen unter den Bedingungen der GPL natürlich erlaubt ist, den
Code nach Belieben zu kopieren, zu verändern und zu verbreiten. Verwenden Sie ihn einfach nicht.
\subsubsection{NFTL (NAND Flash Translation Layer) support}
CONFIG\_NFTL [=n] \textbf{[~]}\\*
Dies bietet Unterstützung für den NAND Flash Translation Layer, der auf den DiskOnChip"=Geräten von M"=Systems
verwendet wird. Es verwendet eine Art Pseudo"=Dateisystem auf einem Flash"=Gerät, um ein Blockgerät mit
512-Byte"=Sektoren zu emulieren, auf das ein \glqq normales\grqq{} Dateisystem gelegt wird.
Es kann sein, dass die in diesem Code verwendeten Algorithmen patentiert sind, es sei denn, Sie leben in der
freien Welt, wo Softwarepatente nicht legal sind -- in den USA dürfen Sie diesen Code nur auf
DiskOnChip"=Hardware verwenden, obwohl es Ihnen unter den Bedingungen der GPL natürlich erlaubt ist, den
Code nach Belieben zu kopieren, zu verändern und zu verteilen. Verwenden Sie ihn einfach nicht.
\subsubsection{INFTL (Inverse NAND Flash Translation Layer) support}
CONFIG\_INFTL [=n] \textbf{[~]}\\*
Dies bietet Unterstützung für den Inverse NAND Flash Translation Layer, der auf den neueren DiskOnChip"=Geräten
von M"=Systems verwendet wird. Dabei wird eine Art Pseudo"=Dateisystem auf einem Flash"=Gerät verwendet,
um ein Blockgerät mit 512-Byte"=Sektoren zu emulieren, auf das ein \glqq normales\grqq{} Dateisystem gelegt wird.
Es kann sein, dass die in diesem Code verwendeten Algorithmen patentiert sind, es sei denn, Sie leben in der
freien Welt, wo Softwarepatente nicht legal sind -- in den USA dürfen Sie diesen Code nur auf
DiskOnChip"=Hardware verwenden, obwohl es Ihnen unter den Bedingungen der GPL natürlich erlaubt ist, den Code
nach Belieben zu kopieren, zu verändern und zu verteilen. Verwenden Sie ihn einfach nicht.
\subsubsection{Resident Flash Disk (Flash Translation Layer) support}
CONFIG\_RFD\_FTL [=n] \textbf{[~]}\\*
Dies bietet Unterstützung für die Flash"=Übersetzungsschicht, bekannt als Resident Flash Disk (RFD),
wie sie vom Embedded BIOS von General Software verwendet wird. Es gibt einen Hinweis unter:\\
\url{http://www.gensw.com/pages/prod/bios/rfd.htm}
\subsubsection{NAND SSFDC (SmartMedia) read only translation layer}
CONFIG\_SSFDC [=n] \textbf{[~]}\\*
Dies ermöglicht den Nur-Lese-Zugriff auf SmartMedia"=formatierten NAND"=Flash.
Sie können es mit dem FAT"=Dateisystem mounten.
\subsubsection{SmartMedia/xD new translation layer}
CONFIG\_SM\_FTL [=n] \textbf{[~]}\\*
Dies ermöglicht EXPERIMENTAL R/W Unterstützung für SmartMedia/xD FTL (Flash translation layer).
Die Schreibunterstützung ist nur leicht getestet, daher wird dieser Treiber nicht für die Verwendung
mit wertvollen Daten empfohlen (wenn Sie wertvolle Daten haben, machen Sie auf jeden Fall Backups,
egal welche Software/Hardware Sie verwenden, denn man weiß nie, was Ihre Daten frisst...)
Wenn Sie nur R/O-Zugriff benötigen, können Sie einen älteren R/O-Treiber verwenden (CONFIG\_SSFDC)
\subsubsection{Log panic/oops to an MTD buffer}
CONFIG\_MTD\_OOPS [=n] \textbf{[~]}\\*
Dadurch können Panic- und Oops-Meldungen in einem Ringspeicher in einer Flash"=Partition protokolliert
werden, wo sie zu einem späteren Zeitpunkt wieder gelesen werden können.
\subsubsection{Log panic/oops to an MTD buffer based on pstore}
CONFIG\_MTD\_PSTORE [=m] \textbf{[M]}\\*
Dadurch können Panic- und Oops-Meldungen in einem Ringspeicher in einer Flash"=Partition protokolliert
werden, wo sie nach dem Mounten des pstore"=Dateisystems als Dateien zurückgelesen werden können.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{Swap on MTD device support}
CONFIG\_MTD\_SWAP [=n] \textbf{[~]}\\*
Bietet einen flüchtigen Block"=Gerätetreiber auf der mtd"=Partition, der für Swapping geeignet ist.
Die Zuordnung der geschriebenen Blöcke wird nicht gespeichert.
Der Treiber bietet Verschleißausgleich durch Speicherung des Löschzählers im OOB.
\subsubsection{Retain master device when partitioned}
CONFIG\_MTD\_PARTITIONED\_MASTER [=y] \textbf{[Y]}\\*
Aus historischen Gründen ist standardmäßig entweder ein Master vorhanden oder mehrere Partitionen,
aber nicht beides. Die Befürchtung war, dass Daten, die in mehreren Partitionen aufgelistet sind,
gefährlich sind; SCSI tut dies jedoch, und es ist häufig für Anwendungen nützlich. Diese Konfigurationsoption
lässt den Master bestehen, auch wenn das Gerät partitioniert ist. Sie macht außerdem das übergeordnete Gerät
der Partition zum Master"=Gerät und nicht das, was hinter dem Master"=Gerät liegt.
\subsubsection{RAM/ROM/Flash chip drivers \texorpdfstring{$\rightarrow$}{->}}
\textit{(RAM/ROM/Flash-Chip-Treiber)}
\paragraph{Detect flash chips by Common Flash Interface (CFI) probe}$~$\\
CONFIG\_MTD\_CFI [=n] \textbf{[~]}\\*
Die Common Flash Interface-Spezifikation wurde von Intel, AMD und anderen Flash"=Herstellern entwickelt und
bietet eine universelle Methode zum Testen der Fähigkeiten von Flash"=Geräten. Wenn Sie ein CFI"=kompatibles
Gerät unterstützen möchten, müssen Sie diese Option aktivieren. Weitere Informationen über CFI finden Sie unter
\url{https://www.amd.com/products/nvd/overview/cfi.html}.
\paragraph{Detect non-CFI AMD/JEDEC-compatible flash chips}$~$\\
CONFIG\_MTD\_JEDECPROBE [=n] \textbf{[~]}\\*
Diese Option ermöglicht das Sondieren von Flash-Chips im JEDEC-Stil, die nicht mit dem Common Flash Interface
kompatibel sind, verwendet aber für alle identifizierten Chips, die tatsächlich in allen Bereichen außer der
Sondierungsmethode kompatibel sind, die gemeinsamen CFI"=konformen Flash"=Treiber. Dies deckt die meisten
AMD/Fujitsu"=kompatiblen Chips und auch nicht"=CFI"=Intel"=Chips ab.
\paragraph{Support for RAM chips in bus mapping}$~$\\
CONFIG\_MTD\_RAM [=n] \textbf{[~]}\\*
Diese Option ermöglicht die grundlegende Unterstützung von RAM"=Chips, auf die über einen
Bus"=Mapping"=Treiber zugegriffen wird.
\paragraph{Support for ROM chips in bus mapping}$~$\\
CONFIG\_MTD\_ROM [=m] \textbf{[M]}\\*
Diese Option ermöglicht die grundlegende Unterstützung von ROM"=Chips, auf die über einen
Bus"=Mapping"=Treiber zugegriffen wird.
\paragraph{Support for absent chips in bus mapping}$~$\\
CONFIG\_MTD\_ABSENT [=n] \textbf{[~]}\\*
Diese Option aktiviert die Unterstützung für einen Dummy"=Treiber, der zur Zuweisung von
Platzhalter"=MTD"=Geräten auf Systemen mit gesockelten oder austauschbaren Medien verwendet wird.
Die Verwendung dieses Treibers als Fallback"=Chip"=Sonde bewahrt die erwartete
Registrierungsreihenfolge der MTD"=Geräteknoten auf dem System unabhängig vom Vorhandensein von
Medien. Geräteknoten, die mit diesem Treiber erstellt werden, geben beim Zugriff -ENODEV zurück.
\subsubsection{Mapping drivers for chip access \texorpdfstring{$\rightarrow$}{->}}
\textit{(Abbildung von Treibern für den Chipzugriff)}
\paragraph{Support non-linear mappings of flash chips}$~$\\
CONFIG\_MTD\_COMPLEX\_MAPPINGS [=n] \textbf{[~]}\\*
Dies führt dazu, dass die Chiptreiber komplizierte Paged"=Mappings von Flash"=Chips ermöglichen.
\paragraph{Flash device in physical memory map}$~$\\
CONFIG\_MTD\_PHYSMAP [=n] \textbf{[~]}\\*
Damit steht ein \glqq Mapping\grqq{}-Treiber zur Verfügung, der es dem NOR"=Flash- und
ROM"=Treibercode ermöglicht, mit Chips zu kommunizieren, die physisch im Speicher der CPU abgebildet sind.
Sie müssen die physikalische Adresse und Größe der Flash"=Chips auf Ihrer speziellen Karte sowie die
Busbreite konfigurieren, entweder statisch mit Konfigurationsoptionen oder zur Laufzeit.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{physmap} heißen.
\paragraph{NOR flash on Intel Vermilion Range Expansion Bus CS0}$~$\\
CONFIG\_MTD\_INTEL\_VR\_NOR [=n] \textbf{[~]}\\*
Kartentreiber für eine NOR-Flash-Bank, die sich auf dem Erweiterungsbus des Intel Vermilion Range Chipsatzes befindet.
\paragraph{Map driver for platform device RAM (mtd-ram)}$~$\\
CONFIG\_MTD\_PLATRAM [=n] \textbf{[~]}\\*
Kartentreiber für RAM-Bereiche, die über das Gerätesystem der Plattform beschrieben werden.
Mit dieser Auswahl wird automatisch der \texttt{map\_ram}-Treiber ausgewählt.
\subsubsection{Self-contained MTD device drivers \texorpdfstring{$\rightarrow$}{->}}
\textit{(Eigenständige MTD-Gerätetreiber)}
\paragraph{Ramix PMC551 PCI Mezzanine RAM card support)}$~$\\
CONFIG\_MTD\_PMC551 [=n] \textbf{[~]}\\*
Dies bietet einen MTD"=Gerätetreiber für die Ramix PMC551 RAM PCI"=Karte von Ramix Inc.
\url{http://www.ramix.com/products/memory/pmc551.html}.
Diese Geräte gibt es in Speicherkonfigurationen von $\qtyrange{32}{1000}{\mebi\byte}$.
Wenn Sie ein solches Gerät haben, sollten Sie dies aktivieren.
Wenn dieser Treiber als Modul kompiliert wird, erhalten Sie die Möglichkeit, die Größe des Blendenfensters,
das in den Speicher des Geräts zeigt, zu wählen. Das bedeutet, dass der Kernel bei einer 1G"=Karte normalerweise
eine 1G"=Speicherabbildung als Ansicht des Geräts verwenden wird.
Als Modul können Sie ein 1M"=Fenster in den Speicher wählen, und der Treiber wird das Fenster um den Speicher
des PMC551 \glqq herumschieben\grqq{}. Dies war besonders bei den 2.2"=Kerneln auf PPC"=Architekturen nützlich,
da der Kernel nur begrenzten Speicherplatz zur Verfügung hatte.
\paragraph{Support for AT45xxx DataFlash}$~$\\
CONFIG\_MTD\_DATAFLASH [=n] \textbf{[~]}\\*
Dies ermöglicht den Zugriff auf AT45xxx DataFlash"=Chips über SPI. Manchmal sind DataFlash"=Chips in Karten
im MMC"=Format verpackt; zu diesem Zeitpunkt kann der MMC"=Stack diese nicht verarbeiten.
\paragraph{Microchip 23K256 SRAM}$~$\\
CONFIG\_MTD\_MCHP23K256 [=n] \textbf{[~]}\\*
Dies ermöglicht den Zugriff auf Microchip 23K256 SRAM"=Chips über SPI.
Richten Sie Ihre spi"=Geräte mit den richtigen plattenspezifischen Plattformdaten oder einer
Gerätebaumbeschreibung ein, wenn Sie eine Gerätepartitionierung angeben möchten.
\paragraph{Microchip 48L640 EERAM}$~$\\
CONFIG\_MTD\_MCHP48L640 [=n] \textbf{[~]}\\*
Dies ermöglicht den Zugriff auf Microchip 48L640 EERAM-Chips über SPI.
\paragraph{Support SST25L (non JEDEC) SPI Flash chips}$~$\\
CONFIG\_MTD\_SST25L [=n] \textbf{[~]}\\*
Dies ermöglicht den Zugriff auf die nicht-JEDEC SST25L SPI-Flash-Chips, die für die Programm- und
Datenspeicherung verwendet werden.
Richten Sie Ihre spi-Geräte mit den richtigen plattformspezifischen Daten ein, wenn Sie eine
Gerätepartitionierung festlegen möchten.
\paragraph{Uncached system RAM}$~$\\
CONFIG\_MTD\_SLRAM [=n] \textbf{[~]}\\*
Wenn Ihre CPU nicht den gesamten physischen Speicher Ihres Rechners zwischenspeichern kann, können
Sie ihn dennoch als Speicher oder Swap verwenden, indem Sie diesen Treiber verwenden, um ihn dem
System als Memory Technology Device vorzustellen.
\paragraph{Physical system RAM}$~$\\
CONFIG\_MTD\_PHRAM [=m] \textbf{[M]}\\*
Dies ist eine Neuimplementierung des obigen \texttt{slram}-Treibers.
Verwenden Sie diesen Treiber, um auf physischen Speicher zuzugreifen, auf den der Kernel selbst
keinen Zugriff hat, also auf Speicher jenseits der \texttt{mem=xxx}-Grenze, nvram, Speicher auf
der Grafikkarte usw...
\paragraph{Test driver using RAM}$~$\\
CONFIG\_MTD\_MTDRAM [=m] \textbf{[M]}\\*
Dies aktiviert einen Test"=MTD"=Gerätetreiber, der vmalloc() zur Bereitstellung von Speicher verwendet.
Sie wollen wahrscheinlich N sagen, es sei denn, Sie testen etwas.
\paragraph{MTDRAM device size in KiB}$~$\\
CONFIG\_MTDRAM\_TOTAL\_SIZE [=4096] \textbf{[4096]}\\*
Damit können Sie die Gesamtgröße des vom MTDRAM"=Treiber emulierten MTD"=Geräts konfigurieren.
Wenn der MTDRAM"=Treiber als Modul gebaut wurde, ist es auch möglich, dies als Parameter beim
Laden des Moduls anzugeben.
\paragraph{MTDRAM erase block size in KiB}$~$\\
CONFIG\_MTDRAM\_ERASE\_SIZE [=128] \textbf{[128]}\\*
Damit können Sie die Größe der Löschblöcke in dem vom MTDRAM"=Treiber emulierten Gerät konfigurieren.
Wenn der MTDRAM"=Treiber als Modul gebaut ist, ist es auch möglich, dies als Parameter beim
Laden des Moduls anzugeben.
\paragraph{MTD using block device}$~$\\
CONFIG\_MTD\_BLOCK2MTD [=m] \textbf{[M]}\\*
Mit diesem Treiber kann ein Blockgerät als MTD erscheinen. Er wird im Allgemeinen in den folgenden
Fällen verwendet:\\
Wenn Sie Compact Flash als MTD verwenden, erscheinen diese dem System normalerweise als ATA"=Laufwerk.
Testen von MTD"=Benutzern (z.~B. JFFS2) auf großen Medien und Medien, die während eines Schreibvorgangs
entfernt werden könnten (Verwendung des Diskettenlaufwerks).
\paragraph*{*** Disk-On-Chip Device Drivers ***}$~$\\
\textit{(Disk-On-Chip-Gerätetreiber)}
\paragraph{M-Systems Disk-On-Chip G3}$~$\\
CONFIG\_MTD\_DOCG3 [=n] \textbf{[~]}\\*
Dies ist ein MTD"=Gerätetreiber für die M"=Systems DiskOnChip G3"=Geräte.
Der Treiber bietet Zugriff auf G3 DiskOnChip, vertrieben von M"=Systems und jetzt Sandisk.
Die Unterstützung ist sehr experimentell und bietet keinen Zugriff auf Schreiboperationen.
\subsubsection{NAND \texorpdfstring{$\rightarrow$}{->}}
\textit{(Not AND)}
\paragraph{OneNAND Device Support ---}$~$\\
CONFIG\_MTD\_ONENAND [=n] \textbf{[~]}\\*
Dies ermöglicht die Unterstützung des Zugriffs auf alle Arten von OneNAND"=Flash"=Geräten.
\paragraph{Raw/Parallel NAND Device Support \texorpdfstring{$\rightarrow$}{->}}$~$\\
CONFIG\_MTD\_RAW\_NAND [=m] \textbf{[M]}\\*
Dies ermöglicht die Unterstützung des Zugriffs auf alle Arten von rohen/parallelen NAND"=Flash"=Geräten.
Für weitere Informationen siehe \url{http://www.linux-mtd.infradead.org/doc/nand.html}.
\subparagraph*{*** Raw/parallel NAND flash controllers ***}$~$\\
\textit{(Rohe/parallele NAND"=Flash"=Kontroller)}
\subparagraph{Denali NAND controller on Intel Moorestown}$~$\\
CONFIG\_MTD\_NAND\_DENALI\_PCI [=n] \textbf{[~]}\\*
Aktivieren Sie den Treiber für NAND"=Flash auf Intel Moorestown, unter Verwendung des
Denali NAND"=Controller"=Kerns.
\subparagraph{OLPC CAF \boldmath${\sim}$I NAND controller}$~$\\
CONFIG\_MTD\_NAND\_CAFE [=n] \textbf{[~]}\\*
Verwenden Sie NAND-Flash, das mit dem CAF $\sim$I-Chip verbunden ist, der für den OLPC"=Laptop entwickelt wurde.
\subparagraph{Macronix raw NAND controller}$~$\\
CONFIG\_MTD\_NAND\_MXIC [=n] \textbf{[~]}\\*
Damit wird der Macronix Raw-NAND"=Controller"=Treiber ausgewählt.
\subparagraph{GPIO assisted NAND controller}$~$\\
CONFIG\_MTD\_NAND\_GPIO [=n] \textbf{[~]}\\*
Dies ermöglicht einen NAND"=Flash"=Treiber, bei dem Steuersignale mit GPIO"=Pins verbunden
sind und Befehle und Daten über eine Memory"=Mapped"=Schnittstelle übertragen werden.
\subparagraph{Generic NAND controller}$~$\\
CONFIG\_MTD\_NAND\_PLATFORM [=n] \textbf{[~]}\\*
Dies implementiert einen generischen NAND"=Treiber für On-SOC"=Plattformgeräte. Sie müssen
plattformspezifische Funktionen über platform\_data bereitstellen.
\subparagraph{Support for Arasan NAND flash controller}$~$\\
CONFIG\_MTD\_NAND\_ARASAN [=n] \textbf{[~]}\\*
Aktiviert den Treiber für den Arasan NAND"=Flash"=Controller auf Zynq Ultrascale+ MPSoC.
\subparagraph*{*** Misc ***}$~$\\
\textit{(Sonstiges)}
\subparagraph{Support for NAND Flash Simulator}$~$\\
CONFIG\_MTD\_NAND\_NANDSIM [=m] \textbf{[M]}\\*
Der Simulator kann verschiedene NAND"=Flash"=Chips für die MTD"=Nand"=Schicht simulieren.
\subparagraph{Ricoh xD card reader}$~$\\
CONFIG\_MTD\_NAND\_RICOH [=n] \textbf{[~]}\\*
Unterstützung für den xD"=Kartenleser Ricoh R5C852 aktivieren.
Sie müssen auch entweder die \glqq NAND SSFDC (SmartMedia) Nur"=Lese"=Übersetzungsschicht\grqq{}
oder die neue experimentelle, schreibbare \glqq SmartMedia/xD new translation layer\grqq{} aktivieren.
\subparagraph{DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation)}$~$\\
CONFIG\_MTD\_NAND\_DISKONCHIP [=n] \textbf{[~]}\\*
Dies ist eine Neuimplementierung von M-Systems DiskOnChip 2000, Millennium und Millennium Plus
als Standard"=NAND"=Gerätetreiber, im Gegensatz zu den früheren eigenständigen MTD"=Gerätetreibern.
Dies sollte unter anderem den korrekten JFFS2"=Betrieb auf diesen Geräten ermöglichen.
\paragraph{SPI NAND device Support ---}$~$\\
CONFIG\_MTD\_SPI\_NAND [=n] \textbf{[~]}\\*
Dies ist der Grundrahmen für die SPI-NAND-Gerätetreiber.
\paragraph{ECC engine support \texorpdfstring{$\rightarrow$}{->}}$~$\\
\textit{(ECC-Motorunterstützung)}
\subparagraph{Software Hamming ECC engine}$~$\\
CONFIG\_MTD\_NAND\_ECC\_SW\_HAMMING [=y] \textbf{[Y]}\\*
Dies ermöglicht die Unterstützung der Software"=Hamming"=Fehlerkorrektur. Diese Korrektur
kann bis zu 1~Bitfehler pro Chunk korrigieren und bis zu 2~Bitfehler erkennen.
Während sie bei alten Bauteilen weit verbreitet war, erfordern neuere NAND"=Chips in der
Regel eine stärkere Korrektur und in diesem Fall wird BCH oder RS bevorzugt.
\subsubparagraph{NAND ECC Smart Media byte order}$~$\\
CONFIG\_MTD\_NAND\_ECC\_SW\_HAMMING\_SMC [=y] \textbf{[Y]}\\*
Software-ECC gemäß der Smart"=Media"=Spezifikation. Bei der ursprünglichen
Linux"=Implementierung waren Byte 0 und 1 vertauscht.
\subparagraph{Software BCH ECC engine}$~$\\
CONFIG\_MTD\_NAND\_ECC\_SW\_BCH [=y] \textbf{[Y]}\\*
Dies ermöglicht die Unterstützung der Software"=BCH"=Fehlerkorrektur. Binäre BCH"=Codes
sind leistungs"-fähiger und rechenintensiver als traditionelle Hamming"=ECC"=Codes.
Sie werden bei NAND"=Geräten verwendet, die mehr als 1~Bit Fehlerkorrektur benötigen.
\subparagraph{Macronix external hardware ECC engine}$~$\\
CONFIG\_MTD\_NAND\_ECC\_MXIC [=y] \textbf{[Y]}\\*
Dies ermöglicht die Unterstützung für die Hardware"=ECC"=Engine von Macronix.
\subsubsection{LPDDR \& LPDDR2 PCM memory drivers \texorpdfstring{$\rightarrow$}{->}}
\textit{(LPDDR \& LPDDR2 PCM-Speichertreiber)}
\paragraph{Support for LPDDR flash chips}$~$\\
CONFIG\_MTD\_LPDDR [=n] \textbf{[~]}\\*
Diese Option ermöglicht die Unterstützung von LPDDR"=Flash"=Chips (Low Power Double Data Rate).
Synonym für Mobile"=DDR. Es handelt sich um einen neuen Standard für DDR"=Speicher, der für
batterie"-betriebene Systeme gedacht ist.
\subsubsection{SPI NOR device support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_MTD\_SPI\_NOR [=m] \textbf{[M]}\\*
Dies ist der Rahmen für den SPI NOR, der von den SPI"=Gerätetreibern und dem SPI NOR"=Gerätetreiber
verwendet werden kann.
\paragraph{Use small 4096 B erase sectors}$~$\\
CONFIG\_MTD\_SPI\_NOR\_USE\_4K\_SECTORS [=y] \textbf{[Y]}\\*
Viele Flash"=Speicher unterstützen das Löschen von kleinen Sektoren ($\qty{4096}{\byte}$). Je nach
Verwendung kann diese Funktion im Vergleich zum Löschen ganzer Blöcke ($\num{32}$/$\qty{64}{\kibi\byte}$)
einen Leistungsgewinn bringen. Das Ändern eines kleinen Teils des Flash"=Inhalts ist mit kleinen
Sektoren normalerweise schneller. Andererseits sollte das Löschen schneller sein, wenn
$\qty{64}{\kibi\byte}$-Blöcke anstelle von 16~$\sim$W $\qty{4}{\kibi\byte}$-Sektoren verwendet werden.
Bitte beachten Sie, dass einige Tools/Treiber/Dateisysteme möglicherweise nicht mit einer
Löschgröße von $\qty{4096}{\byte}$ arbeiten (z.~B. UBIFS benötigt mindestens $\qty{15}{\kibi\byte}$).
\paragraph{Software write protection at boot (Disable SWP on flashes
w/ volatile protection bits) \texorpdfstring{$\rightarrow$}{->}}$~$\\
\textit{Für diese Option gibt es keine Hilfe.}
\subparagraph{Disable SWP on any flashes (legacy behavior)}$~$\\
CONFIG\_MTD\_SPI\_NOR\_SWP\_DISABLE [=n] \textbf{[~]}\\*
Mit dieser Option wird der Software"=Schreibschutz für alle SPI"=Flashes beim Booten deaktiviert.
Je nach Flash"=Chip werden dadurch entweder die Blockschutzbits gelöscht oder ein
\glqq Global Unprotect\grqq{}"=Befehl ausgeführt.
Verwenden Sie diesen Befehl nicht, wenn Sie beabsichtigen, den Software"=Schreibschutz Ihres
SPI"=Flashs zu verwenden. Dies dient nur dazu, die Abwärtskompatibilität zu erhalten.
\subparagraph{Disable SWP on flashes w/ volatile protection bits}$~$\\
CONFIG\_MTD\_SPI\_NOR\_SWP\_DISABLE\_ON\_VOLATILE [=y] \textbf{[Y]}\\*
Einige SPI"=Flash"=Geräte verfügen über flüchtige Blockschutzbits, d.~h. nach dem Einschalten oder
einem Reset ist das Flash"=Gerät standardmäßig softwaremäßig schreibgeschützt.
Mit dieser Option wird der Software"=Schreibschutz für diese Art von Flashs deaktiviert, während er
für alle anderen SPI"=Flashs, die nichtflüchtige Schreibschutzbits haben, aktiviert bleibt.
Wenn der Software"=Schreibschutz je nach Flash deaktiviert wird, werden entweder die Blockschutzbits
gelöscht oder ein \glqq Global Unprotect\grqq{}"=Befehl ausgegeben.
Wenn Sie unsicher sind, wählen Sie diese Option.
\subparagraph{Keep software write protection as is}$~$\\
CONFIG\_MTD\_SPI\_NOR\_SWP\_KEEP [=n] \textbf{[~]}\\*
Wenn Sie diese Option wählen, wird der Software"=Schreibschutz eines SPI"=Flashs nicht geändert.
Wenn Ihr Flash über einen Software"=Schreibschutz verfügt oder nach dem Einschalten automatisch
über einen Software"=Schreibschutz verfügt, müssen Sie ihn manuell entsperren,
bevor Sie darauf schreiben können.
\subsubsection{Enable UBI -- Unsorted block images \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_MTD\_UBI [=m] \textbf{[M]}\\*
UBI ist eine Softwareschicht über der MTD"=Schicht, die die Verwendung von LVM"=ähnlichen logischen Volumes
auf MTD"=Geräten zulässt, einige Komplexitäten von Flash"=Chips wie Abnutzung und fehlerhafte Blöcke
verbirgt und einige andere nützliche Funktionen bietet. Weitere Einzelheiten finden Sie auf der MTD"=Website
(\url{www.linux-mtd.infradead.org}).
\paragraph{UBI wear-leveling threshold}$~$\\
CONFIG\_MTD\_UBI\_WL\_THRESHOLD [=4096] \textbf{[4096]}\\*
Dieser Parameter legt die maximale Differenz zwischen dem höchsten Löschzählerwert und dem niedrigsten
Löschzählerwert der Löschsperren von UBI"=Geräten fest. Wenn dieser Schwellenwert überschritten wird,
beginnt das UBI mit dem Verschleißausgleich, indem es Daten von Löschblöcken mit niedrigem Löschzähler
zu Löschblöcken mit hohem Löschzähler verschiebt.
Der Standardwert sollte für SLC"=NAND"=Blitzgeräte, NOR"=Blitzgeräte und andere Blitzgeräte mit einem
Löschblock"=Lebenszyklus von \num{100000} oder mehr in Ordnung sein.
Bei MLC-NAND"=Blitzgeräten, die in der Regel eine Lebensdauer von weniger als \num{10000} haben,
sollte der Schwellenwert jedoch herabgesetzt werden (z.~B. auf 128 oder 256, obwohl er keine Potenz
von 2 sein muss).
\paragraph{Maximum expected bad eraseblock count per 1024 eraseblocks}$~$\\
CONFIG\_MTD\_UBI\_BEB\_LIMIT [=20] \textbf{[20]}\\*
Diese Option gibt an, wie viele fehlerhafte physische Eraseblocks UBI auf dem MTD"=Gerät erwartet
(pro 1024~Eraseblocks). Wenn der zugrundeliegende Flash keine schlechten Eraseblocks zulässt (z.~B. NOR-Flash),
wird dieser Wert ignoriert.
In den NAND"=Datenblättern wird oft die minimale und maximale NVM (Number of Valid Blocks) für die Lebensdauer
des Flashs angegeben. Die maximal zu erwartenden fehlerhaften Löschblöcke pro 1024~Löschblöcke können dann
berechnet werden als \glqq $1024 \cdot (1 - \mathit{MinNVB} / \mathit{MaxNVB})$\grqq{}, was für die meisten NANDs 20 ergibt
(MaxNVB ist im Grunde die Gesamtzahl der Löschblöcke auf dem Chip).
Anders ausgedrückt, wenn dieser Wert 20 ist, wird UBI versuchen, etwa $\qty{1,9}{\percent}$ der
physischen Eraseblocks für die Behandlung schlechter Blöcke zu reservieren. Und das sind
$\qty{1,9}{\percent}$ der Eraseblocks auf dem gesamten NAND"=Chip, nicht nur auf der MTD"=Partition,
die UBI zuordnet. Das bedeutet, dass, wenn Sie z.~B. einen NAND"=Flash"=Chip haben, der maximal
40~Bad Eraseblocks zulässt und auf zwei MTD"=Partitionen derselben Größe aufgeteilt ist,
UBI 40 Eraseblocks reserviert, wenn es eine Partition anhängt.
Diese Option kann durch den UBI-Modulparameter \texttt{mtd=} oder durch den ioctl \texttt{attach}
außer Kraft gesetzt werden.
Lassen Sie den Standardwert, wenn Sie unsicher sind.
\paragraph{UBI Fastmap (Experimental feature)}$~$\\
CONFIG\_MTD\_UBI\_FASTMAP [=n] \textbf{[~]}\\*
Wichtig: Diese Funktion ist bisher experimentell und das On"=Flash"=Format für Fastmap kann sich
in den nächsten Kernel"=Versionen ändern Fastmap ist ein Mechanismus, der das Anhängen eines
UBI"=Geräts in nahezu konstanter Zeit ermöglicht. Anstatt das gesamte MTD"=Gerät zu scannen,
muss nur ein Kontrollpunkt (Fastmap genannt) auf dem Gerät lokalisiert werden.
Die On"=Flash"=Fastmap enthält alle Informationen, die zum Anhängen des Geräts benötigt werden.
Die Verwendung der Fastmap ist nur bei großen Geräten sinnvoll, bei denen das Anschließen durch
Scannen lange dauert. UBI installiert nicht automatisch eine Fastmap auf alten Images, aber Sie
können den UBI"=Modulparameter fm\_autoconvert auf 1 setzen, wenn Sie dies wünschen.
Bitte beachten Sie, dass fastmap"=fähige Images auch mit UBI"=Implementierungen ohne
fastmap"=Unterstützung verwendbar sind. Auf typischen Flash"=Geräten passt die gesamte Fastmap
in ein PEB. UBI reserviert PEBs, um zwei Fastmaps zu speichern.
Im Zweifelsfall sagen Sie N.
\paragraph{MTD devices emulation driver (gluebi)}$~$\\
CONFIG\_MTD\_UBI\_GLUEBI [=n] \textbf{[~]}\\*
Diese Option aktiviert gluebi -- einen zusätzlichen Treiber, der MTD"=Geräte auf
UBI"=Volumes emuliert: für jedes UBI"=Volume wird ein MTD"=Gerät erstellt, und alle
E/A an dieses MTD"=Gerät werden auf das UBI"=Volume umgeleitet. Dies ist praktisch,
um MTD"=orientierte Software (wie JFFS2) auf UBI"=Volumes laufen zu lassen.
Aktivieren Sie dies nicht, es sei denn, Sie verwenden Legacy"=Software.
\paragraph{Read-only block devices on top of UBI volumes}$~$\\
CONFIG\_MTD\_UBI\_BLOCK [=n] \textbf{[~]}\\*
Mit dieser Option wird die Unterstützung von UBI"=Block"=Geräten mit Lesefunktion aktiviert.
UBI"=Blockgeräte werden über UBI"=Volumes gelegt, was bedeutet, dass der UBI"=Treiber Dinge
wie schlechte Eraseblocks und Bitflips transparent behandelt. Sie können jedes
blockorientierte Dateisystem auf UBI"=Volumes im Nur"=Lese"=Modus legen (z.~B. ext4), aber
es ist wahrscheinlich am praktischsten für Nur"=Lese"=Dateisysteme, wie squashfs.
Wenn diese Option ausgewählt ist, wird diese Funktion in den UBI"=Treiber integriert.
Im Zweifelsfall sagen Sie N.
\subsubsection{HyperBus support ---}
CONFIG\_MTD\_HYPERBUS [=n] \textbf{[~]}\\*
Dies ist der Rahmen für den HyperBus, der vom HyperBus"=Controller"=Treiber zur Kommunikation
mit HyperFlash verwendet werden kann. Siehe Cypress HyperBus Spezifikation für weitere Details.
\subsection{Device Tree and Open Firmware support ---}
CONFIG\_OF [=n] \textbf{[~]}\\*
Diese Option aktiviert die Gerätebaum"=Infrastruktur. Sie wird automatisch von Plattformen
ausgewählt, die sie benötigen, oder kann manuell für Unittests, Overlays oder
Compile"=Coverage aktiviert werden.
\subsection{Parallel port support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_PARPORT [=m] \textbf{[M]}\\*
Wenn Sie Geräte verwenden wollen, die an den Parallelport Ihres Rechners angeschlossen
sind (der Anschluss am Computer mit 25~Löchern), z.~B. Drucker, ZIP"=Laufwerk,
PLIP"=Link (Parallel Line Internet Protocol wird hauptsächlich verwendet, um ein
Mini"=Netzwerk zu erstellen, indem die Parallelports zweier lokaler Rechner verbunden
werden) usw., dann müssen Sie hier Y sagen; lesen Sie bitte
$<$file:Documentation/admin-guide/parport.rst$>$ und $<$file:drivers/parport/BUGS-parport$>$.
Aus"-führ"-liche Informationen über Treiber für viele Geräte, die an den Parallelport
angeschlossen werden, finden Sie unter \url{http://www.torque.net/linux-pp.html} im WWW.
Es ist möglich, eine einzige parallele Schnittstelle mit mehreren Geräten zu teilen,
und es ist sicher, alle entsprechenden Treiber in den Kernel zu kompilieren. Um die
Parallelport"=Unterstützung als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{parport} genannt.
Wenn Sie mehr als eine parallele Schnittstelle haben und beim Laden des Moduls angeben
wollen, welche Schnittstelle und welcher IRQ von diesem Treiber verwendet werden soll,
werfen Sie einen Blick auf $<$file:Documentation/admin-guide/parport.rst$>$.
Wenn Sie unsicher sind, sagen Sie Y.
\subsubsection{PC-style hardware}
CONFIG\_PARPORT\_PC [=m] \textbf{[M]}\\*
Wenn Sie einen PC-ähnlichen Parallelanschluss haben, sollten Sie hier Y eingeben.
Alle IBM-PC"=kompatiblen Computer und einige Alphas verfügen über parallele
Schnittstellen im PC"=Stil. PA-RISC"=Besitzer sollten hier nur Y angeben, wenn
sie einen SuperIO"=Parallelport haben.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul heißt dann \texttt{parport\_pc}.
Wenn Sie unsicher sind, sagen Sie Y.
\paragraph{Multi-IO cards (parallel and serial)}$~$\\
CONFIG\_PARPORT\_SERIAL [=m] \textbf{[M]}\\*
Dies fügt Unterstützung für Multi"=IO-PCI"=Karten hinzu, die parallele und
serielle Schnittstellen haben. Sie sollten hier Y oder M sagen. Wenn Sie M
sagen, wird das Modul \texttt{parport\_serial} genannt.
\paragraph{Use FIFO/DMA if available}$~$\\
CONFIG\_PARPORT\_PC\_FIFO [=y] \textbf{[Y]}\\*
Viele Chipsätze für parallele Anschlüsse bieten Hardware, die das Drucken beschleunigen
kann. Sagen Sie hier Y, wenn Sie dies nutzen wollen.
Der Kernel muss nicht nur einen FIFO oder eine DMA"=Fähigkeit haben, sondern auch wissen,
welchen IRQ die parallele Schnittstelle hat. Standardmäßig werden die Interrupts der
parallelen Schnittstelle nicht verwendet, und somit auch nicht der FIFO.\\
Siehe $<$file:Documentation/admin-guide/parport.rst$>$, um herauszufinden, wie man
festlegt, welchen IRQ/DMA man verwenden will.
\paragraph{SuperIO chipset support}$~$\\
CONFIG\_PARPORT\_PC\_SUPERIO [=y] \textbf{[Y]}\\*
Wenn man hier Y sagt, kann man einige Sonden für Super"=IO"=Chipsätze aktivieren,
um Dinge wie Basis"-adressen, IRQ"=Leitungen und DMA"=Kanäle herauszufinden.
Es ist sicher, N zu sagen.
\paragraph{Support for PCMCIA management for PC-style ports}$~$\\
CONFIG\_PARPORT\_PC\_PCMCIA [=m] \textbf{[M]}\\*
Geben Sie hier Y an, wenn Sie PCMCIA"=Unterstützung für Ihre parallelen
PC"=Anschlüsse benötigen. Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{IEEE~1284 transfer modes}
CONFIG\_PARPORT\_1284 [=y] \textbf{[Y]}\\*
Wenn Sie einen Drucker haben, der die Statusrückmeldung oder die Geräte"=ID
unterstützt, oder ein Gerät verwenden möchten, das erweiterte parallele
Anschlussübertragungsmodi wie EPP und ECP verwendet, geben Sie hier Y ein,
um erweiterte IEEE~1284-Übertragungsmodi zu aktivieren. Sagen Sie auch Y,
wenn Sie möchten, dass die Geräte"=ID"=Informationen in
\texttt{/proc/sys/dev/parport/*/autoprobe*} erscheinen.
Es ist sicher, N zu sagen.
\subsection{Plug and Play support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_PNP [=y] \textbf{[Y]}\\*
Plug and Play (PnP) ist ein Standard für Peripheriegeräte, der es ermöglicht,
diese Peripheriegeräte per Software zu konfigurieren, z.~B. IRQs oder andere
Parameter zuzuweisen. Es werden keine Jumper auf den Karten benötigt, stattdessen
werden die Werte den Karten über das BIOS, das Betriebssystem oder ein
Benutzerprogramm zugewiesen.
Geben Sie hier Y an, wenn Sie möchten, dass Linux Ihre Plug"=and"=Play"=Geräte
konfiguriert. Sie sollten dann auch bei allen folgenden Protokollen mit
Y antworten. Alternativ können Sie hier auch N angeben und Ihre PnP"=Geräte mit
Hilfe von Userspace"=Dienstprogrammen wie dem Paket isapnptools konfigurieren.
Wenn Sie unsicher sind, sagen Sie Y.
\subsubsection{PNP debugging messages}
CONFIG\_PNP\_DEBUG\_MESSAGES [=y] \textbf{[Y]}\\*
Geben Sie hier Y an, wenn Sie möchten, dass die PNP"=Schicht bei Bedarf
Debugging"=Meldungen erzeugen kann. Die Meldungen können beim Booten mit dem
Kernelparameter pnp.debug aktiviert werden.
Mit dieser Option können Sie etwas Platz sparen, wenn Sie nicht möchten, dass
die Meldungen sogar in den Kernel eingebaut werden.
Wenn Sie Zweifel daran haben, sagen Sie hier Y.
\subsubsection*{*** Protocols ***}
\textit{(Protokolle)}
\subsection{Block devices \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_BLK\_DEV [=y] \textbf{[Y]}\\*
Sagen Sie hier Y, um die Optionen für verschiedene Blockgerätetreiber zu sehen.
Diese Option allein fügt keinen Kernelcode hinzu.
Wenn Sie N sagen, werden alle Optionen in diesem Untermenü übersprungen und
deaktiviert; tun Sie dies nur, wenn Sie wissen, was Sie tun.
\subsubsection{Null test block driver}
CONFIG\_BLK\_DEV\_NULL\_BLK [=m] \textbf{[M]}\\*
\textit{Für diese Option gibt es keine Hilfe.}
\subsubsection{Normal floppy disk support}
CONFIG\_BLK\_DEV\_FD [=m] \textbf{[M]}\\*
Wenn Sie das/die Diskettenlaufwerk(e) Ihres PCs unter Linux verwenden wollen,
sagen Sie Y. Informationen über diesen Treiber, die besonders für
IBM Thinkpad"=Benutzer wichtig sind, sind in\\
$<$file:Documentation/admin-guide/blockdev/floppy.rst$>$ enthalten.
Diese Datei enthält auch den Ort der Floppy"=Treiber"=FAQ sowie den Ort
des fdutils"=Pakets, das verwendet wird, um zusätzliche Parameter des Treibers zur
Laufzeit zu konfigurieren.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{floppy} genannt.
\paragraph{Support for raw floppy disk commands (DEPRECATED)}$~$\\
CONFIG\_BLK\_DEV\_FD\_RAWCMD [=n] \textbf{[~]}\\*
Wenn Sie echte physische Disketten verwenden wollen und spezielle
Low"=Level"=Hardware"=Zugriffe auf diese durchführen wollen (z.~B. auf nicht
standardisierte Formate zugreifen und diese verwenden), dann aktivieren Sie
diese Option.\\
Beachten Sie, dass der Code, der durch diese Option aktiviert wird, selten verwendet
wird und instabil oder unsicher sein könnte, und Distros sollten ihn nicht aktivieren.\\
Hinweis: FDRAWCMD ist veraltet und wird in naher Zukunft aus dem Kernel entfernt werden.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{Block Device Driver for Micron PCIe SSDs}
CONFIG\_BLK\_DEV\_PCIESSD\_MTIP32XX [=m] \textbf{[M]}\\*
Dies aktiviert den Blocktreiber für Micron PCIe SSDs.
\subsubsection{Compressed RAM block device support}
CONFIG\_ZRAM [=m] \textbf{[M]}\\*
Erzeugt virtuelle Blockgeräte namens /dev/zramX (X = 0, 1, ...).
Die auf diese Platten geschriebenen Seiten werden komprimiert und im Speicher selbst
abgelegt. Diese Festplatten ermöglichen eine sehr schnelle E/A und die Komprimierung
führt zu einer beträchtlichen Speichereinsparung.
Es gibt mehrere Anwendungsfälle, zum Beispiel: /tmp"=Speicher, Verwendung als
Swap"=Platten und vielleicht noch viele mehr.\\
Siehe Documentation/admin-guide/blockdev/zram.rst für weitere Informationen.
\paragraph{Default zram compressor () \texorpdfstring{$\rightarrow$}{->}}$~$\\
\textit{Für diese Option gibt es keine Hilfe.}
\subparagraph{lzo-rle}$~$\\
CONFIG\_ZRAM\_DEF\_COMP\_LZORLE [=n] \textbf{[~]}\\*
\textit{Für diese Option gibt es keine Hilfe.}
\subparagraph{zstd}$~$\\
CONFIG\_ZRAM\_DEF\_COMP\_ZSTD [=y] \textbf{[Y]}\\*
\textit{Für diese Option gibt es keine Hilfe.}
\subparagraph{lz4}$~$\\
CONFIG\_ZRAM\_DEF\_COMP\_LZ4 [=n] \textbf{[~]}\\*
\textit{Für diese Option gibt es keine Hilfe.}
\subparagraph{lzo}$~$\\
CONFIG\_ZRAM\_DEF\_COMP\_LZO [=n] \textbf{[~]}\\*
\textit{Für diese Option gibt es keine Hilfe.}
\subparagraph{lz4hc}$~$\\
CONFIG\_ZRAM\_DEF\_COMP\_LZ4HC [=n] \textbf{[~]}\\*
\textit{Für diese Option gibt es keine Hilfe.}
\subparagraph{842}$~$\\
CONFIG\_ZRAM\_DEF\_COMP\_842 [=n] \textbf{[~]}\\*
\textit{Für diese Option gibt es keine Hilfe.}
\subsubsection{Write back incompressible or idle page to backing device}
CONFIG\_ZRAM\_WRITEBACK [=y] \textbf{[Y]}\\*
Bei inkompressiblen Seiten wird kein Speicherplatz gespart, um sie im Speicher zu
halten. Stattdessen wird sie auf das Sicherungsgerät geschrieben.
Für diese Funktion sollte der Administrator das Sicherungsgerät über
\texttt{/sys/block/zramX/backing\_dev} einrichten.\\
Mit \texttt{/sys/block/zramX/$\{$idle,writeback$\}$} kann die Anwendung das
Zurückschreiben der inaktiven Seite auf das Backing-Device anfordern,
um sie im Speicher zu speichern.\\
Siehe Dokumentation/admin-guide/blockdev/zram.rst für weitere Informationen.
\subsubsection{Track zRAM block status}
CONFIG\_ZRAM\_MEMORY\_TRACKING [=y] \textbf{[Y]}\\*
Mit dieser Funktion kann der Administrator den Status der zugewiesenen
zRAM"=Blöcke verfolgen. Der Administrator kann die Informationen über
/sys/kernel/debug/zram/zramX/block\_state einsehen.\\
Weitere Informationen finden Sie unter Documentation/admin-guide/blockdev/zram.rst.
\subsubsection{Enable multiple compression streams}
CONFIG\_ZRAM\_MULTI\_COMP [=y] \textbf{[Y]}\\*
Dies ermöglicht Multikompressionsströme, so dass ZRAM"=Seiten mit einem potenziell
langsameren, aber effektiveren Kompressionsalgorithmus neu komprimieren kann.\\
Beachten Sie, dass die IDLE"=Seiten"=Neukomprimierung
ZRAM\_MEMORY\_TRACKING erfordert.
\subsubsection{Loopback device support}
CONFIG\_BLK\_DEV\_LOOP [=m] \textbf{[M]}\\*
Sie können dann ein Dateisystem auf diesem Blockgerät erstellen und es genauso
einbinden, wie Sie andere Blockgeräte einbinden würden, z.~B. Festplattenpartitionen,
CD"=ROM"=Laufwerke oder Diskettenlaufwerke. Die Loop"=Geräte sind spezielle
Block"=Gerätedateien mit der Hauptnummer~7 und heißen normalerweise
\texttt{/dev/loop0}, \texttt{/dev/loop1} usw.
Dies ist nützlich, wenn Sie ein ISO"=9660"=Dateisystem überprüfen wollen, bevor Sie
die CD brennen, oder wenn Sie Diskettenabbilder verwenden wollen, ohne sie vorher
auf Diskette zu schreiben. Außerdem vermeiden einige Linux"=Distributionen die
Notwendigkeit einer eigenen Linux"=Partition, indem sie ihr komplettes
Root"=Dateisystem in einer DOS"=FAT-Datei unter Verwendung dieses
Loop"=Gerätetreibers ablegen.
Um das Loop"=Gerät zu verwenden, benötigen Sie das Dienstprogramm \texttt{losetup},
das Sie im Paket util-linux finden, siehe
\url{https://www.kernel.org/pub/linux/utils/util-linux/}.\\
Der Loop"=Device"=Treiber kann auch verwendet werden, um ein Dateisystem in einer
Partition, einer Diskette oder einer normalen Datei zu \glqq verstecken\grqq{},
entweder durch Verschlüsselung (Verwürfelung der Daten) oder durch Steganographie
(Verstecken der Daten in den niedrigen Bits z.~B. einer Sounddatei). Dies ist auch
sicher, wenn sich die Datei auf einem entfernten Dateiserver befindet.
Beachten Sie, dass dieses Loop"=Gerät nichts mit dem Loopback"=Gerät zu tun hat,
das für Netzwerkverbindungen vom Rechner zu sich selbst verwendet wird.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{loop} genannt.
Die meisten Benutzer werden hier mit N antworten.
\paragraph{Number of loop devices to pre-create at init time}$~$\\
CONFIG\_BLK\_DEV\_LOOP\_MIN\_COUNT [=0] \textbf{[0]}\\*
Statische Anzahl von Schleifengeräten, die zum Zeitpunkt der Initialisierung
unbedingt vorab erstellt werden müssen.
Dieser Standardwert kann auf der Kernel-Befehlszeile oder mit dem Modul-Parameter
\text{loop.max\_loop} überschrieben werden.
Der historische Standardwert ist 8. Wenn eine späte Version von losetup(8)
aus dem Jahr 2011 verwendet wird, kann er auf 0 gesetzt werden, da benötigte
Loop-Geräte dynamisch mit der Schnittstelle \texttt{/dev/loop-control}
zugewiesen werden können.
\subsubsection{DRBD Distributed Replicated Block Device support}
CONFIG\_BLK\_DEV\_DRBD [=m] \textbf{[M]}\\*
HINWEIS: Für die Authentifizierung von Verbindungen müssen Sie CRYPTO\_HMAC und
eine Hash"=Funktion auswählen.
DRBD ist ein gemeinsam genutztes, synchron repliziertes Blockgerät. Es wurde als
Baustein für Hochverfügbarkeitscluster entwickelt und ist in diesem Zusammenhang
ein \glqq Drop"=in\grqq{}"=Ersatz für gemeinsam genutzten Speicher. Vereinfacht
könnte man es als ein Netzwerk"=RAID\,1 betrachten.\\
Jedes untergeordnete Gerät hat eine Rolle, die \glqq primär\grqq{} oder
\glqq sekundär\grqq{} sein kann. Auf dem Knoten mit dem primären Gerät soll die
Anwendung laufen und auf das Gerät (/dev/drbdX) zugreifen. Jeder Schreibvorgang
wird an das lokale \glqq Lower Level Block Device\grqq{}
\textit{(Blockgerät der unteren Ebene)} und über das Netz an den Knoten mit dem
Gerät im \glqq sekundären\glqq{} Zustand gesendet. Das sekundäre Gerät schreibt
die Daten einfach in sein untergeordnetes Blockgerät.\\
DRBD kann auch im Dual"=Primary"=Modus verwendet werden (Gerät auf beiden Knoten
beschreibbar), was bedeutet, dass es in einem Shared"=Nothing"=Cluster die
Semantik einer gemeinsamen Festplatte aufweisen kann. Natürlich muss zusätzlich
zu Dual"=Primary DRBD ein Cluster"=Dateisystem verwendet werden, um die
Cache"=Kohärenz zu gewährleisten.\\
Für ein automatisches Failover benötigen Sie einen Clustermanager (z.~B. Heartbeat).\\
Siehe auch: \url{https://www.drbd.org/}, \url{http://www.linux-ha.org}\\
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{DRBD fault injection}$~$\\
CONFIG\_DRBD\_FAULT\_INJECTION [=n] \textbf{[~]}\\*
Sagen Sie hier Y, wenn Sie IO-Fehler simulieren wollen, um das Verhalten von
DRBD zu testen.
Die eigentliche Simulation von IO"=Fehlern erfolgt durch das Schreiben von
3~Werten in:\\[0.5em]
\texttt{/sys/module/drbd/parameters/}\\[0.5em]
enable\_faults: Bitmaske von...\\
\begin{tabular}[h]{rll}
1 & Metadaten&schreiben (meta data write)\\
2&&lesen (meta data read)\\
4 & Resync-Daten&schreiben\\
8&&lesen\\
16 & \multicolumn{2}{l}{Daten schreiben}\\
32 & \multicolumn{2}{l}{Daten lesen}\\
64& \multicolumn{2}{l}{Lesen im Voraus}\\
128& \multicolumn{2}{l}{kmalloc der Bitmap}\\
256& \multicolumn{2}{l}{Zuweisung von Peer"=Anfragen}\\
512& \multicolumn{2}{l}{insert data corruption auf der Empfangsseite}
\end{tabular}\\[0.5em]
fault\_devs: Bitmaske der Nebennummern
fault\_rate: Häufigkeit in Prozent\\[0.5em]
Beispiel:\\
Simulieren Sie Datenschreibfehler auf \texttt{/dev/drbd0} mit einer
Wahrscheinlichkeit von $\qty{5}{\percent}$.\\
\texttt{
echo 16 $>$ /sys/module/drbd/parameters/enable\_faults\\
echo 1 $>$ /sys/module/drbd/parameters/fault\_devs\\
echo 5 $>$ /sys/module/drbd/parameter/fault\_rate}\\[0.5em]
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{Network block device support}
CONFIG\_BLK\_DEV\_NBD [=m] \textbf{[M]}\\*
Wenn Sie hier Y angeben, kann Ihr Computer als Client für Netzwerk"=Blockgeräte
fungieren, d.~h. er kann von Servern exportierte Blockgeräte verwenden
(Dateisysteme einhängen usw.). Die Kommunikation zwischen Client und Server läuft
über das TCP/IP"=Netzwerk, aber für das Client"=Programm ist dies verborgen: es
sieht aus wie ein normaler lokaler Dateizugriff auf eine spezielle
Blockgeräte"=Datei wie \texttt{/dev/nd0}.
Netzwerk"=Blockgeräte erlauben es auch, ein Blockgerät im Userland laufen zu lassen (so dass Server und Client physisch
derselbe Computer sind, der über das Loopback-Netzwerkgerät kommuniziert).
Lesen Sie $<$file:Documentation/admin-guide/blockdev/nbd.rst$>$ für weitere Informationen, insbesondere darüber, wo Sie
den Server"=Code finden, der im Userspace läuft und keine spezielle Kernel"=Unterstützung benötigt.
Beachten Sie, dass dies nichts mit den Netzwerk"=Dateisystemen NFS oder Coda zu tun hat; Sie können hier N sagen,
auch wenn Sie beabsichtigen, NFS oder Coda zu verwenden.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{nbd} heißen.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{RAM block device support}
CONFIG\_BLK\_DEV\_RAM [=m] \textbf{[M]}\\*
Wenn Sie hier Y sagen, können Sie einen Teil Ihres RAM"=Speichers als Blockgerät verwenden, so dass Sie darauf Dateisysteme
anlegen, lesen und schreiben und all die anderen Dinge tun können, die Sie mit normalen Blockgeräten (wie Festplatten) tun
können. Normalerweise wird er verwendet, um bei der Erstinstallation von Linux eine Kopie eines minimalen Root"=Dateisystems
von einer Diskette in den RAM zu laden und zu speichern.\\
Beachten Sie, dass die Kernel-Befehlszeilenoption \texttt{ramdisk=XX} jetzt veraltet ist. Für Details lesen Sie bitte
$<$file:Documentation/admin-guide/blockdev/ramdisk.rst$>$.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{brd} genannt.
Aus historischen Gründen wurde ein Alias \texttt{rd} definiert.
Die meisten normalen Benutzer werden die RAM"=Disk"=Funktionalität nicht benötigen und können daher hier N angeben.
\paragraph{Default number of RAM disk}$~$\\
CONFIG\_BLK\_DEV\_RAM\_COUNT [=16] \textbf{[16]}\\*
Der Standardwert ist 16~RAM"=Disks. Ändern Sie diesen Wert, wenn Sie wissen, was Sie tun. Wenn Sie von einem
Dateisystem booten, das im Speicher extrahiert werden muss, benötigen Sie mindestens eine RAM"=Disk
(z.~B. root auf cramfs).
\paragraph{Default RAM disk size (kbytes)}$~$\\
CONFIG\_BLK\_DEV\_RAM\_SIZE [=16384] \textbf{[16384]}\\*
Der Standardwert ist \qty{4096}{\kilo\byte}. Ändern Sie diesen Wert nur, wenn Sie wissen, was Sie tun.
\subsubsection{Packet writing on CD/DVD media (DEPRECATED)}
CONFIG\_CDROM\_PKTCDVD [=m] \textbf{[M]}\\*
Hinweis: Dieser Treiber ist veraltet und wird in naher Zukunft aus dem Kernel entfernt werden!
Wenn Sie ein CDROM/DVD"=Laufwerk haben, das Packet Writing unterstützt, sagen Sie Y, um die Unterstützung
einzuschließen. Er sollte mit jedem MMC/Mt Fuji kompatiblen ATAPI- oder SCSI"=Laufwerk funktionieren,
also mit fast jedem neueren DVD/CD"=Brenner.
Derzeit ist nur das Schreiben auf CD-RW, DVD-RW, DVD+RW und DVDRAM möglich.
DVD"=RW"=Disks müssen sich im eingeschränkten Überschreibmodus befinden.
In der Datei $<$file:Documentation/cdrom/packet-writing.rst$>$ finden Sie weitere Informationen über die
Verwendung dieses Treibers.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul heißt dann \texttt{pktcdvd}.
\paragraph{Free buffers for data gathering}$~$\\
CONFIG\_CDROM\_PKTCDVD\_BUFFERS [=8] \textbf{[8]}\\*
Hiermit wird die maximale Anzahl aktiver, gleichzeitiger Pakete festgelegt. Mehr gleichzeitige Pakete
können die Schreibleistung erhöhen, erfordern aber auch mehr Speicher. Jedes gleichzeitige Paket
benötigt ca. \qty{64}{\kilo\byte} nicht austauschbaren Kernel-Speicher, der zugewiesen wird,
wenn eine Disc zum Schreiben geöffnet wird.
\paragraph{Enable write caching}$~$\\
CONFIG\_CDROM\_PKTCDVD\_WCACHE [=n] \textbf{[~]}\\*
Wenn diese Option aktiviert ist, wird das Schreibcaching für das CD-R/W"=Gerät eingerichtet.
Im Moment ist diese Option gefährlich, es sei denn, das CD-RW"=Medium ist bekanntermaßen gut,
da wir noch keine verzögerte Schreibfehlerbehandlung durchführen.
\subsubsection{ATA over Ethernet support}
CONFIG\_ATA\_OVER\_ETH [=m] \textbf{[M]}\\*
Dieser Treiber bietet Unterstützung für ATA-over-Ethernet-Blockgeräte wie das
Coraid EtherDrive (R) Storage Blade.
\subsubsection{Xen virtual block device support}
CONFIG\_XEN\_BLKDEV\_FRONTEND [=m] \textbf{[M]}\\*
Dieser Treiber implementiert das Front-End des Xen Virtual Block
Device"=Treibers. Er kommuniziert mit einem Back"=End"=Treiber in einer
anderen Domäne, der das eigentliche Blockgerät ansteuert.
\subsubsection{Xen block-device backend device}
CONFIG\_XEN\_BLKDEV\_BACKEND [=m] \textbf{[M]}\\*
Der Blockgeräte-Backend-Treiber ermöglicht es dem Kernel, seine Blockgeräte über
eine leistungsstarke Shared"=Memory"=Schnittstelle an andere Gäste zu exportieren.
Der entsprechende Linux"=Frontend"=Treiber wird durch die Konfigurationsoption
CONFIG\_XEN\_BLKDEV\_FRONTEND aktiviert.
Der Backend"=Treiber verbindet sich mit einem beliebigen Blockgerät, das in der
XenBus"=Konfiguration angegeben ist. Es gibt keine Einschränkungen für das
Blockgerät, solange es einen Major und Minor hat.
Wenn Sie einen Kernel kompilieren, der in einer Xen"=Block"=Backend"=Treiber"=Domäne
ausgeführt werden soll (häufig ist dies Domäne 0), sollten Sie hier Y angeben.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird xen"=blkback heißen.
\subsubsection{Virtio block driver}
CONFIG\_VIRTIO\_BLK [=m] \textbf{[M]}\\*
Dies ist der virtuelle Blocktreiber für virtio. Er kann mit QEMU"=basierten VMMs
(wie KVM oder Xen) verwendet werden. Sagen Sie Y oder M.
\subsubsection{Rados block device (RBD)}
CONFIG\_BLK\_DEV\_RBD [=m] \textbf{[M]}\\*
Geben Sie hier Y an, wenn Sie das Rados"=Blockgerät einbeziehen möchten, das
ein Blockgerät über Objekte streift, die im verteilten Objektspeicher von
Ceph gespeichert sind.
Weitere Informationen finden Sie unter \url{http://ceph.newdream.net/}.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{Userspace block driver (Experimental)}
CONFIG\_BLK\_DEV\_UBLK [=m] \textbf{[M]}\\*
\texttt{io\_uring}-basierter Userspace-Blocktreiber. Zusammen mit dem ublk-Server hat ublk gut funktioniert,
aber die Schnittstelle mit dem Userspace oder die Definition der Befehlsdaten ist noch nicht abgeschlossen und
könnte sich entsprechend den zukünftigen Anforderungen ändern, daher ist die Markierung jetzt experimentell.
Sagen Sie Y, wenn Sie eine bessere Leistung erhalten wollen, weil task\_work\_add() im IO"=Pfad verwendet werden
kann, um io\_uring cmd zu ersetzen, das zwischen IO"=Tasks und ubq"=Daemon geteilt wird, in der Zwischenzeit
kann task\_work\_add() Batch effektiver handhaben, aber task\_work\_add() wird nicht für Module exportiert,
also muss ublk in den Kernel eingebaut werden.
\paragraph{Support legacy command opcode}$~$\\
CONFIG\_BLKDEV\_UBLK\_LEGACY\_OPCODES [=y] \textbf{[Y]}\\*
ublk-Treiber begonnen, einfache Befehlskodierung zu verwenden, was sich als ein schlechter Weg herausstellt.
Der traditionelle ioctl"=Befehls"=Opcode kodiert mehr Informationen und definiert im Grunde jeden Code eindeutig,
so dass Opcode"=Konflikte vermieden werden und der Treiber falsche Befehle leicht behandeln kann, währenddessen
kann es dem Sicherheitssubsystem helfen, io\_uring-Befehle zu überprüfen.
Sagen Sie Y, wenn Ihre Anwendung immer noch den Opcode des alten Befehls verwendet. Sagen Sie N, wenn Sie den
Legacy"=Befehlsopcode nicht unterstützen wollen. Es wird empfohlen, N zu aktivieren, wenn Ihre Anwendung
(ublk server) auf ioctl command encoding umschaltet.
\subsubsection{RDMA Network Block Device driver client}
CONFIG\_BLK\_DEV\_RNBD\_CLIENT [=m] \textbf{[M]}\\*
Der RNBD-Client ist ein Netzwerkblock"=Gerätetreiber, der den RDMA"=Transport verwendet. Der RNBD"=Client
ermöglicht das Mapping eines entfernten Blockgeräts über das RTRS"=Protokoll von einem Zielsystem aus,
auf dem der RNBD"=Server läuft.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{RDMA Network Block Device driver server}
CONFIG\_BLK\_DEV\_RNBD\_SERVER [=m] \textbf{[M]}\\*
RNBD-Server ist die Serverseite von RNBD unter Verwendung von RDMA"=Transport. Der RNBD-Server ermöglicht
den Export lokaler Blockgeräte an einen entfernten Client über das RTRS"=Protokoll.
Wenn Sie unsicher sind, sagen Sie N.
\subsection{NVME Support \texorpdfstring{$\rightarrow$}{->}}
\textit{(NVME-Unterstützung, Nonvolatile Memory Express, nicht-flüchtiger Speicher-Schnellzugriff)}
\subsubsection{NVM Express block device}
CONFIG\_BLK\_DEV\_NVME [=m] \textbf{[M]}\\*
Der NVM Express"=Treiber ist für Solid State Drives gedacht, die direkt an den PCI- oder PCI Express"=Bus
angeschlossen sind. Wenn Sie wissen, dass Sie keines dieser Laufwerke besitzen, können Sie mit N antworten.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{nvme} heißen.
\subsubsection{NVMe multipath support}
CONFIG\_NVME\_MULTIPATH [=m] \textbf{[M]}\\*
Diese Option aktiviert die Unterstützung für den Multipath"=Zugriff auf NVMe"=Subsysteme.
Wenn diese Option aktiviert ist, wird nur ein einziges Gerät für jeden NVMe"=Namensraum angezeigt, auch
wenn es über mehrere Controller zugänglich ist.
\subsubsection{NVMe verbose error reporting}
CONFIG\_NVME\_VERBOSE\_ERRORS [=y] \textbf{[Y]}\\*
Diese Option aktiviert die ausführliche Berichterstattung für NVMe-Fehler. Die Fehlerübersetzungstabelle
erhöht die Größe des Kernel"=Images um etwa $\qty{4}{\kilo\byte}$.
\subsubsection{NVMe hardware monitoring}
CONFIG\_NVME\_HWMON [=y] \textbf{[Y]}\\*
Dies bietet Unterstützung für die NVMe"=Hardwareüberwachung. Wenn sie aktiviert ist, wird für jedes NVMe"=Laufwerk
im System ein Hardwareüberwachungsgerät erstellt.
\subsubsection{NVM Express over Fabrics RDMA host driver}
CONFIG\_NVME\_RDMA [=m] \textbf{[M]}\\*
Dies bietet Unterstützung für das NVMe-over-Fabrics"=Protokoll unter Verwendung des RDMA"=Transports
(Infiniband, RoCE, iWarp). Dies ermöglicht die Verwendung von Remote"=Blockgeräten, die mit dem
\mbox{NVMe}"=Protokollsatz exportiert werden. Zur Konfiguration eines NVMe-over"=Fabrics"=Controllers verwenden
Sie das Tool \texttt{nvme-cli} von \url{https://github.com/linux-nvme/nvme-cli}.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{NVM Express over Fabrics FC host driver}
CONFIG\_NVME\_FC [=m] \textbf{[M]}\\*
Dies bietet Unterstützung für das NVMe-over"=Fabrics"=Protokoll unter Verwendung des FC"=Transports.
Dadurch können Sie entfernte Blockgeräte verwenden, die mit dem NVMe"=Protokollsatz exportiert werden.
Um einen NVMe over Fabrics"=Controller zu konfigurieren, verwenden Sie das Tool nvme"=cli
von \url{https://github.com/linux-nvme/nvme-cli}.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{NVM Express over Fabrics TCP host driver}
CONFIG\_NVME\_TCP [=m] \textbf{[M]}\\*
Dies bietet Unterstützung für das NVMe-over"=Fabrics"=Protokoll unter Verwendung des TCP"=Transports.
Dadurch können Sie Remote"=Blockgeräte verwenden, die mit dem NVMe"=Protokollsatz exportiert werden.
Um einen NVMe over Fabrics"=Controller zu konfigurieren, verwenden Sie das Tool nvme-cli
von \url{https://github.com/linux-nvme/nvme-cli}.
Wenn Sie unsicher sind, sagen Sie N.
%15.16.7.1
\paragraph{NVMe over Fabrics TCP TLS encryption support}
CONFIG\_NVME\_TCP\_TLS [=y] \textbf{[Y]}\\*
Aktiviert die TLS-Verschlüsselung für NVMe"=TCP unter Verwendung der Netlink Handshake API.
Der TLS"=Handshake"=Daemon ist unter \url{https://github.com/oracle/ktls-utils} zu finden.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{NVMe over Fabrics In-Band Authentication in host side}
CONFIG\_NVME\_HOST\_AUTH [=y] \textbf{[Y]}\\*
Dies bietet Unterstützung für NVMe over Fabrics In-Band"=Authentifizierung auf der Host"=Seite.
Wenn Sie unsicher sind, sagen Sie N.
\subsubsection{NVMe Target support}
CONFIG\_NVME\_TARGET [=m] \textbf{[M]}\\*
Dies ermöglichte die zielseitige Unterstützung des NVMe"=Protokolls, d.~h. es erlaubt dem Linux"=Kernel,
NVMe"=Subsysteme und -Controller zu implementieren und Linux"=Blockgeräte als NVMe"=Namensräume zu exportieren.
Sie müssen mindestens einen der folgenden Transporte auswählen, um diese Funktion nutzen zu können.
Zur Konfiguration des NVMe"=Ziels möchten Sie wahrscheinlich das Tool \texttt{nvmetcli}
von \url{http://git.infradead.org/users/hch/nvmetcli.git} verwenden.
\paragraph{NVMe Target Passthrough support}$~$\\
CONFIG\_NVME\_TARGET\_PASSTHRU [=y] \textbf{[Y]}\\*
Dies ermöglicht die Unterstützung von zielseitigen NVMe"=Passthru"=Controllern für das
NVMe"=Over"=Fabrics"=Protokoll. Es ermöglicht Hosts die Verwaltung und den direkten Zugriff auf
einen tatsächlichen NVMe"=Controller auf der Zielseite, einschließlich der Ausführung von Vendor Unique Commands.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{NVMe loopback device support}$~$\\
CONFIG\_NVME\_TARGET\_LOOP [=m] \textbf{[M]}\\*
Damit wird die Unterstützung für NVMe"=Loopback"=Geräte aktiviert, die für das Testen von
NVMe"=Funktionen auf der Host- und Zielseite nützlich sein können.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{NVMe over Fabrics RDMA target support}$~$\\
CONFIG\_NVME\_TARGET\_RDMA [=m] \textbf{[M]}\\*
Dies aktiviert die NVMe-RDMA"=Zielunterstützung, die den Export von NVMe"=Geräten über RDMA ermöglicht.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{NVMe over Fabrics FC target driver}$~$\\
CONFIG\_NVME\_TARGET\_FC [=m] \textbf{[M]}\\*
Dadurch wird die Unterstützung für NVMe-FC"=Ziele aktiviert, was den Export von NVMe"=Geräten
über FC ermöglicht.
Wenn Sie unsicher sind, sagen Sie N.
\subparagraph{NVMe over Fabrics FC Transport Loopback Test driver}$~$\\
CONFIG\_NVME\_TARGET\_FCLOOP [=m] \textbf{[M]}\\*
Dies ermöglicht die Unterstützung des NVMe-FC"=Loopback"=Tests, der für den Test von
NVMe-FC"=Transportschnittstellen nützlich sein kann.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{NVMe over Fabrics TCP target support}$~$\\
CONFIG\_NVME\_TARGET\_TCP [=m] \textbf{[M]}\\*
Dies aktiviert die NVMe-TCP"=Zielunterstützung, die den Export von NVMe"=Geräten
über TCP er"-mög"-licht.
Wenn Sie unsicher sind, sagen Sie N.
\subparagraph{NVMe over Fabrics TCP target TLS encryption support}$~$\\
CONFIG\_NVME\_TARGET\_TCP\_TLS [=y] \textbf{[Y]}\\*
Aktiviert die TLS"=Verschlüsselung für das NVMe-TCP"=Ziel unter Verwendung der Netlink Handshake API.
Der TLS"=Handshake"=Daemon ist unter \url{https://github.com/oracle/ktls-utils} verfügbar.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{NVMe over Fabrics In-band Authentication in target side}$~$\\
CONFIG\_NVME\_TARGET\_AUTH [=y] \textbf{[Y]}\\*
Dies ermöglicht die Unterstützung von NVMe over Fabrics In-Band"=Authentifizierung auf der Zielseite.
Wenn Sie unsicher sind, sagen Sie N.
\subsection{Misc devices \texorpdfstring{$\rightarrow$}{->}}
\textit{(Sonstige Geräte)}
\subsubsection{Analog Devices Digital Potentiometers}
CONFIG\_AD525X\_DPOT \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Wenn Sie hier Ja (Y) sagen, erhalten Sie Unterstützung für die Analog Devices AD5258, AD5259, AD5251,
AD5252, AD5253, AD5254, AD5255, AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203, AD5204, AD5206,
AD5207, AD5231, AD5232, AD5233, AD5235, AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293, AD7376,
AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242, AD5243, AD5245, AD5246, AD5247, AD5248, AD5280,
AD5282, ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270, AD5271, AD5272, AD5274
digitale Potentiometerchips.\\
Siehe Documentation/misc-devices/ad525x\_dpot.rst für die Userspace"=Schnittstelle.
Dieser Treiber kann auch als Modul erstellt werden. In diesem Fall wird das Modul \texttt{ad525x\_dpot}
genannt.
\paragraph{support I2C bus connection}$~$\\
CONFIG\_AD525X\_DPOT\_I2C \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie ein digitales Potentiometer an einen I2C-Bus angeschlossen haben.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul heißt dann
\texttt{ad525x\_dpot-i2c}.
\paragraph{support SPI bus connection}$~$\\
CONFIG\_AD525X\_DPOT\_SPI \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie ein digitales Potentiometer an einen SPI-Bus angeschlossen haben.
Wenn Sie unsicher sind, sagen Sie N (aber es ist sicher, Y zu sagen).
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul heißt dann \texttt{ad525x\_dpot-spi}.
\subsubsection{Dummy IRQ handler}
CONFIG\_DUMMY\_IRQ [=n] \textbf{[~]}\\*
Dieses Modul akzeptiert einen einzigen \glqq irq\grqq{}"=Parameter, für den es sich registrieren
sollte. Der einzige Zweck dieses Moduls ist es, bei der Fehlersuche in Systemen zu helfen, bei
denen es bei deaktiviertem IRQ"=Vektor zu falschen IRQs kommen würde.
\subsubsection{Device driver for IBM RSA service processor}
CONFIG\_IBM\_ASM \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option aktiviert die Gerätetreiberunterstützung für den In-Band-Zugriff auf den IBM RSA
(Condor) Serviceprozessor in eServer xSeries"=Systemen. Der ibmasm"=Gerätetreiber ermöglicht der
Userspace"=Anwendung den Zugriff auf ASM"=Funktionen (Advanced Systems Management) auf dem
Serviceprozessor. Der Treiber ist für die Verwendung in Verbindung mit einer Userspace"=API gedacht.
Der ibmasm"=Treiber ermöglicht es dem Betriebssystem auch, die UART auf der Serviceprozessorplatine
als reguläre serielle Schnittstelle zu verwenden. Um diese Funktion zu nutzen, muss die Unterstützung
des seriellen Treibers (CONFIG\_SERIAL\_8250) aktiviert sein.\\
WARNUNG: Diese Software wird auf Ihrem IBM"=Server möglicherweise nicht unterstützt oder funktioniert
nicht korrekt. Bitte konsultieren Sie die IBM ServerProven-Website
\url{https://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/}, um Informationen über
den spezifischen Treiberlevel und die Support"=Erklärung für Ihren IBM"=Server zu erhalten.
\subsubsection{Sensable PHANToM (PCI)}
CONFIG\_PHANTOM \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie einen Treiber für Sensable PHANToM"=Geräte erstellen wollen.
Dieser Treiber ist nur für PCI PHANToMs.
Wenn Sie sich entscheiden, ein Modul zu bauen, wird sein Name \texttt{phantom} sein.
Wenn Sie unsicher sind, geben Sie hier N an.
\subsubsection{TI Flash Media interface support}
CONFIG\_TIFM\_CORE \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Wenn Sie Unterstützung für Texas Instruments(R) Flash Media"=Adapter wünschen,
sollten Sie diese Option auswählen und dann auch einen entsprechenden Host"=Adapter
wählen, wie z.~B. \glqq TI Flash Media PCI74xx/PCI76xx host adapter support\grqq{},
wenn Sie z.~B. einen TI PCI74xx"=kompatiblen Kartenleser haben.
Sie müssen auch einige Treiber für das Flash"=Kartenformat auswählen.
MMC/SD"=Karten werden über \glq MMC/SD Card support unterstützt:
TI Flash Media MMC/SD Interface support (MMC\_TIFM\_SD)\grq{}.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul heißt dann \texttt{tifm\_core}.
\subsubsection{TI Flash Media interface support}
CONFIG\_TIFM\_CORE \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option ermöglicht die Unterstützung der Texas Instruments(R) PCI74xx- und
PCI76xx"=Familien von Flash Media Adaptern, die in vielen Laptops zu finden sind.
Um das Gerät tatsächlich nutzen zu können, müssen Sie einige
Flashkarten"=Format"=Treiber auswählen, wie in der TIFM\_CORE"=Hilfe beschrieben.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird
\texttt{tifm\_7xx1} heißen.
\paragraph{TI Flash Media PCI74xx/PCI76xx host adapter support}$~$\\
CONFIG\_TIFM\_7XX1 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option ermöglicht die Unterstützung der Texas Instruments(R) PCI74xx- und
PCI76xx"=Familien von Flash Media Adaptern, die in vielen Laptops zu finden sind.
Um das Gerät tatsächlich nutzen zu können, müssen Sie einige Treiber für das
Flashkartenformat auswählen, wie in der TIFM\_CORE"=Hilfe beschrieben.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{tifm\_7xx1} heißen.
\subsubsection{Integrated Circuits ICS932S401}
CONFIG\_ICS932S401 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Wenn Sie dies bejahen, erhalten Sie Unterstützung für die Integrated Circuits
ICS932S401 Clock Control Chips.
Dieser Treiber kann auch als Modul gebaut werden. Wenn ja, wird das Modul
\texttt{ics932s401} genannt.
\subsubsection{Enclosure Services}
CONFIG\_ENCLOSURE\_SERVICES \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Bietet Unterstützung für intelligente Gehäuse (Schächte, die Speichergeräte enthalten).
Außerdem be"-nö"-ti"-gen Sie entweder einen Host"=Treiber (SCSI/ATA), der Enclosures
unterstützt, oder ein SCSI Enclosure Device (SES), um diese Dienste zu nutzen.
\subsubsection{Ampere Computing SMPro error monitor driver}
CONFIG\_SMPRO\_ERRMON \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, um Unterstützung für die SMpro"=Fehlerüberwachungsfunktion zu erhalten,
die von den SoCs Altra und Altra Max von Ampere Computing bereitgestellt wird. Beim
Laden erstellt der Treiber sysfs"=Dateien, die zum Sammeln mehrerer HW"=Fehlerdaten
verwendet werden können, die über Lese- und Schreibsystemaufrufe gemeldet werden.
Um diesen Treiber als Modul zu kompilieren, sagen Sie hier M.
Der Treiber heißt dann \texttt{smpro-errmon}.
\subsubsection{Ampere Computing SMPro miscellaneous driver}
CONFIG\_SMPRO\_MISC \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, um Unterstützung für die SMpro"=Fehlermischungsfunktion zu erhalten,
die von den SoCs Altra und Altra Max von Ampere Computing bereitgestellt wird.
Um diesen Treiber als Modul zu kompilieren, sagen Sie hier M.
Der Treiber wird \texttt{smpro-misc} genannt.
\\\begin{scriptsize}
Im Notebook kommt kein ALS (Umgebungslichtsensor) zur Anwendung.
\end{scriptsize}
\subsubsection{Channel interface driver for the HP iLO processor}
CONFIG\_HP\_ILO \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Der Kanalschnittstellentreiber ermöglicht Anwendungen die Kommunikation mit
iLO"=Verwaltungsprozessoren auf HP ProLiant"=Servern.
Beim Laden erstellt der Treiber \texttt{/dev/hpilo/dXccbN}"=Dateien, die über Lese- und
Schreibsystemaufrufe zum Sammeln von Daten vom Verwaltungsprozessor verwendet werden können.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul heißt dann \texttt{hpilo}.
\\\begin{scriptsize}
Das Notebook ist kein HP-Server.
\end{scriptsize}
\subsubsection{Medfield Avage APDS9802 ALS Sensor module}
CONFIG\_APDS9802ALS \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Wenn Sie hier Ja sagen, erhalten Sie Unterstützung für den Umgebungslichtsensor ALS APDS9802.
Dieser Treiber kann auch als Modul gebaut werden.
Wenn ja, wird das Modul \texttt{apds9802als} genannt.
\\\begin{scriptsize}
Im Notebook kommt kein ALS (Umgebungslichtsensor) zur Anwendung.
\end{scriptsize}
\subsubsection{Intersil ISL29003 ambient light sensor}
CONFIG\_ISL29003 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Wenn Sie hier ja sagen, erhalten Sie Unterstützung für den Intersil ISL29003
Umgebungslichtsensor.
Dieser Treiber kann auch als Modul gebaut werden.
Wenn ja, wird das Modul \texttt{isl29003} genannt.
\\\begin{scriptsize}
Im Notebook kommt kein ALS (Umgebungslichtsensor) zur Anwendung.
\end{scriptsize}
\subsubsection{Intersil ISL29020 ambient light sensor}
CONFIG\_ISL29020 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Wenn Sie hier ja sagen, erhalten Sie Unterstützung für den Intersil ISL29020
Umgebungslichtsensor.
Dieser Treiber kann auch als Modul gebaut werden.
Wenn ja, wird das Modul \texttt{isl29020} genannt.
\\\begin{scriptsize}
Im Notebook kommt kein ALS (Umgebungslichtsensor) zur Anwendung.
\end{scriptsize}
\subsubsection{Taos TSL2550 ambient light sensor}
CONFIG\_SENSORS\_TSL2550 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Wenn Sie hier ja sagen, erhalten Sie Unterstützung für den Taos TSL2550
Umgebungslichtsensor.
Dieser Treiber kann auch als Modul gebaut werden.
Wenn ja, wird das Modul \texttt{tsl2550} genannt.
\\\begin{scriptsize}
Im Notebook kommt kein ALS (Umgebungslichtsensor) zur Anwendung.
\end{scriptsize}
\subsubsection{BH1770GLC / SFH7770 combined ALS -- Proximity sensor}
CONFIG\_SENSORS\_BH1770 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie einen Treiber für den BH1770GLC (ROHM) oder den SFH7770 (Osram), einen
kombinierten Umgebungslicht- und Näherungssensor"=Chip, bauen wollen.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{bh1770glc} heißen. Wenn Sie unsicher sind, geben Sie hier N an.
\\\begin{scriptsize}
Im Notebook kommt kein ALS (Umgebungslichtsensor) zur Anwendung.
\end{scriptsize}
\subsubsection{APDS990X combined als and proximity sensors}
CONFIG\_SENSORS\_APDS990X \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Sagen Sie hier Y, wenn Sie einen Treiber für den kombinierten Umgebungslicht- und Näherungssensorchip
APDS990x von Avago bauen wollen.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{apds990x} heißen. Wenn Sie unsicher sind, geben Sie hier N an.
\\\begin{scriptsize}
Im Notebook kommt kein ALS (Umgebungslichtsensor) zur Anwendung.
\end{scriptsize}
\subsubsection{Honeywell HMC6352 compass}
CONFIG\_HMC6352 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Dieser Treiber bietet Unterstützung für den Honeywell HMC6352"=Kompass und stellt Konfigurations-
und Kursdaten über sysfs bereit.
\\\begin{scriptsize}
Im Notebook ist kein elektronischer Kompass verbaut.
\end{scriptsize}
%15.17.19
\subsubsection{Dallas DS1682 Total Elapsed Time Recorder with Alarm}
CONFIG\_DS1682 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Wenn Sie hier ja sagen, erhalten Sie Unterstützung für Dallas Semiconductor DS1682 Total Elapsed Time Recorder.
Dieser Treiber kann auch als Modul gebaut werden. Wenn ja, wird das Modul \texttt{ds1682} genannt.
\\\begin{scriptsize}
Im Notebook ist kein Zeit-Aufzeichner DS1682 verbaut.
\end{scriptsize}
\subsubsection{VMware Balloon Driver}
CONFIG\_VMWARE\_BALLOON \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Es handelt sich um einen VMware"=Treiber für die Verwaltung des physischen Speichers, der wie ein
\glqq Ballon\grqq{} wirkt, der aufgeblasen werden kann, um physische Seiten zurückzufordern, indem er sie
im Gast reserviert und im Monitor ungültig macht, wodurch die zugrunde liegenden Maschinenseiten freigegeben
werden, damit sie anderen Gästen zugewiesen werden können. Der Ballon kann auch wieder entleert werden,
damit der Gast mehr physischen Speicher verwenden kann.
Wenn Sie unsicher sind, sagen Sie N.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul heißt dann \texttt{vmw\_balloon}.
\\\begin{scriptsize}
Wir verwenden keine VMware sondern manchmal VirtualBox.
\end{scriptsize}
\subsubsection{Lattice ECP3 FPGA bitstream configuration via SPI}
CONFIG\_VMWARE\_BALLOON \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option ermöglicht die Unterstützung der Bitstream"=Konfiguration (Programmieren oder Laden) der
Lattice ECP3 FPGA Familie über SPI.
Wenn Sie unsicher sind, sagen Sie N.
\\\begin{scriptsize}
Im Notebook ist kein FPGA (field programmable gate array) verbaut.
\end{scriptsize}
\subsubsection{Generic on-chip SRAM driver}
CONFIG\_SRAM [=n] \textbf{[~]}\\*
Dieser Treiber ermöglicht es Ihnen, einen Speicherbereich zu deklarieren, der von der genalloc"=API
verwaltet wird. Er soll für kleine On"=Chip"=SRAM"=Bereiche verwendet werden,
die auf vielen SoCs zu finden sind.
\subsubsection{Synopsys DesignWare xData PCIe driver}
CONFIG\_DW\_XDATA\_PCIE \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Dieser Treiber ermöglicht die Steuerung der Synopsys DesignWare PCIe Traffic Generator IP, auch bekannt
als xData, die im Synopsys DesignWare PCIe Endpoint Prototyp vorhanden ist.
Wenn Sie unsicher sind, sagen Sie N.
\\\begin{scriptsize}
Das Notebook ist kein Synopsys Endpoint.
\end{scriptsize}
\subsubsection{PCI Endpoint Test driver}
CONFIG\_PCI\_ENDPOINT\_TEST \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Aktivieren Sie diese Konfigurationsoption, um den hostseitigen Testtreiber für PCI Endpoint zu aktivieren.
\subsubsection{Xilinx SDFEC 16}
CONFIG\_XILINX\_SDFEC \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option aktiviert die Unterstützung für den Xilinx SDFEC"=Treiber (Soft Decision Forward Error Correction).
Damit wird ein Char"=Treiber für die SDFEC aktiviert.
Sie können diesen Treiber auswählen, wenn Ihr Design den SDFEC(16nm)-Hardened-Block instanziiert.
Um diesen als Modul zu kompilieren, wählen Sie M.
Wenn Sie unsicher sind, wählen Sie N.
\\\begin{scriptsize}
Das Notebook ist kein Synopsys Endpoint.
\end{scriptsize}
%15.16.26
\subsubsection{TI TPS6594 Error Signal Monitor support}
CONFIG\_TPS6594\_ESM \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Unterstützung von ESM (Error Signal Monitor) auf TPS6594 PMIC-Bausteinen. ESM wird typischerweise verwendet,
um die Karte im Fehlerfall neu zu starten.
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{tps6594-esm} genannt.
\\\begin{scriptsize}
Das Notebook hat diesen PMIC-Baustein nicht verbaut.
\end{scriptsize}
\subsubsection{TI TPS6594 Pre-configuratble Finite State Machine support}
CONFIG\_TPS6594\_PFSM \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Unterstützung von PFSM (Pre-configurable Finite State Machine, vorkonfigurierbare endliche Zustandsmaschine)
auf TPS6594 PMIC"=Bausteinen.
Diese Bausteine enthalten eine Finite"=State"=Machine"=Engine, die den Zustand des Bausteins während des
Betriebszustandsübergangs verwaltet.
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{tps6594-pfsm} genannt.
\\\begin{scriptsize}
Das Notebook hat diesen PMIC-Baustein nicht verbaut.
\end{scriptsize}
\subsubsection{Silicon Labs C2 port support}
CONFIG\_C2PORT \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option aktiviert die Unterstützung für den C2"=Port von Silicon Labs, der zur Programmierung von
Silicon"=Mikrocontroller"=Chips (und anderen 8051"=kompatiblen Chips) verwendet wird.
Wenn Ihr Board keine solchen Mikrocontroller hat, brauchen Sie diese Schnittstelle nicht.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M:
Das Modul wird \texttt{c2port\_core} heißen. Beachten Sie, dass Sie auch ein Client"=Modul benötigen,
das normalerweise \texttt{c2port-$*$} heißt.
Wenn Sie sich nicht sicher sind, wählen Sie hier N.
\\\begin{scriptsize}
Das Notebook hat diesen Silicon Labs-Baustein nicht.
\end{scriptsize}
\subsubsection{EEPROM support \texorpdfstring{$\rightarrow$}{->}}
\textit{(EEPROM-Unterstützung)}
\paragraph{I2C EEPROMs / RAMs / ROMs from most vendors}$~$\\
CONFIG\_EEPROM\_AT24 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Aktivieren Sie diesen Treiber, um Lese-/Schreibunterstützung für die meisten I2C"=EEPROMs und
kompatible Geräte wie FRAMs, SRAMs, ROMs usw. zu erhalten. Nachdem Sie den Treiber so konfiguriert
haben, dass er über jeden Chip auf Ihrer Zielplatine Bescheid weiß. Verwenden Sie diese generischen
Chipnamen anstelle von herstellerspezifischen Namen wie at24c64, 24lc02 oder fm24c04:\\[0.5em]
24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08, 24c16, 24c32, 24c64, 24c128, 24c256,
24c512, 24c1024, 24c2048\\[0.5em]
Wenn Sie keine Lust auf Rätsel mit Datenverlust haben, sollten Sie immer darauf achten, dass ein Chip,
den Sie als 24c32 (32~kbit) oder größer konfigurieren, NICHT wirklich ein 24c16 (16~kbit) oder kleiner
ist und andersherum. Die Kennzeichnung des Chips als schreibgeschützt hilft in diesem Fall nicht weiter.
Wenn Ihr Chip über einen Software"=Schreibschutzmechanismus verfügt, sollten Sie den Code überprüfen,
um sicherzustellen, dass dieser Treiber ihn nicht versehentlich aktiviert.
Wenn Sie diesen Treiber mit einem SMBus"=Adapter anstelle eines I2C"=Adapters verwenden, ist die volle
Funktionalität nicht verfügbar. Es werden nur kleinere Geräte unterstützt (24c16 und darunter,
max. 4~kByte).
Dieser Treiber kann auch als Modul gebaut werden. Wenn dies der Fall ist, wird das Modul at24 genannt.
\paragraph{SPI EEPROMs (FRAMs) from most vendors}$~$\\
CONFIG\_EEPROM\_AT25 [=n] \textbf{[~]}\\*
Aktivieren Sie diesen Treiber, um Lese-/Schreibunterstützung für die meisten SPI EEPROMs und
Cypress FRAMs zu erhalten, nachdem Sie den Board"=Init"=Code so konfiguriert haben, dass er
über jedes EEPROM auf Ihrem Zielboard Bescheid weiß.
Dieser Treiber kann auch als Modul gebaut werden. Wenn dies der Fall ist, wird das Modul
\texttt{at25} aufgerufen.
\paragraph{Maxim MAX6874/5 power supply supervisor}$~$\\
CONFIG\_EEPROM\_MAX6875 [=n] \textbf{[~]}\\*
Wenn Sie dies bejahen, erhalten Sie eine Nur"=Lese"=Unterstützung für das Benutzer"=EEPROM des
Maxim MAX6874/5 EEPROM"=programmierbaren Vierfach"=Stromversorgungs"=Sequenzers/Supervisors.
Auf alle anderen Funktionen dieses Chips sollte über \texttt{i2c-dev} zugegriffen werden.
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul
\texttt{max6875} genannt.
\paragraph{EEPROM 93CX6 support}$~$\\
CONFIG\_EEPROM\_93CX6 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Dies ist ein Treiber für die EEPROM"=Chipsätze 93c46 und 93c66. Der Treiber unterstützt sowohl
Lese- als auch Schreibbefehle.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{Microwire EEPROM 93XX46 support}$~$\\
CONFIG\_EEPROM\_93XX46 [=n] \textbf{[~]}\\*
Treiber für die microwire EEPROM Chipsätze 93xx46x. Der Treiber unterstützt sowohl Lese- und
Schreibbefehle als auch den Befehl zum Löschen des gesamten EEPROMs.
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das
Modul \texttt{eeprom\_93xx46} genannt.
Wenn Sie unsicher sind, sagen Sie N.
\paragraph{IDT 89HPESx PCIe-swtiches EEPROM / CSR support}$~$\\
CONFIG\_EEPROM\_IDT\_89HPESX \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Aktivieren Sie diesen Treiber, um Lese-/Schreibzugriff auf EEPROM / CSRs über die IDT
PCIe"=swtich i2c"=slave Schnittstelle zu erhalten.
Dieser Treiber kann auch als Modul gebaut werden.
Wenn ja, wird das Modul \texttt{idt\_89hpesx} genannt.
\paragraph{SPD EEPROMs on DDR4 memory modules}$~$\\
CONFIG\_EEPROM\_EE1004 \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Aktivieren Sie diesen Treiber, um Leseunterstützung für SPD EEPROMs nach dem JEDEC EE1004 Standard
zu erhalten. Diese sind typischerweise in DDR4"=SDRAM"=Speichermodulen zu finden.
Dieser Treiber kann auch als Modul gebaut werden.
In diesem Fall wird das Modul \texttt{ee1004} genannt.
\subsubsection{ENE CB710/720 Flash memory card reader support}
CONFIG\_CB710\_CORE \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Diese Option aktiviert die Unterstützung für den PCI ENE CB710/720 Flash"=Speicherkartenleser,
der in einigen Laptops zu finden ist (z.~B. einige Versionen des HP Compaq nx9500).
Sie müssen auch einige Treiber für Flash"=Kartenformate (MMC/SD, MemoryStick) auswählen.
Dieser Treiber kann auch als Modul gebaut werden.
In diesem Fall wird das Modul \texttt{cb710} genannt.
\paragraph{Enable driver debugging}$~$\\
CONFIG\_CB710\_DEBUG [=n] \textbf{[~]}\\*
Dies ist eine Option für Entwickler; die meisten Leute sollten hier N sagen.
Dies fügt eine Menge an Debugging"=Ausgaben zu dmesg hinzu.
\subsubsection{Texas Instruments shared transport line discipline \texorpdfstring{$\rightarrow$}{->}}
\textit{(Texas Instruments geteilte Transportleitungsdisziplin)}
\paragraph{Shared transport core driver}$~$\\
CONFIG\_TI\_ST \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Dies ermöglicht den gemeinsamen Transport"=Core"=Treiber für TI BT / FM und GPS Combo Chips.
Dies ermöglicht Protokolltreibern, sich beim Kern zu registrieren und Daten zu senden.
Die Antworten werden an die entsprechenden Protokolltreiber auf der Grundlage ihrer Pakettypen zurückgegeben.
\subsubsection{STMicroelectronics LIS3LV02Dx three-axis digital accelerometer (I2C)}
CONFIG\_SENSORS\_LIS3\_I2C \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Dieser Treiber unterstützt den über I2C angeschlossenen Beschleunigungssensor LIS3LV02Dx.
Die Daten des Beschleunigungssensors sind über \texttt{/sys/devices/platform/lis3lv02d} lesbar.
Dieser Treiber stellt auch ein Gerät der absoluten Eingabeklasse bereit, so dass das Gerät als
flipperähnlicher Joystick fungieren kann.
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall heißt das Kernmodul
\texttt{lis3lv02d} und ein spezielles Modul für den I2C-Transport heißt \texttt{lis3lv02d\_i2c}.
\\\begin{scriptsize}
Das Notebook hat diesen Beschleunigungssensor nicht eingebaut.
\end{scriptsize}
\subsubsection{Altera FPGA firmware download module}
CONFIG\_ALTERA\_STAPL \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
Ein FPGA-Modul von Altera. Sagen Sie Y, wenn Sie dieses Tool unterstützen wollen.
\\\begin{scriptsize}
Das Notebook wird nicht dazu verwendet (mit diesem Kernel) um Altera FPGA"=Firmware zu laden.
\end{scriptsize}
\subsubsection{Intel Management Engine Interface}
CONFIG\_INTEL\_MEI [=m] \textbf{[M]}\\*
Die Intel Management Engine (Intel ME) bietet Verwaltbarkeits-, Sicherheits- und Mediendienste
für Systeme mit Intel Chipsätzen.
Falls ausgewählt, wird \texttt{/dev/mei} misc device erstellt.
Für weitere Informationen siehe
\url{https://software.intel.com/en-us/manageability/}
\subsubsection{ME Enabled Intel Chipsets}
CONFIG\_INTEL\_MEI\_ME [=m] \textbf{[M]}\\*[0.5em]
MEI"=Unterstützung für ME"=aktivierte Intel"=Chipsätze.\\[0.5em]
Unterstützte Chipsätze sind:\\
7er-Chipsatzfamilie\\
6er-Chipsatz-Familie\\
5er Chipsatz-Familie\\
4er Chipsatz-Familie\\
Mobile 4 Series Chipset Familie\\
ICH9\\
82946GZ/GL\\
82G35 Express\\
82Q963/Q965\\
82P965/G965\\
Handy PM965/GM965\\
Mobiltelefon GME965/GLE960\\
82Q35 Express\\
82G33/G31/P35/P31 Express\\
82Q33 Express\\
82X38/X48 Express
\\\begin{scriptsize}
Im Dell-Notebook wird dieses Modul \texttt{mei\_me} geladen.
\end{scriptsize}
\subsubsection{Intel Trusted Execution Environment with ME Interface}
CONFIG\_INTEL\_MEI\_TXE \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
MEI-Unterstützung für Trusted Execution Environment-Geräte auf Intel SoCs\\*
Unterstützte SoCs:\\*
Intel Bay Trail
\\\begin{scriptsize}
Im Dell-Notebook ist kein SoCs Intel Bay Trail verbaut.
\end{scriptsize}
%
%% \texorpdfstring{$\rightarrow$}{->}
%% \textit{Für diese Option gibt es keine Hilfe.}
%% CONFIG\_XYZ \colorbox{yellow!80}{[=m] \textbf{[~]}}\\*
%% \\\begin{scriptsize}
%% Im Notebook ist kein Zeit-Aufzeichner DS1682 verbaut.
%% \end{scriptsize}