UPD general setup, some fixes, add english TODO

This commit is contained in:
2025-04-12 21:43:23 +02:00
parent eecd271634
commit 5b7797058c
6 changed files with 890 additions and 1235 deletions

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0f86a4e089d0e511f933cdb1950288dacad1c9f2c2afc21d432ae394e604c250
size 3176934
oid sha256:8d2ce63926acfaece33a28ff08c609dd3fb6635580d33a99bd04dcd69f9932fb
size 3204350

View File

@@ -10,6 +10,11 @@ können (oder selbst wenn sie geladen werden können, können sie aufgrund
fehlender Hardware-Unterstützung nicht verwendet werden), möchten
Entwickler, im Gegensatz zu Distributoren, solche Treiber vielleicht
trotzdem kompilieren und testen.
\english{Some drivers can be compiled on a different platform than they are intended to be run on.
Despite they cannot be loaded there (or even when they load they cannot be used due to missing HW support),
developers still, opposing to distributors, might want to build such drivers to compile-test them.
If you are a developer and want to build everything available, say Y here.
If you are a user/distributor, say N here to exclude useless drivers to be distributed.}
\subsection{Compile the kernel with warnings as errors}
CONFIG\_WERROR \colorbox{yellow!80}{[=n] \textbf{[Y]}}\\
@@ -22,9 +27,14 @@ sinnvoll, wenn Sie einen neuen (oder sehr alten) Compiler bzw. Linker
mit seltenen, ungewöhnlichen Warnungen haben. Haben Sie auf Ihrer
Architektur Probleme, dann müssen Sie diese Konfiguration deaktivieren,
um den Kernel erfolgreich zu bauen. Im Zweifelsfall sagen sie Y für Ja.
\\\begin{scriptsize}
Für den Laptop wird der Kernel ohne Warnungen kompiliert, ansonsten wird ein Fehler generiert.
\end{scriptsize}
\english{A kernel build should not cause any compiler warnings, and this enables the `-Werror' (for C)
and `-Dwarnings' (for Rust) flags to enforce that rule by default.
Certain warnings from other tools such as the linker may be upgraded to errors with this option as well.\\
However, if you have a new (or very old) compiler or linker with odd and unusual warnings,
or you have some architecture with problems, you may need to disable this config option
in order to successfully build the kernel.\\
If in doubt, say Y.}
\note{Für den Laptop wird der Kernel ohne Warnungen kompiliert, ansonsten wird ein Fehler generiert.}
\subsection{Local version -- append to kernel release}
CONFIG\_LOCALVERSION [=] \textbf{[~]}\\
@@ -36,6 +46,11 @@ Dies wird angezeigt, wenn Sie z.\,B. \texttt{uname} eingeben. Die hier
angegebene Zeichenfolge wird an den Inhalt von einem Dateinamen mit
\texttt{localverion*} als Objekt und im Quellbaum, in dieser Reihenfolge
angezeigt. Die Zeichenkette darf maximal 64 Zeichen lang sein.
\english{Append an extra string to the end of your kernel version.
This will show up when you type uname, for example.
The string you set here will be appended after the contents of any files with a filename matching
localversion* in your object and source tree, in that order.
Your total string can be a maximum of 64~characters.}
%1.4
\subsection{Automatically append version information to the version string}
@@ -51,6 +66,15 @@ tatsächlich verwendete Zeichenkette sind die ersten 12~Zeichen, die durch
die Ausführung des Befehls erzeugt werden:\\
\indent\texttt{\$ git rev-parse --verify HEAD}\\
der innerhalb des Skripts \glqq scripts/setlocalversion\grqq{} ausgeführt wird.)
\english{This will try to automatically determine if the current tree is a release tree by
looking for git tags that belong to the current top of tree revision.\\
A string of the format -gxxxxxxxx will be added to the localversion if a git-based tree is found.
The string generated by this will be appended after any matching localversion* files,
and after the value set in CONFIG\_LOCALVERSION.\\
(The actual string used here is the first 12 characters produced by running the command:\\
\texttt{\$ git rev-parse --verify HEAD}\\
which is done within the script ``scripts/setlocalversion''.)}
\subsection{Build ID Salt}
CONFIG\_BUILD\_SALT [=] \textbf{[~]}\\
Type: string\\
@@ -59,6 +83,10 @@ Wenn diese Option gesetzt ist, dann wird dieser Wert in die Berechnung der
Build-ID einbezogen. Wird von Distributionen verwendet, die sicherstellen
wollen, dass es eineindeutige IDs zwischen verschiedenen Builds gibt.
Üblicherweise brauchen wir das nicht.
\english{The build ID is used to link binaries and their debug info.
Setting this option will use the value in the calculation of the build id.
This is mostly useful for distributions which want to ensure the build is unique between builds.
It's safe to leave the default.}
\subsection{Kernel compression mode \texorpdfstring{$\rightarrow$}{->}}
Der Linux-Kernel ist eine Art selbstextrahierende, ausführbare Datei.
@@ -75,17 +103,31 @@ aber die Ram-Größe weniger wichtig ist.\\
Arch Linux (seit Linux/x86 5.9.0) Standard: ZSTD (former: XZ seit 4.14.4, predecessor GZIP,XZ)\\
Debian 11.6: XZ\\
@TODO Weitere Linux Distributionen
\english{The linux kernel is a kind of self-extracting executable.
Several compression algorithms are available, which differ in efficiency, compression and decompression speed.
Compression speed is only relevant when building a kernel.
Decompression speed is relevant at each boot.
If you have any problems with bzip2 or lzma compressed kernels, mail me
(Alain Knaff) $<$alain\@knaff.lu$>$.
(An older version of this functionality (bzip2 only), for 2.4, was supplied by Christian Ludwig)\\
High compression options are mostly useful for users, who are low on disk space (embedded systems),
but for whom ram size matters less. If in doubt, select `gzip'}
\subsubsection{Gzip}
CONFIG\_KERNEL\_GZIP [=n] \textbf{[~]}\\
Die alte und bewährte gzip-Kompression. Sie bietet ein gutes
Gleichgewicht zwischen Kompressionsrate und
Dekompressionsgeschwindigkeit.
Gleichgewicht zwischen Kompressionsrate und Dekompressionsgeschwindigkeit.
\english{The old and tried gzip compression. It provides a good balance between compression ratio and decompression speed.}
\subsubsection{Bzip2}
CONFIG\_KERNEL\_BZIP2 [=n] \textbf{[~]}\\
Die Kompressionsrate und auch die Geschwindigkeit der ist durchschnittlich. Die Geschwindigkeit
der Dekomprimierung ist die langsamste. Größe des Kernels ist etwa $\qty{10}{\percent}$ kleiner
im Vergleich zu GZIP. Es benötigt auch einen großen Speicherbereich, bei
modernen Kerneln benötigt man zumindest 8~MB~RAM oder mehr beim Booten.
\english{Its compression ratio and speed is intermediate.
Decompression speed is slowest among the choices.
The kernel size is about \qty{10}{\percent} smaller with bzip2, in comparison to gzip.
Bzip2 uses a large amount of memory. For modern kernels you will need at least 8MB RAM or more for booting.}
\subsubsection{LZMA}
CONFIG\_KERNEL\_LZMA [=n] \textbf{[~]}\\
@@ -93,6 +135,10 @@ Dieser Kompressionsalgorithmus hat die höchste Komprimierung. Die Geschwindigke
Dekomprimierung liegt zwischen GZIP und BZIP2.
Komprimierung ist die langsamste. Kernelgröße beträgt etwa $\qty{33}{\percent}$
weniger als mit GZIP.
\english{This compression algorithm's ratio is best.
Decompression speed is between gzip and bzip2.
Compression is slowest.
The kernel size is about \qty{33}{\percent} smaller with LZMA in comparison to gzip.}
\subsubsection{XZ}
CONFIG\_KERNEL\_XZ [=n] \textbf{[~]}\\
@@ -106,6 +152,13 @@ einfaches LZMA.
Die Geschwindigkeit ist in etwa die gleiche wie bei LZMA: Die Dekomprimierungsgeschwindigkeit von
XZ ist besser als die von bzip2, aber schlechter als die von gzip und LZO.
Die Komprimierung ist langsam.
\english{XZ uses the LZMA2 algorithm and instruction set specific BCJ filters which can improve
compression ratio of executable code.
The size of the kernel is about \qty{30}{\percent} smaller with XZ in comparison to gzip.
On architectures for which there is a BCJ filter (i386, x86\_64, ARM, ARM64, RISC-V, big endian PowerPC,
and SPARC), XZ will create a few percent smaller kernel than plain LZMA.\\
The speed is about the same as with LZMA: The decompression speed of XZ is better than that of
bzip2 but worse than gzip and LZO. Compression is slow.}
%1.6.5
\subsubsection{LZO}
@@ -113,6 +166,9 @@ CONFIG\_KERNEL\_LZO [=n] \textbf{[~]}\\
Kompressionsrate ist die schlechteste aller anderen. Kernelgröße ist etwa $\qty{10}{\percent}$
größer als GZIP.
Jedoch ist die Geschwindigkeit beim Komprimieren und Dekomprimieren die höchste.
\english{Its compression ratio is the poorest among the choices.
The kernel size is about \qty{10}{\percent} bigger than gzip; however its speed
(both compression and decompression) is the fastest.}
\subsubsection{LZ4}
CONFIG\_KERNEL\_LZ4 [=n] \textbf{[~]}\\
@@ -120,6 +176,12 @@ LZ4 ist eine LZ77-Typ-Komprimierung mit einer festen, byte"=orientierten Enkodie
Siehe auch \url{http://code.google.com/p/lz4}.\\
Komprimierungsverhältnis ist noch schlechter als LZO. $\qty{8}{\percent}$ größere Kernelgröße als bei LZO.
Dekomprimierung ist jedoch von der Geschwindigkeit her schneller als LZO.
\english{LZ4 is an LZ77-type compressor with a fixed, byte-oriented encoding.
A preliminary version of LZ4 de/compression tool is available at
\url{https://code.google.com/p/lz4/}.\\
Its compression ratio is worse than LZO.
The size of the kernel is about \qty{8}{\percent} bigger than LZO.
But the decompression speed is faster than LZO.}
\subsubsection{ZSTD}
CONFIG\_KERNEL\_ZSTD [=y] \textbf{[Y]}\\
@@ -129,6 +191,10 @@ komprimiert besser als GZIP und dekomprimiert etwa so schnell wie
LZO, ist aber langsamer als LZ4. Sie benötigen mindestens
192~KB~RAM oder mehr zum Booten. Das Kommandozeilenprogramm \texttt{zstd}
ist für die Komprimierung erforderlich.
\english{ZSTD is a compression algorithm targeting intermediate compression with fast decompression speed.
It will compress better than GZIP and decompress around the same speed as LZO, but slower than LZ4.
You will need at least 192~KB~RAM or more for booting.
The zstd command line tool is required for compression.}
\subsection{Default init path}
CONFIG\_DEFAULT\_INIT [=] \textbf{[~]}\\
@@ -137,6 +203,10 @@ wenn in der Kernel-Befehlszeile keine solche \texttt{init=}"=Option übergeben w
Wenn der angeforderte Pfad nicht vorhanden ist, wird trotzdem versucht,
weitere Orte zu finden (z.\,B. /sbin/init usw.). Wenn dieser Pfad leer ist,
wird einfach die Fallback-Liste verwendet, wenn \texttt{init=} nicht übergeben wird.
\english{This option determines the default init for the system if no \texttt{init=option} is passed on the kernel command line.
If the requested path is not present, we will still then move on to attempting further locations (e.g. /sbin/init, etc).
If this is empty, we will just use the fallback list when \texttt{init=} is not passed.}
%1.8
\subsection{Default hostname}
CONFIG\_DEFAULT\_HOSTNAME \colorbox{yellow!80}{[=archlinux]~\textbf{[=orange]}}\\
@@ -145,6 +215,8 @@ noch bevor der Userspace das Kommando sethostname(2) aufruft.
Der Kernel verwendet hier traditionell ''(none)'', Sie möchten
vielleicht eine andere Voreinstellung verwenden, um ein minimales
System mit weniger Konfiguration benutzbar zu machen.
\english{This option determines the default system hostname before userspace calls sethostname(2).
The kernel traditionally uses ``(none)'' here, but you may wish to use a different default here to make a minimal system more usable with less configuration.}
\subsection{System V IPC}
CONFIG\_SYSVIPC [=y] \textbf{[Y]}\\
@@ -152,17 +224,33 @@ Die Inter-Prozess-Kommunikation IPC ist eine Zusammenstellung
aus Bibliotheksfunktionen (libraries) und Systemaufrufen die Prozesse (laufende Programme)
synchronisiert und Daten untereinander austauschen kann. Generell ist das eine gute Sache,
einige Programme würden auch nicht funktionieren wenn Sie hier kein Y (ja) setzen.
Insbesondere, wenn Sie den DOS-Emulator \texttt{dosemu} unter Linux laufen lassen wollen (lesen Sie das DOSEMU-HOWTO, verfügbar unter
\url{http://www.tldp.org/docs.html\#howto}), müssen Sie hier Y sagen.\\
Sie können Dokumentation über IPC mit \texttt{info ipc} und auch in Abschnitt 6.4 des Linux Programmer's Guide finden,
verfügbar unter \url{http://www.tldp.org/guides.html}.
\english{Inter Process Communication is a suite of library functions and system calls which let processes (running programs) synchronize and exchange information.
It is generally considered to be a good thing, and some programs won't run unless you say Y here.
In particular, if you want to run the DOS emulator \texttt{dosemu} under Linux (read the DOSEMU-HOWTO, available from
\url{http://www.tldp.org/docs.html\#howto}), you'll need to say Y here.\\
You can find documentation about IPC with ``info ipc'' and also in section 6.4 of the Linux Programmer's Guide,
available from \url{http://www.tldp.org/guides.html}.}
%1.10
\subsection{POSIX Message Queues}
CONFIG\_POSIX\_MQUEUE [=y] \textbf{[Y]}\\
Die POSIX-Variante der Nachrichtenwarteschlangen (message queues) ist ein Teil der IPC.
In POSIX"=Nachrichtenwarteschlangen hat jede Nachricht eine Priorität, die über die Reihenfolge
des Empfangs durch einen Prozess entscheidet. Wenn Sie Programme kompilieren und ausführen wollen,
die z.\,B. für Solaris geschrieben wurden und die POSIX"=Warteschlangen
des Empfangs durch einen Prozess entscheidet.
Wenn Sie Programme kompilieren und ausführen wollen, die z.\,B. für Solaris geschrieben wurden und die POSIX"=Warteschlangen
(Funktionen \texttt{mq\_$\ast$}) verwenden, sagen Sie hier Y.
POSIX"=Nachrichtenwarteschlangen sind via Dateisystem als \glqq mqueue\grqq{} sichtbar und können irgendwo
POSIX"=Nachrichtenwarteschlangen sind als Dateisystem mit dem Namen \glqq mqueue\grqq{} sichtbar und können irgendwo
eingehängt werden, wenn Sie Dateisystemoperationen auf Nachrichtenwarteschlangen durchführen wollen.
Wenn Sie unsicher sind, sagen Sie Y.
\english{POSIX variant of message queues is a part of IPC.
In POSIX message queues every message has a priority which decides about succession of receiving it by a process.
If you want to compile and run programs written e.g. for Solaris with use of its POSIX message queues (functions mq\_*) say Y here.\\
POSIX message queues are visible as a filesystem called `mqueue' and can be mounted somewhere if you want to do filesystem operations on message queues.\\
If unsure, say Y.}
\subsection{General notification queue}
CONFIG\_WATCH\_QUEUE \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
@@ -170,10 +258,12 @@ Dies ist eine allgemeine Benachrichtigungswarteschlange für den Kernel,
um Ereignisse an den Userspace weiterzuleiten, indem sie in Pipes gesplittet werden.
Sie kann in Verbindung mit Watches für Schlüssel-/Schlüsseländerungsbenachrichtigungen (key/keyring) und
Gerätebenachrichtigungen verwendet werden.\\
Bemerkung: Bei Debian Bullseye and Bookworm ist dies nicht gesetzt (N).
\\\begin{scriptsize}
Eventuell benützt dies bereits GNOME, wir kommen derzeit vermutlich ohne aus
\end{scriptsize}
Siehe \texttt{Documentation/core-api/watch\_queue.rst}.
\english{This is a general notification queue for the kernel to pass events to userspace by splicing them into pipes.
It can be used in conjunction with watches for key/keyring change notifications and device notifications.\\
See \texttt{Documentation/core-api/watch\_queue.rst}}
\note{Bemerkung: Bei Debian Bullseye and Bookworm ist dies nicht gesetzt (N).\\
Eventuell benützt dies bereits GNOME, wir kommen derzeit vermutlich ohne aus.}
\subsection{Enable process\_vm\_readv/writev\ syscalls}
@@ -182,6 +272,8 @@ Die Aktivierung dieser Option fügt die Systemaufrufe process\_vm\_readv und
process\_vm\_writev hinzu, die es einem Prozess mit den richtigen Rechten ermöglichen,
direkt aus dem Adressraum eines anderen Prozesses zu lesen oder in diesen zu schreiben.
Weitere Einzelheiten finden Sie in der Manpage.
\english{Enabling this option adds the system calls process\_vm\_readv and process\_vm\_writev which allow a process with the correct privileges
to directly read from or write to another process' address space. See the man page for more details.}
\subsection{uselib syscall (for libc5 and earlier)}
CONFIG\_USELIB [=n] \textbf{[N]}\\
@@ -189,46 +281,80 @@ Diese Option schaltet den uselib-Systemaufruf ein, der im dynamic"=Linker von li
Das aktuelle glibc verwendet diesen Systemaufruf nicht mehr, deshalb kann man diese Option
ausschalten wenn sie
keine Programme mehr verwenden, die auf libc5 (oder früher) compiliert wurden.\\
Bemerkung: Debian Bullseye verwendet dies noch (Y).
\english{This option enables the uselib syscall, a system call used in the dynamic linker from libc5 and earlier.
glibc does not use this system call.
If you intend to run programs built on libc5 or earlier, you may need to enable this syscall.
Current systems running glibc can safely disable this.}
\note{Bemerkung: Debian Bullseye verwendet dies noch (Y).}
%1.14
\subsection{Auditing support}
CONFIG\_AUDIT [=y] \textbf{[Y]}\\
Aktivieren Sie eine Überwachungsinfrastruktur, die mit einem anderen Kernel-Subsystem
verwendet werden kann, wie z.\,B. SELinux (das dies für die Protokollierung der Ausgabe
von avc-Nachrichten benötigt). Die Systemaufrufüberprüfung ist auf Architekturen,
die sie unterstützen, enthalten.
verwendet werden kann, wie z.\,B. SELinux (das dies für die Protokollierung der Ausgabe von avc-Nachrichten benötigt).
Die Systemaufrufüberprüfung ist auf Architekturen, die sie unterstützen, enthalten.
\english{Enable auditing infrastructure that can be used with another kernel subsystem, such as SELinux (which requires this for logging of avc messages output).\\
System call auditing is included on architectures which support it.}
%1.15 IRQ subsystem
\subsection{IRQ subsystem \texorpdfstring{$\rightarrow$}{->}}
\subsection{IRQ subsystem \texorpdfstring{$\rightarrow$}{->}}
Über diese Schnittstelle kann man Funktionen und Parameter für den
Kernelbau auswählen.
Merkmale können entweder eingebaut, modularisiert oder ignoriert werden.
Parameter müssen als dezimale oder hexadezimale Zahlen oder als Text eingegeben
werden.
\english{This interface lets you select features and parameters for the build.
Features can either be built-in, modularized, or ignored.
Parameters must be entered in as decimal or hexadecimal numbers or text.}
\subsubsection{Expose irq internals in debugfs}
CONFIG\_GENERIC\_IRQ\_DEBUGFS [=n] \textbf{[N]}\\
Legt interne Zustandsinformationen über debugfs offen.
Hauptsächlich für Entwickler und zur Fehlersuche bei schwer
zu diagnostizierenden Interrupt-Problemen.
Wenn Sie nicht wissen, was Sie hier tun sollen, sagen Sie N.
\english{Exposes internal state information through debugfs.
Mostly for developers and debugging of hard to diagnose interrupt problems.
If you don't know what to do here, say N.}
%1.16 Timers subsystem
\subsection{Timers subsystem \texorpdfstring{$\rightarrow$}{->}}
\subsubsection{Timer tick handling \texorpdfstring{$\rightarrow$}{->}}
Sie müssen aus den folgenden drei Möglichkeiten eine wählen:
\paragraph{Periodic timer ticks (constant rate, no dynticks)} $~$ \\
CONFIG\_HZ\_PERIODIC [=n] \textbf{[N]}\\
Diese Option sorgt dafür, dass der Tick periodisch mit einer konstanten Rate läuft,
auch wenn die CPU ihn nicht braucht.
\english{This option keeps the tick running periodically at a constant rate, even when the CPU doesn't need it.}
\paragraph{Idle dynticks system (tickless idle)} $~$ \\
CONFIG\_NO\_HZ\_IDLE [=n] \textbf{[N]}\\
Diese Option ermöglicht ein tickloses idle-System (Leerlaufsystem):
Timer-Interrupts werden nur bei Bedarf ausgelöst, wenn das System im
Leerlauf ist. Dies ist v.a. zum Energiesparen interessant.
\english{This option enables a tickless idle system: timer interrupts will only trigger on an as-needed basis when the system is idle.
This is usually interesting for energy saving.\\
Most of the time you want to say Y here.}
\paragraph{Full dynticks system (tickless)} $~$ \\
CONFIG\_NO\_HZ\_FULL [=y] \textbf{[Y]}\\
Diese Option ermöglicht ein tickloses idle-System (Leerlaufsystem):
Timer-Interrupts werden nur bei Bedarf ausgelöst, wenn das System im
Leerlauf ist. Dies ist v.a. zum Energiesparen interessant.\\
Adaptiv versuchen, die Ticks abzuschalten, wann immer dies möglich ist, auch wenn die CPU Aufgaben ausführt.
Normalerweise erfordert dies die Ausführung einer einzelnen Aufgabe auf der CPU.
Die Chancen für einen ticklosen Betrieb sind am größten, wenn die Aufgabe größtenteils im Userspace läuft und wenig Kernelaktivität aufweist.
Sie müssen den Boot-Parameter nohz\_full mit dem gewünschten Bereich von dynticks CPUs auffüllen, um ihn zu verwenden.
Dies wird auf Kosten eines gewissen Overheads bei Benutzer $\leftrightarrow$ Kernel-Übergängen implementiert:
syscalls, exceptions und interrupts.\\
Standardmäßig, ohne Übergabe des nohz\_full-Parameters, verhält sich dies genau wie NO\_HZ\_IDLE.
Wird bei Linux-Distributionen ausgewählt.
\english{Adaptively try to shutdown the tick whenever possible, even when the CPU is running tasks.
Typically this requires running a single task on the CPU.
Chances for running tickless are maximized when the task mostly runs in userspace and has few kernel activity.\\
You need to fill up the nohz\_full boot parameter with the desired range of dynticks CPUs to use it.
This is implemented at the expense of some overhead in user $\leftrightarrow$ kernel transitions:
syscalls, exceptions and interrupts.\\
By default, without passing the nohz\_full parameter, this behaves just like NO\_HZ\_IDLE.
If you're a distro say Y.}
\subsubsection{Force user context tracking}
CONFIG\_CONTEXT\_TRACKING\_USER\_FORCE [=n] \textbf{[N]}\\
@@ -250,6 +376,15 @@ Sagen Sie nur dann ja (Y), wenn Sie an der Entwicklung eines Architektur-Backend
für die Benutzerkontextverfolgung arbeiten.
Sagen Sie ansonsten N, da diese Option einen Overhead mit sich bringt, den Sie in
der Praxis nicht haben wollen.
\english{The major pre-requirement for full dynticks to work is to support the user context tracking subsystem.
But there are also other dependencies to provide in order to make the full dynticks working.\\
This option stands for testing when an arch implements the user context tracking backend but doesn't yet fulfill all the requirements to make
the full dynticks feature working.
Without the full dynticks, there is no way to test the support for user context tracking and the subsystems that rely on it:
RCU userspace extended quiescent state and tickless cputime accounting.
This option copes with the absence of the full dynticks subsystem by forcing the user context tracking on all CPUs in the system.\\
Say Y only if you're working on the development of an architecture backend for the user context tracking.\\
Say N otherwise, this option brings an overhead that you don't want in production.}
\subsubsection{Old Idle dynticks config}
CONFIG\_NO\_HZ \colorbox{yellow!80}{[=y] \textbf{[N]}}\\*
@@ -257,9 +392,9 @@ CONFIG\_NO\_HZ \colorbox{yellow!80}{[=y] \textbf{[N]}}\\*
Dies ist der alte Konfigurationseintrag, der Dynticks im Leerlauf aktiviert.
\sout{Wir behalten ihn noch eine Weile bei, um die Abwärtskompatiblität mit älteren
Konfigurations\-dateien zu gewähr\-leisten.}
\\\begin{scriptsize}
Alte Dynticks-Konfiguration wird nicht mehr unterstützt.
\end{scriptsize}
\english{This is the old config entry that enables dynticks idle.
We keep it around for a little while to enforce backward compatibility with older config files.}
\note{Alte Dynticks-Konfiguration wird nicht mehr unterstützt.}
\subsubsection{High Resolution Timer Support}
CONFIG\_HIGH\_RES\_TIMERS [=y] \textbf{[Y]}\\
@@ -267,6 +402,8 @@ CONFIG\_HIGH\_RES\_TIMERS [=y] \textbf{[Y]}\\
Diese Option aktiviert die Unterstützung hochauflösender Timer.
Wenn ihre Hardware dazu nicht in der Lage ist, erhöht diese
Option nur die Größe des Kernel"=Images.
\english{This option enables high resolution timer support.
If your hardware is not capable then this option only increases the size of the kernel image.}
\subsubsection{Clocksource watchdog maximum allowable skew}
CONFIG\_CLOCKSOURCE\_WATCHDOG\_MAX\_SKEW\_US [=100] \textbf{[100]}\\
@@ -278,6 +415,10 @@ Sekunde und der maximalen Frequenzdrift von NTP von 500 Teilen pro Million.
Wenn die Clocksource gut genug für NTP ist, ist sie auch gut genug
für den Watchdog der Clocksource!\\
Bereich (Range): 50 -- 1000
\english{Specify the maximum amount of allowable watchdog skew in microseconds before reporting the clocksource to be unstable.
The default is based on a half-second clocksource watchdog interval and NTP's maximum frequency drift of 500 parts per million.
If the clocksource is good enough for NTP, it is good enough for the clocksource watchdog!}
%1.17 BPF subsystem
\subsection{BPF subsystem \texorpdfstring{$\rightarrow$}{->}}
Berkeley Packet Filter, Firewall-Filtertechnik im Kernel
@@ -306,6 +447,7 @@ Wenn CONFIG\_BPF\_JIT\_ALWAYS\_ON eingeschaltet ist, dann wird
\texttt{/proc/sys/net/core/bpf\_jit\_enable} permanent auf 1 gesetzt, alle
Versuche diese Einstellung auf andere Werte zu legen wird mit einem Fehler
zurückgewiesen.
\subsubsection{Disable unprivileged BPF by default}
CONFIG\_BPF\_UNPRIV\_DEFAULT\_OFF [=y] \textbf{[Y]}\\
Deaktiviert die unprivilegierte BPF standardmäßig, indem der entsprechende Eintrag\\
@@ -316,6 +458,7 @@ er sie auf 1 setzt (von wo aus kein weiterer Übergang auf 0 mehr möglich ist).
Unprivilegierte BPF könnte verwendet werden, um bestimmte potenzielle Seitenkanalschwachstellen
für spekulative Ausführung auf nicht gemilderter betroffener Hardware auszunutzen.
Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit Y.
\subsubsection{Preload BPF file system with kernel specific program
and map iterators \texorpdfstring{$\rightarrow$}{->}}
BPF\_PRELOAD [=n] \textbf{[N]}\\
@@ -323,6 +466,7 @@ Dadurch wird ein Kernelmodul mit mehreren eingebetteten BPF"=Programmen erstellt
die als für den Menschen lesbare Dateien in den BPF-FS"=Einhängepunkt
eingefügt werden, was bei der Fehlersuche und der Untersuchung von BPF"=Programmen
und -Maps nützlich ist.
\paragraph{bpf\_preload kernel module\\} $~$ \\
\textit{Dies ist nur sichtbar wenn der übergeordnete Punkt aktiviert ist.}\\
CONFIG\_BPF\_PRELOAD\_UMD [=m] \textbf{[~]}\\
@@ -353,6 +497,7 @@ im Kernel.
Diese neuen Unterbrechungspunkte wurden ausgewählt, um die maximale Latenz beim neuerlichen Zuordnen
des Schedulers zu reduzieren und dadurch schnelle Reaktionszeiten der Applikationen zu gewährleisten. --
Auf Kosten eines geringeren Durchsatzes wird dies erreicht.
\subsubsection{Preemptible Kernel (Low-Latency Desktop)}
CONFIG\_PREEMPT \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
Bei dieser Einstellung wird die Latenz des Kernels weiter erniedrigt indem der gesamte Code des Kernels
@@ -361,6 +506,7 @@ Arbeiten mit Applikationen aus Nutzersicht erreicht, sogar unter Volllast.
Wähle diese Einstellung, wenn man einen Desktop oder ein Embedded-System mit einer Latenz im
Millisekundenbereich möchte. Natürlich geht diese Einstellung mit einem leicht geringerem Durchsatz an
Rechenleistung einher.
%1.19 Preemption behaviour defined on boot
\subsection{Preemtion behaviour defined on boot}
CONFIG\_PREEMPT\_DYNAMIC \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
@@ -381,10 +527,8 @@ sollte der potenzielle Overhead in Betracht gezogen werden.
Interessant wird es, wenn derselbe vorgefertigte Kernel
sowohl für Server- als auch für Desktop-Workloads verwendet
werden soll.
\\\begin{scriptsize}
Wir setzen dies nicht, da wir wissen, dass der Kernal für den Desktop
kompiliert wird.
\end{scriptsize}
\note{Wir setzen dies nicht, da wir wissen, dass der Kernal für den Desktop kompiliert wird.}
%1.20 Core Scheduling for SMT
\subsection{Core Scheduling for SMT}
CONFIG\_SCHED\_CORE [=y] \textbf{[Y]}\\
@@ -407,6 +551,7 @@ SCHED\_CORE ist standardmäßig deaktiviert. Wenn es aktiviert und unbenutzt ist
bei Linux-Distributionen wahrscheinlich der Fall ist,
sollte es keine messbaren Auswirkungen auf die Leistung
haben.
% 1.21 Extensible Scheduling Class (seit 6.11)
\subsection{Extensible Scheduling Class {\tiny seit 6.12}}
CONFIG\_SCHED\_CLASS\_EXT [=y] \textbf{[Y]}\\
@@ -432,8 +577,7 @@ struct sched\_class.
Für weitere Informationen:\\
Dokumentation/scheduler/sched-ext.rst\\
\href{https://github.com/sched-ext/scx}{https://github.com/sched-ext/scx}\\[1em]
\english{
This option enables a new scheduler class sched\_ext (SCX), which
\english{This option enables a new scheduler class sched\_ext (SCX), which
allows scheduling policies to be implemented as BPF programs to
achieve the following:
\begin{itemize}
@@ -462,6 +606,7 @@ Kontextverfolgungs-Subsystems implementiert.
Die Berechnung erfolgt daher auf Kosten eines erheblichen Overheads.\\
Im Moment ist dies nur sinnvoll, wenn Sie an der Entwicklung des vollständigen
Dynticks-Subsystems arbeiten.
%1.22.2
\subsubsection{Fine granularity task level IRQ time accounting}
CONFIG\_IRQ\_TIME\_ACCOUNTING \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
@@ -471,10 +616,7 @@ Dies geschieht durch das Lesen eines Zeitstempels bei jedem Übergang
zwischen dem softirq- und dem hardirq"=Zustand, so dass es zu geringen
Leistungseinbußen kommen kann.\\
Im Zweifelsfall sagen Sie hier N für Nein.
\\\begin{scriptsize}
Um etwas mehr Performance zu gewinnen, setzen wir dies auf N für Nein.
\end{scriptsize}
\note{Um etwas mehr Performance zu gewinnen, setzen wir dies auf N für Nein.}
\subsubsection{BSD Process Accounting}
CONFIG\_BSD\_PROCESS\_ACCT [=y] \textbf{[Y]}\\
@@ -1180,6 +1322,7 @@ zu haben, solange sie sich in verschiedenen pid-Namensräumen befinden. Dies is
\subsubsection{Network namespace}
CONFIG\_NET\_NS [=y] \textbf{[Y]}\\
Ermöglicht es dem Benutzer, scheinbar mehrere Instanzen des Netzwerkstapels zu erstellen.
%1.34 Checkpoint/restore support
\subsection{Checkpoint/restore support}
CONFIG\_CHECKPOINT\_RESTORE [=y] \textbf{[Y]}\\
@@ -1187,6 +1330,9 @@ Ermöglicht zusätzliche Kernel-Funktionen in einer Art Checkpoint/Restore.
Insbesondere fügt es zu\-sätz\-liche prctl"=Codes zum Einrichten von Prozesstext, Daten- und Heap"=Segmentgrößen
sowie einige zusätzliche \texttt{/proc}-Dateisystemeinträge hinzu.\\
Wenn Sie unsicher sind, geben Sie hier N an.
\english{Enables additional kernel features in a sake of checkpoint/restore.
In particular it adds auxiliary prctl codes to setup process text, data and heap segment sizes, and a few additional /proc filesystem entries.\\
If unsure, say N here.}
%1.35 Automatic process group scheduling
\subsection{Automatic process group scheduling}

View File

@@ -1,4 +1,4 @@
%Linux 6.13
%Linux 6.14
\section{Processor type and features \texorpdfstring{$\rightarrow$}{->}}
Prozessortyp und Eigenschaften
@@ -470,7 +470,7 @@ Damit können Sie auswählen, welchen x86-Hersteller-Support-Code Ihr Kernel ent
\english{This lets you choose what x86 vendor support code your kernel will include.}
\subsubsection{Support Intel processors}
CONFIG\_CPU\_SUP\_INTEL \colorbox{yellow!80}{[=n] \textbf{[Y]}}\\
CONFIG\_CPU\_SUP\_INTEL \colorbox{green!80}{[=y] \textbf{[Y]}}\\
Dies aktiviert die Erkennung, die Einstellungen und die Macken für Intel-Prozessoren\\
Sie müssen diese Option aktivieren, wenn Sie möchten, dass Ihr Kernel auf einer Intel-CPU läuft.
Wenn Sie diese Option bei anderen CPU-Typen deaktivieren, wird der Kernel ein wenig kleiner.
@@ -483,71 +483,58 @@ Disabling it on an Intel CPU might render the kernel unbootable.\\
If unsure, say N.}
\subsubsection{Support AMD processors}
CONFIG\_CPU\_SUP\_AMD [=n] \textbf{[N]}\\
CONFIG\_CPU\_SUP\_AMD \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
Dies ermöglicht die Erkennung, Abstimmung und Macken von AMD-Prozessoren.\\
Sie müssen diese Option aktivieren, wenn Sie möchten, dass Ihr Kernel auf einer AMD-CPU läuft.
Wenn Sie diese Option bei anderen CPU-Typen deaktivieren, wird der Kernel ein wenig kleiner.
Das Deaktivieren dieser Option auf einer AMD-CPU kann dazu führen, dass der Kernel nicht mehr gebootet werden kann.\\
Wenn Sie unsicher sind, dann sagen Sie N.
english{This enables detection, tunings and quirks for AMD processors\\
\english{This enables detection, tunings and quirks for AMD processors\\
You need this enabled if you want your kernel to run on an AMD CPU.
Disabling this option on other types of CPUs makes the kernel a tiny bit smaller.
Disabling it on an AMD CPU might render the kernel unbootable.\\
If unsure, say N.}
\note{Sie müssen zuerst den untenstehenden \glqq Support Hygon processor\grqq{} deaktivieren, um diese Einstellung zu tätigen.}
\subsubsection{Support Hygon processors}
CONFIG\_CPU\_SUP\_HYGON [=n] \textbf{[N]}\\
CONFIG\_CPU\_SUP\_HYGON \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
Dies ermöglicht die Erkennung, Abstimmung und Macken von Hygon-Prozessoren.\\
Sie müssen diese Option aktivieren, wenn Sie möchten, dass Ihr Kernel auf einer Hygon-CPU läuft.
Wenn Sie diese Option bei anderen CPU-Typen deaktivieren, wird der Kernel ein wenig kleiner.
Das Deaktivieren dieser Option auf einer Hygon-CPU kann dazu führen, dass der Kernel nicht mehr gebootet werden kann.\\
Wenn Sie unsicher sind, dann sagen Sie N.
english{This enables detection, tunings and quirks for Hygon processors\\
\english{This enables detection, tunings and quirks for Hygon processors\\
You need this enabled if you want your kernel to run on an Hygon CPU.
Disabling this option on other types of CPUs makes the kernel a tiny bit smaller.
Disabling it on an Hygon CPU might render the kernel unbootable.\\
If unsure, say N.}
\subsubsection{Support Centaur processors}
CONFIG\_CPU\_SUP\_CENTAUR [=n] \textbf{[N]}\\
CONFIG\_CPU\_SUP\_CENTAUR \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
Dies ermöglicht die Erkennung, Abstimmung und Macken von Centaur-Prozessoren.\\
Sie müssen diese Option aktivieren, wenn Sie möchten, dass Ihr Kernel auf einer Centaur-CPU läuft.
Wenn Sie diese Option bei anderen CPU-Typen deaktivieren, wird der Kernel ein wenig kleiner.
Das Deaktivieren dieser Option auf einer Centaur-CPU kann dazu führen, dass der Kernel nicht mehr gebootet werden kann.\\
Wenn Sie unsicher sind, dann sagen Sie N.
english{This enables detection, tunings and quirks for Centaur processors\\
\english{This enables detection, tunings and quirks for Centaur processors\\
You need this enabled if you want your kernel to run on a Centaur CPU.
Disabling this option on other types of CPUs makes the kernel a tiny bit smaller.
Disabling it on a Centaur CPU might render the kernel unbootable.\\
If unsure, say N.}
\subsubsection{Support Zhaoxin processors}
CONFIG\_CPU\_SUP\_ZHAOXIN [=n] \textbf{[N]}\\
CONFIG\_CPU\_SUP\_ZHAOXIN \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
Dies ermöglicht die Erkennung, Abstimmung und Macken von Zhaoxin-Prozessoren.\\
Sie müssen diese Option aktivieren, wenn Sie möchten, dass Ihr Kernel auf einer Centaur-CPU läuft.
Wenn Sie diese Option bei anderen CPU-Typen deaktivieren, wird der Kernel ein wenig kleiner.
Das Deaktivieren dieser Option auf einer Zhaoxin-CPU kann dazu führen, dass der Kernel nicht mehr gebootet werden kann.\\
Wenn Sie unsicher sind, dann sagen Sie N.
english{This enables detection, tunings and quirks for Zhaoxin processors\\
\english{This enables detection, tunings and quirks for Zhaoxin processors\\
You need this enabled if you want your kernel to run on a Zhaoxin CPU.
Disabling this option on other types of CPUs makes the kernel a tiny bit smaller.
Disabling it on a Zhaoxin CPU might render the kernel unbootable.\\
If unsure, say N.}
\subsection{Old AMD GART IOMMU support}
CONFIG\_GART\_IOMMU [=n] \textbf{[N]}\\
Bietet einen Treiber für ältere AMD Athlon64/Opteron/Turion/Sempron GART basierte Hardware
\mbox{IOMMUs} an.
Der GART unterstützt vollen DMA-Zugriff für Geräte mit 32-Bit-Zugriffsbeschränkungen auf Systemen
mit mehr als 3~GB. Dies wird normalerweise für USB, Sound, viele IDE/SATA-Chipsätze und einige andere
Geräte benötigt. Neuere Systeme haben in der Regel eine moderne AMD IOMMU, die über die
Konfigurationsoption CONFIG\_AMD\_IOMMU=y unterstützt wird. In normalen Konfigurationen ist dieser
Treiber nur aktiv, wenn er benötigt wird:
Es sind mehr als 3~GB Arbeitsspeicher vorhanden und das System enthält ein auf 32~Bit
begrenztes Gerät.\\
Wenn Sie unsicher sind, sagen Sie Y.
\subsection{Enable DMI scanning}
CONFIG\_DMI [=y] \textbf{[Y]}\\
Aktiviert das Scannen von DMI zur Erkennung von Gerätefehlern.
@@ -557,11 +544,33 @@ Erforderlich für PNP-BIOS-Code.
Say Y here unless you have verified that your setup is not affected by entries in the DMI blacklist.
Required by PNP BIOS code.}
\subsection{Old AMD GART IOMMU support}
CONFIG\_GART\_IOMMU [=n] \textbf{[N]}\\
Bietet einen Treiber für ältere AMD Athlon64/Opteron/Turion/Sempron GART basierte Hardware
\mbox{IOMMUs} an.
Der GART unterstützt vollen DMA-Zugriff für Geräte mit 32-Bit-Zugriffsbeschränkungen auf Systemen
mit mehr als \qty{3}{\giga\byte}. Dies wird normalerweise für USB, Sound, viele IDE/SATA-Chipsätze und einige andere
Geräte benötigt. Neuere Systeme haben in der Regel eine moderne AMD IOMMU, die über die
Konfigurationsoption CONFIG\_AMD\_IOMMU=y unterstützt wird. In normalen Konfigurationen ist dieser
Treiber nur aktiv, wenn er benötigt wird:
Es sind mehr als 3~GB Arbeitsspeicher vorhanden und das System enthält ein auf 32~Bit
begrenztes Gerät.\\
Wenn Sie unsicher sind, sagen Sie Y.
\english{Provides a driver for older AMD Athlon64/Opteron/Turion/Sempron GART based hardware IOMMUs.\\
The GART supports full DMA access for devices with 32-bit access limitations, on systems with more than 3 GB.\\
This is usually needed for USB, sound, many IDE/SATA chipsets and some other devices.\\
Newer systems typically have a modern AMD IOMMU, supported via the CONFIG\_AMD\_IOMMU=y config option.\\
In normal configurations this driver is only active when needed:
there's more than 3~GB of memory and the system contains a 32-bit limited device.\\
If unsure, say Y.}
%3.17
\subsection{Enable Maximum number of SMP Processors and NUMA Nodes}
CONFIG\_MAXSMP \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
Aktivieren der maximalen Anzahl von CPUs- und NUMA-Knoten für diese Architektur.\\
Wenn Sie unsicher sind, sagen Sie N.
\english{Enable maximum number of CPUS and NUMA Nodes for this architecture.\\
If unsure, say N.}
\subsection{Maximum number of CPUs}
CONFIG\_NR\_CPUS \colorbox{yellow!80}{[=320] \textbf{[8]}}\\
@@ -597,6 +606,14 @@ der Scheduler über die TBM3- (auch ITMT-) Prioritätsreihenfolge der CPU-Kerne
die CPU-Auswahllogik des Schedulers entsprechend an, so dass eine höhere Gesamtsystemleistung
erzielt werden kann. Diese Funktion hat keine Auswirkungen auf CPUs ohne diese Funktion.\\
Wenn Sie unsicher sind, geben Sie hier Y an.
\english{Intel Turbo Boost Max Technology 3.0 enabled CPUs have a core ordering determined at
manufacturing time, which allows certain cores to reach higher turbo frequencies
(when running single threaded workloads) than others.\\
Enabling this kernel feature teaches the scheduler about the TBM3 (aka ITMT) priority order of
the CPU cores and adjusts the scheduler's CPU selection logic accordingly, so that higher
overall system performance can be achieved.\\
This feature will have no effect on CPUs without this feature.\\
If unsure say Y here.}
\subsection{Reroute for broken boot IRQs}
CONFIG\_X86\_REROUTE\_FOR\_BROKEN\_BOOT\_IRQS \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
@@ -613,6 +630,17 @@ an den Kernel geliefert. Andernfalls kann der zweite Interrupt den Kernel dazu v
(lebenswichtige) Interrupt-Leitungen herunterzufahren. Betrifft nur
\glqq defekte\grqq{} Chipsätze. Die gemeinsame Nutzung von Interrupts kann auf diesen Systemen
erhöht werden.
\english{This option enables a workaround that fixes a source of spurious interrupts.
This is recommended when threaded interrupt handling is used on systems where the generation
of superfluous ``boot interrupts'' cannot be disabled.\\
Some chipsets generate a legacy INTx ``boot IRQ'' when the IRQ entry in the chipset's IO-APIC
is masked (as, e.g. the RT kernel does during interrupt handling).
On chipsets where this boot IRQ generation cannot be disabled, this workaround keeps the
original IRQ line masked so that only the equivalent ``boot IRQ'' is delivered to the CPUs.
The workaround also tells the kernel to set up the IRQ handler on the boot IRQ line.
In this way only one interrupt is delivered to the kernel.
Otherwise the spurious second interrupt may cause the kernel to bring down (vital) interrupt lines.\\
Only affects ``broken'' chipsets. Interrupt sharing may be increased on these systems.}
\note{Sie können diese Option getrost ausschalten, wenn Sie folgendes nicht beim Hochfahren empfangen:\\
\texttt{
irq X: nobody cared (try booting with \dq irqpoll\dq{} option)}\\
@@ -718,7 +746,7 @@ Disabling this option saves about 300 bytes on i386, or around 6K text plus 16K
%3.26
\subsection{Enable vsyscall emulation}
CONFIG\_X86\_VSYSCALL\_EMULATION [=n] \textbf{[N]}\\
CONFIG\_X86\_VSYSCALL\_EMULATION \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
Dies aktiviert die Emulation der alten vsyscall-Seite.
Die Deaktivierung entspricht in etwa dem Booten mit vsyscall=none, mit der Ausnahme, dass damit auch die hilfreiche
die hilfreiche Warnung deaktiviert wird, wenn ein Programm versucht, einen vsyscall zu verwenden.
@@ -1202,7 +1230,7 @@ good interactive responsiveness even on SMP and NUMA systems.
If you are going to be using NTSC video or multimedia, selected 300Hz instead.}
\subsubsection{300~Hz}
CONFIG\_HZ\_300 [=y] \textbf{[Y]}\\
CONFIG\_HZ\_300 \colorbox{yellow!80}{[=n] \textbf{[Y]}}\\
\qty{300}{\hertz} ist ein guter Kompromiss, der eine gute Serverleistung und gleichzeitig eine gute interaktive
Reaktionsfähigkeit selbst auf SMP- und NUMA-Systemen ermöglicht und sowohl bei PAL- als auch bei
NTSC-Bildraten für Video- und Multimedia-Arbeiten genau eingehalten wird.
@@ -1211,7 +1239,7 @@ good interactive responsiveness even on SMP and NUMA systems and exactly dividin
NTSC frame rates for video and multimedia work.}
\subsubsection{1000~Hz}
CONFIG\_HZ\_1000 [=n] \textbf{[N]}\\
CONFIG\_HZ\_1000 \colorbox{yellow!80}{[=n] \textbf{[Y]}}\\
\qty{1000}{\hertz} ist die bevorzugte Wahl für Desktop-Systeme und andere Systeme, die schnelle interaktive
Reaktionen auf Ereignisse erfordern.
\english{1000~Hz is the preferred choice for desktop systems and other systems requiring

View File

@@ -18778,6 +18778,162 @@ Dieser Treiber kann auch als Modul erstellt werden. In diesem Fall wird das Modu
\english{If you say yes here you get support for Moortec MR75203 PVT controller.\\
This driver can also be built as a module. If so, the module will be called \texttt{mr75203}.}
\subsubsection{National Semiconductor ADCxxxSxxx}
CONFIG\_SENSORS\_ADCXX [=m] \textbf{[M]}\\*
Wenn Sie hier ja sagen, erhalten Sie Unterstützung für die National Semiconductor ADC$<$bb$><$c$><$sss$>$-Chipfamilie, wobei\\
* bb die Auflösung in Bits ist (8, 10, 12)\\
* c die Anzahl der Kanäle ist (1, 2, 4, 8)\\
* sss die maximale Wandlungsgeschwindigkeit ist (021 für 200 kSPS, 051 für 500 kSPS und 101 für 1 MSPS)\\
Beispiele: ADC081S101, ADC124S501, ...\\
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{adcxx} genannt.
\english{If you say yes here you get support for the National Semiconductor ADC$<$bb$><$c$><$sss$>$ chip family, where\\
* bb is the resolution in number of bits (8, 10, 12)\\
* c is the number of channels (1, 2, 4, 8)\\
* sss is the maximum conversion speed (021 for 200 kSPS, 051 for 500 kSPS and 101 for 1 MSPS)\\
Examples : ADC081S101, ADC124S501, ...\\
This driver can also be built as a module. If so, the module will be called \texttt{adcxx}.}
\subsubsection{National Semiconductor LM63 and compatibles}
CONFIG\_SENSORS\_LM63 [=m] \textbf{[M]}\\*
Wenn Sie hier ja sagen, erhalten Sie Unterstützung für die digitalen Temperatursensoren LM63, LM64 und LM96163
von National Semiconductor mit integrierter Lüftersteuerung.
Solche Chips sind unter anderem auf dem Tyan S4882 (Thunder K8QS Pro) Motherboard zu finden.\\\
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{lm63} genannt.
\english{If you say yes here you get support for the National Semiconductor LM63, LM64, and LM96163 remote diode digital temperature
sensors with integrated fan control.
Such chips are found on the Tyan S4882 (Thunder K8QS Pro) motherboard, among others.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm63}.}
\subsubsection{National Semiconductor LM70 and compatibles}
CONFIG\_SENSORS\_LM70 [=m] \textbf{[M]}\\*
Wenn Sie hier ja sagen, erhalten Sie Unterstützung für die digitalen Temperatursensorchips LM70, LM71, LM74 von National Semiconductor und TMP121/TMP123, TMP122/TMP124,
TMP125 von Texas Instruments.\\
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{lm70} genannt.
\english{If you say yes here you get support for the National Semiconductor LM70, LM71, LM74 and Texas Instruments TMP121/TMP123, TMP122/TMP124,
TMP125 digital temperature sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm70}.}
\subsubsection{National Semiconductor LM73}
CONFIG\_SENSORS\_LM73 [=m] \textbf{[M]}\\*
Wenn Sie dies bejahen, erhalten Sie Unterstützung für National Semiconductor LM73 Sensorchips.
Dieser Treiber kann auch als Modul gebaut werden. Wenn ja, wird das Modul \texttt{lm73} genannt.
\english{If you say yes here you get support for National Semiconductor LM73 sensor chips.
This driver can also be built as a module. If so, the module will be called \texttt{lm73}.}
\subsubsection{National Semiconductor LM75 and compatibles}
CONFIG\_SENSORS\_LM75 [=m] \textbf{[M]}\\*
Wenn Sie dies bejahen, erhalten Sie Unterstützung für eine gängige Art von Temperatursensorchip mit folgenden Modellen:
-- Analog Devices ADT75\\
-- Atmel (jetzt Microchip) AT30TS74\\
-- Dallas Semiconductor DS75, DS1775 und DS7505\\
-- Global Mixed-mode Technology (GMT) G751\\
-- Maxim MAX6625 und MAX6626\\
-- Microchip MCP980x\\
-- National Semiconductor LM75, LM75A\\
-- NXP's LM75A\\
-- ST Microelectronics STDS75\\
-- ST Microelectronics STLM75\\
-- TelCom (jetzt Microchip) TCN75\\
-- Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP175, TMP275\\
Dieser Treiber unterstützt die auf dem Treibermodell basierende Bindung durch boardspezifische I2C-Gerätetabellen.\\
Er unterstützt auch den älteren Stil der Treiberbindung.
Um dies mit einigen Chips zu verwenden, die die LM75-Merkmale nicht genau nachbilden, benötigen Sie möglicherweise den Modulparameter ``force''.
Dieser Treiber kann auch als Modul erstellt werden. Wenn dies der Fall ist, wird das Modul \texttt{lm75} genannt.
\english{If you say yes here you get support for one common type of temperature sensor chip, with models including:
-- Analog Devices ADT75\\
-- Atmel (now Microchip) AT30TS74\\
-- Dallas Semiconductor DS75, DS1775 and DS7505\\
-- Global Mixed-mode Technology (GMT) G751\\
-- Maxim MAX6625 and MAX6626\\
-- Microchip MCP980x\\
-- National Semiconductor LM75, LM75A\\
-- NXP's LM75A\\
-- ST Microelectronics STDS75\\
-- ST Microelectronics STLM75\\
-- TelCom (now Microchip) TCN75\\
-- Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP175, TMP275\\
This driver supports driver model based binding through board specific I2C device tables.\\
It also supports the ``legacy'' style of driver binding.
To use that with some chips which don't replicate LM75 quirks exactly, you may need the ``force'' module parameter.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm75}.}
\subsubsection{National Semiconductor LM77}
CONFIG\_SENSORS\_LM77 [=m] \textbf{[M]}\\*
Wenn Sie hier Ja sagen, erhalten Sie Unterstützung für LM77-Sensorchips von National Semiconductor.
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{lm77} genannt.
\english{If you say yes here you get support for National Semiconductor LM77 sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm77}.}
\subsubsection{National Semiconductor LM78 and compatibles}
CONFIG\_SENSORS\_LM78 [=m] \textbf{[M]}\\
Wenn Sie hier Ja sagen, erhalten Sie Unterstützung für National Semiconductor LM78, LM78-J und LM79.\\
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{lm78} genannt.
\english{If you say yes here you get support for National Semiconductor LM78, LM78-J and LM79.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm78}.}
\subsubsection{National Semiconductor LM80 and LM96080}
CONFIG\_SENSORS\_LM80 [=m] \textbf{[M]}\\
Wenn Sie dies bejahen, erhalten Sie Unterstützung für die Sensorchips LM80 und LM96080 von National Semiconductor.
Dieser Treiber kann auch als Modul gebaut werden. Wenn dies der Fall ist, wird das Modul \texttt{lm80} genannt.
\english{If you say yes here you get support for National Semiconductor LM80 and LM96080 sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm80}.}
\subsubsection{National Semiconductor LM83 and compatibles}
CONFIG\_SENSORS\_LM83 [=m] \textbf{[M]}\\
Wenn Sie dies bejahen, erhalten Sie Unterstützung für LM82- und LM83-Sensorchips von National Semiconductor.
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{lm83} genannt.
\english{If you say yes here you get support for National Semiconductor LM82 and LM83 sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm83}.}
\subsubsection{National Semiconductor LM85 and compatibles}
CONFIG\_SENSORS\_LM85 [=m] \textbf{[M]}\\
Wenn Sie dies bejahen, erhalten Sie Unterstützung für LM85-Sensorchips und Klone von National Semiconductor: ADM1027, ADT7463, ADT7468, EMC6D100, EMC6D101, EMC6D102, und EMC6D103.\\
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{lm85} genannt.
\english{If you say yes here you get support for National Semiconductor LM85 sensor chips and clones: ADM1027, ADT7463, ADT7468, EMC6D100, EMC6D101, EMC6D102, and EMC6D103.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm85}.}
\subsubsection{National Semiconductor LM87 and compatibles}
CONFIG\_SENSORS\_LM87 [=m] \textbf{[M]}\\
Wenn Sie dies bejahen, erhalten Sie Unterstützung für die Sensorchips LM87 von National Semiconductor und ADM1024 von Analog Devices.\\
Dieser Treiber kann auch als Modul erstellt werden. In diesem Fall wird das Modul \texttt{lm87} genannt.
\english{If you say yes here you get support for National Semiconductor LM87 and Analog Devices ADM1024 sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm87}.}
\subsubsection{National Semiconductor LM90 and compatibles}
CONFIG\_SENSORS\_LM90 [=m] \textbf{[M]}\\
Wenn Sie hier ja sagen, erhalten Sie Unterstützung für National Semiconductor LM84, LM90, LM86, LM89 und LM99, Analog Devices ADM1020, ADM2021,
ADM1021A, ADM1023, ADM1032, ADT7461, ADT7461A, ADT7481, ADT7482, und ADT7483A, Maxim MAX1617, MAX6642, MAX6646, MAX6647, MAX6648, MAX6649, MAX6654,
MAX6657, MAX6658, MAX6659, MAX6680, MAX6681, MAX6692, MAX6695, MAX6696, ON Semiconductor NCT1008, NCT210, NCT72, NCT214, NCT218,
Winbond/Nuvoton W83L771W/G/AWG/ASG, Philips NE1618, SA56004, GMT G781, Texas Instruments TMP451 und TMP461 Sensorchips.\\
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{lm90} genannt.
\english{If you say yes here you get support for National Semiconductor LM84, LM90, LM86, LM89 and LM99, Analog Devices ADM1020, ADM2021, ADM1021A,
ADM1023, ADM1032, ADT7461, ADT7461A, ADT7481, ADT7482, and ADT7483A, Maxim MAX1617, MAX6642, MAX6646, MAX6647, MAX6648, MAX6649, MAX6654,
MAX6657, MAX6658, MAX6659, MAX6680, MAX6681, MAX6692, MAX6695, MAX6696, ON Semiconductor NCT1008, NCT210, NCT72, NCT214, NCT218,
Winbond/Nuvoton W83L771W/G/AWG/ASG, Philips NE1618, SA56004, GMT G781, Texas Instruments TMP451 and TMP461 sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm90}.}
\subsubsection{National Semiconductor LM92 and compatibles}
CONFIG\_SENSORS\_LM92 [=m] \textbf{[M]}\\
Wenn Sie dies bejahen, erhalten Sie Unterstützung für National Semiconductor LM92 und LM76 sowie Maxim MAX6633/6634/6635 Sensorchips.\\
Dieser Treiber kann auch als Modul gebaut werden. Wenn dies der Fall ist, wird das Modul \texttt{lm92} genannt.
\english{If you say yes here you get support for National Semiconductor LM92 and LM76 as well as Maxim MAX6633/6634/\\6635 sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm92}.}
\subsubsection{National Semiconductor LM93 and compatibles}
CONFIG\_SENSORS\_LM93 [=m] \textbf{[M]}\\
Wenn Sie hier Ja sagen, erhalten Sie Unterstützung für National Semiconductor LM93, LM94 und kompatible Sensorchips.
Dieser Treiber kann auch als Modul gebaut werden. In diesem Fall wird das Modul \texttt{lm93} genannt.
\english{If you say yes here you get support for National Semiconductor LM93, LM94, and compatible sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm93}.}
\subsubsection{National Semiconductor LM95234 and compatibles}
CONFIG\_SENSORS\_LM95234 [=m] \textbf{[M]}\\
Wenn Sie dies bejahen, erhalten Sie Unterstützung für die Temperatursensorchips LM95233 und LM95234.\\
Dieser Treiber kann auch als Modul gebaut werden. Wenn dies der Fall ist, wird das Modul \texttt{lm95234} genannt.
\english{If you say yes here you get support for the LM95233 and LM95234 temperature sensor chips.\\
This driver can also be built as a module. If so, the module will be called \texttt{lm95234}.}
%% \texorpdfstring{$\longrightarrow$}{->}
%% \textit{Für diese Option gibt es keine Hilfe.}