update linux config change compress from LZ4 to ZSTD
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
% Thomas Kuschel 2023
|
||||
\newcommand{\version}{V6.2}
|
||||
\documentclass[12pt,a4paper]{article}
|
||||
\usepackage[a4paper,margin=25mm]{geometry}
|
||||
\usepackage[ngerman]{babel} %Verwendung von \glqq \qrgg{}
|
||||
|
||||
\begin{document}
|
||||
|
||||
@@ -18,8 +20,8 @@ Z.\,B. bei CONFIG\_WERROR~[=n]~\textbf{[Y]}\\
|
||||
Hier ist der Standarwert ein Nein [n], meine Einstellung ein Ja [Y].
|
||||
\section{General setup \( \rightarrow \) }
|
||||
|
||||
\subsubsection{Compile also drivers which will not load}
|
||||
COMPILE\_TEST [=n] \textbf{[~]}\\
|
||||
\subsection{Compile also drivers which will not load}
|
||||
CONFIG\_COMPILE\_TEST [=n] \textbf{[~]}\\
|
||||
Einige Treiber können auf einer anderen Plattform kompiliert werden als
|
||||
auf der, für die sie gedacht sind. Obwohl sie dort nicht geladen werden
|
||||
können (oder selbst wenn sie geladen werden können, können sie aufgrund
|
||||
@@ -27,7 +29,7 @@ fehlender Hardware-Unterstützung nicht verwendet werden), möchten
|
||||
Entwickler, im Gegensatz zu Distributoren, solche Treiber vielleicht
|
||||
trotzdem kompilieren und testen.
|
||||
|
||||
\subsubsection{Compile the kernel with warnings as errors}
|
||||
\subsection{Compile the kernel with warnings as errors}
|
||||
CONFIG\_WERROR [=n] \textbf{[Y]}\\
|
||||
Ein Build sollte keine Compiler-Warnungen ausgeben, dies aktiviert die
|
||||
Flags '-Werror' (für C) und '-Dwarnings' (für Rust) um diese Regel
|
||||
@@ -37,4 +39,80 @@ 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.
|
||||
|
||||
\subsection{Local version -- append to kernel release}
|
||||
CONFIG\_LOCALVERSION [=] \textbf{[~]}\\
|
||||
Type: string\\
|
||||
Hängen Sie eine zusätzliche Zeichenkette an das Ende Ihrer Kernelversion
|
||||
an.\\
|
||||
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.
|
||||
|
||||
\subsection{Automatically append version information to the version string}
|
||||
CONFIG\_LOCALVERSION\_AUTO [=y] \textbf{[Y]}\\
|
||||
Dies versucht automatisch festzustellen, ob der aktuelle Baum ein
|
||||
Release-Tree ist, indem es nach \textbf{Git}-Tags sucht, die zur aktuellen
|
||||
Top-of-Tree-Revision gehören.\\
|
||||
Eine Zeichenkette des Formats \texttt{-gxxxxxxxx} wird der lokalen Version
|
||||
hinzugefügt, wenn ein git-basierter Baum gefunden wird. Die so erzeugte
|
||||
Zeichenkette wird nach allen passenden \glqq localversion*\grqq -Dateien
|
||||
und nach dem in CONFIG\_LOCALVERSION eingestellten Wert angehängt. (Die hier
|
||||
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.)
|
||||
\subsection{Build ID Salt}
|
||||
CONFIG\_BUILD\_SALT [=] \textbf{[~]}\\
|
||||
Type: string\\
|
||||
Dies wird verwendet, um die Binaries und ihre Debug-Infos zu verknüpfen.
|
||||
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.
|
||||
|
||||
\subsection{Kernel compression mode}
|
||||
Der Linux-Kernel ist eine Art selbstextrahierende ausführbare Datei.\\
|
||||
Es stehen mehrere Kompressionsalgorithmen zur Verfügung, die sich in
|
||||
Effizienz, Kompressions- und Dekompressionsgeschwindigkeit unterscheiden.
|
||||
Die Komprimierungsgeschwindigkeit ist nur bei der Erstellung eines Kernels
|
||||
relevant. Die Dekomprimierungsgeschwindigkeit ist bei jedem Systemstart
|
||||
von Bedeutung. (Eine ältere Version dieser Funktionalität (nur bzip2)
|
||||
für 2.4 wurde von Christian Ludwig bereitgestellt)
|
||||
Hohe Komprimierungsoptionen sind vor allem für Benutzer nützlich, die
|
||||
wenig Festplattenplatz zur Verfügung haben (embedded systems), für die
|
||||
aber die Ram-Größe weniger wichtig ist.\\
|
||||
Überblick: Gzip werden von den älteren Kernelversionen unterstützt,\\
|
||||
Arch Linux (since Linux/x86 5.9.0) Standard: ZSTD (former: XZ since 4.14.4, predecessor GZIP,XZ)\\
|
||||
Debian 11.6: XZ
|
||||
@TODO Weitere Linux Distros
|
||||
|
||||
\subsubsection{Gzip}
|
||||
CONFIG\_KERNEL\_GZIP [=n] \textbf{[~]}\\
|
||||
Die alte und bewährte gzip-Kompression. Sie bietet ein gutes
|
||||
Gleichgewicht zwischen Kompressionsrate und
|
||||
Dekompressionsgeschwindigkeit.
|
||||
\subsubsection{Bzip2}
|
||||
\subsubsection{LZMA}
|
||||
\subsubsection{XZ}
|
||||
CONFIG\_KERNEL\_XZ [=n] \textbf{[~]}\\
|
||||
XZ verwendet den LZMA2-Algorithmus und befehlssatzspezifische
|
||||
BCJ-Filter, die das Komprimierungsverhältnis des ausführbaren
|
||||
Codes verbessern können. Die Größe des Kernels ist mit XZ im
|
||||
Vergleich zu gzip etwa 30 \% kleiner. Auf Architekturen, für die
|
||||
es einen BCJ-Filter gibt (i386, x86\_64, ARM, IA-64, PowerPC und
|
||||
SPARC), erzeugt XZ einen um einige Prozent kleineren Kernel als
|
||||
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.
|
||||
\subsubsection{LZO}
|
||||
\subsubsection{LZ4}
|
||||
\subsubsection{ZSTD}
|
||||
CONFIG\_KERNEL\_ZSTD [=y] \textbf{[Y]}\\
|
||||
ZSTD ist ein Komprimierungsalgorithmus, der auf eine Zwischenkomprimierung
|
||||
mit schneller Dekomprimierungsgeschwindigkeit abzielt. Er
|
||||
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.
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user