update linux config change compress from LZ4 to ZSTD
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
% Thomas Kuschel 2023
|
% Thomas Kuschel 2023
|
||||||
\newcommand{\version}{V6.2}
|
\newcommand{\version}{V6.2}
|
||||||
\documentclass[12pt,a4paper]{article}
|
\documentclass[12pt,a4paper]{article}
|
||||||
|
\usepackage[a4paper,margin=25mm]{geometry}
|
||||||
|
\usepackage[ngerman]{babel} %Verwendung von \glqq \qrgg{}
|
||||||
|
|
||||||
\begin{document}
|
\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].
|
Hier ist der Standarwert ein Nein [n], meine Einstellung ein Ja [Y].
|
||||||
\section{General setup \( \rightarrow \) }
|
\section{General setup \( \rightarrow \) }
|
||||||
|
|
||||||
\subsubsection{Compile also drivers which will not load}
|
\subsection{Compile also drivers which will not load}
|
||||||
COMPILE\_TEST [=n] \textbf{[~]}\\
|
CONFIG\_COMPILE\_TEST [=n] \textbf{[~]}\\
|
||||||
Einige Treiber können auf einer anderen Plattform kompiliert werden als
|
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
|
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
|
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
|
Entwickler, im Gegensatz zu Distributoren, solche Treiber vielleicht
|
||||||
trotzdem kompilieren und testen.
|
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]}\\
|
CONFIG\_WERROR [=n] \textbf{[Y]}\\
|
||||||
Ein Build sollte keine Compiler-Warnungen ausgeben, dies aktiviert die
|
Ein Build sollte keine Compiler-Warnungen ausgeben, dies aktiviert die
|
||||||
Flags '-Werror' (für C) und '-Dwarnings' (für Rust) um diese Regel
|
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
|
mit seltenen, ungewöhnlichen Warnungen haben. Haben Sie auf Ihrer
|
||||||
Architektur Probleme, dann müssen Sie diese Konfiguration deaktivieren,
|
Architektur Probleme, dann müssen Sie diese Konfiguration deaktivieren,
|
||||||
um den Kernel erfolgreich zu bauen. Im Zweifelsfall sagen sie Y für Ja.
|
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}
|
\end{document}
|
||||||
Reference in New Issue
Block a user