From dd5996e5bef554d403479845e64bf52176194a46 Mon Sep 17 00:00:00 2001 From: Thomas Kuschel Date: Tue, 15 Apr 2025 18:04:10 +0200 Subject: [PATCH] ADD english text to 04 mitigations, 05... todo --- documentation/linux_configuration.pdf | 4 +- documentation/linux_configuration.tex | 4 +- ...uration_03_processor_type_and_features.tex | 22 ++- ..._speculative_execution_vulnerabilities.tex | 165 +++++++++++++++++- ...n_05_power_management_and_acpi_options.tex | 61 ++++++- 5 files changed, 244 insertions(+), 12 deletions(-) diff --git a/documentation/linux_configuration.pdf b/documentation/linux_configuration.pdf index 0e1785a..5ceae4d 100644 --- a/documentation/linux_configuration.pdf +++ b/documentation/linux_configuration.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad4fcf311c2fe33ce4e9e89e2b518464dc293c456ed8780e24a7882aa093bf46 -size 3268151 +oid sha256:05801ee0e31215eac1777cb6cee6847fa72de2343fd5737bb3480ecd20f45d2f +size 3287269 diff --git a/documentation/linux_configuration.tex b/documentation/linux_configuration.tex index d6b4e8a..c717bb4 100644 --- a/documentation/linux_configuration.tex +++ b/documentation/linux_configuration.tex @@ -10,9 +10,11 @@ % pacman -S texlive-mathscience %\includeonly{ + %linux_configuration_04_mitigations_for_speculative_execution_vulnerabilities, + %linux_configuration_05_power_management_and_acpi_options, %linux_configuration_13_memory_management_options, %linux_configuration_14_networking_support, -% linux_configuration_15_device_drivers, + %linux_configuration_15_device_drivers, %linux_configuration_16_file_systems, %linux_configuration_17_security_options, %linux_configuration_18_cryptographic_API diff --git a/documentation/linux_configuration_03_processor_type_and_features.tex b/documentation/linux_configuration_03_processor_type_and_features.tex index 764125a..be1eb64 100644 --- a/documentation/linux_configuration_03_processor_type_and_features.tex +++ b/documentation/linux_configuration_03_processor_type_and_features.tex @@ -1092,13 +1092,15 @@ If unsure, say Y.} \note{Für normale Systeme Y für Ja. Nur bei einem \glqq headless server\grqq{} ein N.} \paragraph{MTRR cleanup enable value (0-1)}$~$\\ -CONFIG\_MTRR\_SANITIZER [=1] \textbf{[1]}\\ +CONFIG\_MTRR\_SANITIZER\_ENABLE\_DEFAULT [=1] \textbf{[1]}\\ Aktivieren Sie den \glqq mtrr cleanup\grqq{}-Standardwert +\english{Enable mtrr cleanup default value} \paragraph{MTRR cleanup spare reg num (0-7)}$~$\\ CONFIG\_MTRR\_SANITIZER\_SPARE\_REG\_NR\_DEFAULT [=0] \textbf{[0]}\\ MTRR cleanup spare entries Defaulteintrag, dies kann über \texttt{mtrr\_spare\_reg\_nr=N} auf der Kernel-Be\-fehls\-zei\-le geändert werden. +\english{mtrr cleanup spare entries default, it can be changed via mtrr\_spare\_reg\_nr=N on the kernel command line.} %3.37.4 \subsubsection{x86 PAT support} @@ -1196,16 +1198,19 @@ TSX is in use and the security aspect of tsx is not relevant.} \subsubsection{off} CONFIG\_X86\_INTEL\_TSX\_MODE\_OFF [=n] \textbf{[N]}\\ TSX ist, wenn möglich, deaktiviert -- entspricht dem Befehlszeilenparameter \texttt{tsx=off}. +\english{TSX is disabled if possible -- equals to tsx=off command line parameter.} \subsubsection{on} CONFIG\_X86\_INTEL\_TSX\_MODE\_ON [=n] \textbf{[N]}\\ TSX ist auf TSX-fähiger Hardware immer aktiviert -- gleichbedeutend mit dem Befehlszeilenparameter \texttt{tsx=on} +\english{TSX is always enabled on TSX capable HW - equals the tsx=on command line parameter.} \subsubsection{auto} CONFIG\_X86\_INTEL\_TSX\_MODE\_AUTO [=y] \textbf{[Y]}\\ TSX wird auf TSX-fähiger Hardware aktiviert, die als sicher gegen Seitenkanalangriffe gilt -- gleichbedeutend mit dem Befehlszeilenparameter \texttt{tsx=auto}. +\english{TSX is enabled on TSX capable HW that is believed to be safe against side channel attacks- equals the tsx=auto command line parameter.} %3.42 \subsection{Software Guard eXtensions (SGX)} @@ -1230,6 +1235,12 @@ erkennt. Dies hilft, ROP-Angriffe abzuschwächen. Anwendungen müssen aktiviert alte Userspace erhält den Schutz nicht \glqq umsonst\grqq{}. CPUs, die Shadow Stacks unterstützen, wurden erstmals im Jahr~2020 vorgestellt. Weitere Informationen finden Sie unter Documentation/arch/x86/shstk.rst.\\ Wenn Sie unsicher sind, sagen Sie N. +\english{Shadow stack protection is a hardware feature that detects function return address corruption. +This helps mitigate ROP attacks. +Applications must be enabled to use it, and old userspace does not get protection ``for free''.\\ +CPUs supporting shadow stacks were first released in 2020.\\ +See Documentation/arch/x86/shstk.rst for more information.\\ +If unsure, say N.} \note{Y, ein Ja aus Sicherheitsgründen} \subsection{EFI runtime service support} @@ -1300,8 +1311,7 @@ indem Sie die ursprüngliche (von der Firmware bereitgestellte) EFI-Memmap aktua Dies ist nützlich für das Debugging von EFI-Memmap-bezogenen Funktionen, z.\,B. Address Range Mirroring. \english{Saying Y here will enable ``efi\_fake\_mem'' boot option. By specifying this parameter, you can add arbitrary attribute to specific memory range by updating original (firmware provided) EFI memmap. -This is useful for debugging of EFI memmap related feature, e.g. Address Range Mirroring feature.} -} +This is useful for debugging of EFI memmap related feature, e.g. Address Range Mirroring feature.}} \subsubsection{Export EFI runtime maps to sysfs {\tiny seit 6.2}} CONFIG\_EFI\_RUNTIME\_MAP [=y] \textbf{[Y]}\\ @@ -1321,6 +1331,12 @@ zu lassen, aber 100 Hz kann für Server und NUMA-Systeme vorteilhafter sein, die für die Benutzerinteraktion benötigen und bei denen es zu Buskonflikten und Cacheline-Bounches als Folge von Timer-Interrupts kommen kann. Beachten Sie, dass der Timer-Interrupt in einer SMP-Umgebung auf jedem Prozessor auftritt, was zu NR\_CPUS * HZ Anzahl der Timer-Interrupts pro Sekunde führt. +\english{Allows the configuration of the timer frequency. +It is customary to have the timer interrupt run at 1000 Hz but 100 Hz may be more beneficial for servers +and NUMA systems that do not need to have a fast response for user interaction and that may experience bus +contention and cacheline bounces as a result of timer interrupts.\\ +Note that the timer interrupt occurs on each processor in an SMP environment leading to NR\_CPUS * HZ number +of timer interrupts per second.} \note{\qty{100}{\hertz} für Server, \qty{300}{\hertz} für Desktops, \qty{1000}{\hertz} für Anforderungen mit niedrigen Latenzzeiten} diff --git a/documentation/linux_configuration_04_mitigations_for_speculative_execution_vulnerabilities.tex b/documentation/linux_configuration_04_mitigations_for_speculative_execution_vulnerabilities.tex index daa864a..efe96ac 100644 --- a/documentation/linux_configuration_04_mitigations_for_speculative_execution_vulnerabilities.tex +++ b/documentation/linux_configuration_04_mitigations_for_speculative_execution_vulnerabilities.tex @@ -1,4 +1,5 @@ -%6.13 +% linux_configuration_04_mitigations_for_speculative_execution_vulnerablities +%6.14 \section{Mitigations for speculative execution vulnerabilities \texorpdfstring{$\rightarrow$}{->}} CONFIG\_SPECULATION\_MITIGATIONS [=y] \textbf{[Y]}\\ Sagen Sie hier Y, um Optionen zu aktivieren, die Abhilfemaßnahmen für Hardware-Schwachstellen durch spekulative @@ -48,6 +49,7 @@ Kompiliere den Kernel mit Unterstützung für die \texttt{retbleed=unret}-Abschw \english{Compile the kernel with support for the retbleed=unret mitigation.} \note{Wird nur bei AMD-Prozessoren angezeigt.} +%4.3 \subsection{Mitigate RSB underflow with call depth tracking} CONFIG\_CALL\_DEPTH\_TRACKING [=y] \textbf{[Y]}\\ Kompiliere den Kernel mit Call-Depth-Tracking, um das Intel SKL Return-Speculation-Buffer (RSB) Underflow-Problem @@ -78,10 +80,13 @@ The debug prints need to be enabled on the kernel command line with 'debug-callt Only enable this when you are debugging call thunks as this creates a noticeable runtime overhead. If unsure say N.} +%4.4 \subsection{Enable IBPB on kernel entry} CONFIG\_CPU\_IBPB\_ENTRY [=y] \textbf{[Y]}\\ Kompiliere den Kernel mit Unterstützung für die \texttt{retbleed=ibpb}-Abschwächung. +\english{Compile the kernel with support for the retbleed=ibpb and spec\_rstack\_overflow={ibpb,ibpb-vmexit} mitigations.} +%4.5 \subsection{Enable IBRS on kernel entry} CONFIG\_CPU\_IBRS\_ENTRY [=y] \textbf{[Y]}\\ Kompiliere den Kernel mit Unterstützung für die \texttt{spectre\_v2=ibrs}-Abschwächung. @@ -89,16 +94,23 @@ Dadurch werden sowohl spectre\_v2 als auch retbleed auf Kosten der Leistung abge \english{Compile the kernel with support for the spectre\_v2=ibrs mitigation. This mitigates both spectre\_v2 and retbleed at great cost to performance.} +%4.6 \subsection{Mitigate speculative RAS overflow on AMD} -CONFIG\_CPU\_SRSO [=y] \textbf{[N]}\\ +CONFIG\_MITIGATION\_SRSO [=y] \textbf{[N]}\\ Aktiviert die SRSO-Abschwächung, die auf AMD Zen1-4-Maschinen benötigt wird. +\english{Enable the SRSO mitigation needed on AMD Zen1-4 machines.} +%4.7 \subsection{Mitigate Straight-Line-Speculation} -CONFIG\_SLS [=y] \textbf{[Y]}\\ +CONFIG\_MITIGATION\_SLS [=y] \textbf{[Y]}\\ Kompiliere den Kernel mit Straight-Line-Speculation-Optionen, um ihn vor Straight-Line-Speculation zu schützen. Das Kernel-Image könnte etwas größer sein. +\english{Compile the kernel with straight-line-speculation options to guard against straight line speculation. +The kernel image might be slightly larger.} -\subsection{Force GDS Mitigation} + +{\color{gray}{ +\subsection*{Force GDS Mitigation} CONFIG\_GDS\_FORCE\_MITIGATION [=n] \textbf{[N]}\\ Gather Data Sampling (GDS) ist eine Hardware-Schwachstelle, die unberechtigten spekulativen Zugriff auf Daten ermöglicht, die zuvor in Vektorregistern gespeichert wurden. Diese Option ist gleichbedeutend mit @@ -107,4 +119,147 @@ wird verwendet, falls vorhanden, andernfalls wird AVX als Abschwächung deaktivi Systemen, denen der Microcode fehlt, wird jeder Userspace-Code, der AVX bedingungslos verwendet, bei gesetzter Option abbrechen. Das Setzen dieser Option auf Systemen, die nicht für GDS anfällig sind, hat keine Auswirkungen.\\ -Im Zweifelsfall sagen Sie N. +Im Zweifelsfall sagen Sie N.}} + +%4.8 +\subsection{Mitigate Gather Data Sampling} +CONFIG\_MITIGATION\_GDS [=y] \textbf{[Y]}\\ +Entschärfung für Gather Data Sampling (GDS) aktivieren. +GDS ist eine Hardware-Schwachstelle, die unprivilegierten spekulativen Zugriff auf Daten +ermöglicht, die zuvor in Vektorregistern gespeichert wurden. +Der Angreifer verwendet Gather-Anweisungen, um die veralteten Vektorregisterdaten zu ermitteln. +\english{Enable mitigation for Gather Data Sampling (GDS). +GDS is a hardware vulnerability which allows unprivileged speculative access to data +which was previously stored in vector registers. +The attacker uses gather instructions to infer the stale vector register data.} + +%4.9 +\subsection{RFDS Mitigation} +CONFIG\_MITIGATION\_RFDS [=y] \textbf{[Y]}\\ +Aktivieren Sie standardmäßig die Schadensbegrenzung für Register File Data Sampling (RFDS). +RFDS ist eine Hardware-Schwachstelle, die Intel Atom CPUs betrifft. +Sie ermöglicht unprivilegierten spekulativen Zugriff auf veraltete Daten, die zuvor in Gleitkomma-, Vektor- und Integer-Registern gespeichert wurden. +Siehe auch $<$file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst$>$ +\english{Enable mitigation for Register File Data Sampling (RFDS) by default. +RFDS is a hardware vulnerability which affects Intel Atom CPUs. +It allows unprivileged speculative access to stale data previously stored in floating point, +vector and integer registers. +See also $<$file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst$>$} + +%4.10 +\subsection{Mitigate Spectre-BHB (Branch History Injection)} +CONFIG\_MITIGATION\_SPECTRE\_BHI [=y] \textbf{[Y]}\\ +Aktivieren Sie BHI-Abschwächungen. +BHI-Angriffe sind eine Form von Spectre-V2-Angriffen, bei denen der Branch-History-Puffer +vergiftet wird, um indirekte Verzweigungen spekulativ zu steuern. +Siehe $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$ +\english{Enable BHI mitigations. BHI attacks are a form of Spectre V2 attacks +where the branch history buffer is poisoned to speculatively steer indirect branches. +See $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$} + +%4.11 +\subsection{Mitigate Microarchitectural Data Sampling (MDS) hardware bug} +CONFIG\_MITIGATION\_MDS [=y] \textbf{[Y]}\\* +Aktiviert die Abschwächung für Microarchitectural Data Sampling (MDS). +MDS ist eine Hardware-Schwachstelle, die unprivilegierten spekulativen Zugriff +auf Daten ermöglicht, die in verschiedenen CPU-internen Puffern verfügbar sind.\\ +Siehe auch $<$file:Documentation/admin-guide/hw-vuln/mds.rst$>$ +\english{Enable mitigation for Microarchitectural Data Sampling (MDS). +MDS is a hardware vulnerability which allows unprivileged speculative access +to data which is available in various CPU internal buffers.\\ +See also $<$file:Documentation/admin-guide/hw-vuln/mds.rst$>$} + +%4.12 +\subsection{Mitigate TSX Asynchronous Abort (TAA) hardware bug} +CONFIG\_MITIGATION\_TAA [=y] \textbf{[Y]}\\* +Aktivieren Sie die Schadensbegrenzung für TSX Asynchronous Abort (TAA). +TAA ist eine Hardware-Schwachstelle, die unprivilegierten spekulativen Zugriff +auf Daten ermöglicht, die in verschiedenen CPU-internen Puffern verfügbar sind, +indem asynchrone Abbrüche innerhalb einer Intel TSX-Transaktionsregion verwendet werden. +Siehe auch $<$file:Documentation/admin-guide/hw-vuln/tsx\_async\_abort.rst$>$ +\english{Enable mitigation for TSX Asynchronous Abort (TAA). +TAA is a hardware vulnerability that allows unprivileged speculative access to data which is available in various +CPU internal buffers by using asynchronous aborts within an Intel TSX transactional region. +See also $<$file:Documentation/admin-guide/hw-vuln/tsx\_async\_abort.rst$>$} + +%4.13 +\subsection{Mitigate MMIO Stale Data hardware bug} +CONFIG\_MITIGATION\_MMIO\_STALE\_DATA [=y] \textbf{[Y]}\\* +Entschärfung von MMIO Stale Data-Hardwarefehlern aktivieren. +MMIO Stale Data-Schwachstellen in Prozessoren sind eine Klasse von Memory-Mapped I/O (MMIO)-Schwachstellen, die Daten preisgeben können. +Die Schwachstellen erfordern, dass der Angreifer Zugriff auf MMIO.\\ +Siehe auch \texttt{file:Documentation/admin-guide/hw-vuln/processor\_mmio\_stale\_data.rst} +\english{Enable mitigation for MMIO Stale Data hardware bugs. +Processor MMIO Stale Data Vulnerabilities are a class of memory-mapped I/O (MMIO) vulnerabilities that can expose data. +The vulnerabilities require the attacker to have access to MMIO.\\ +See also $<$file:Documentation/admin-guide/hw-vuln/processor\_mmio\_stale\_data.rst$>$} + +%4.14 +\subsection{Mitigate L1 Terminal Fault (L1TF) hardware bug} +CONFIG\_MITIGATION\_L1TF [=y] \textbf{[Y]}\\* +Entschärfung des L1 Terminal Fault (L1TF) Hardware-Fehlers. +L1 Terminal Fault ist eine Hardware-Schwachstelle, die unprivilegierten spekulativen Zugriff auf die im Level 1 Data Cache verfügbaren Daten ermöglicht.\\ +Siehe \texttt{file:Documentation/admin-guide/hw-vuln/l1tf.rst} +\english{Mitigate L1 Terminal Fault (L1TF) hardware bug. +L1 Terminal Fault is a hardware vulnerability which allows unprivileged speculative access to data available in the Level 1 Data Cache.\\ +See $<$file:Documentation/admin-guide/hw-vuln/l1tf.rst} + +%4.15 +\subsection{Mitigate RETBleed hardware bug} +CONFIG\_MITIGATION\_RETBLEED [=y] \textbf{[Y]}\\* +Aktivieren Sie Entschärfung für die RETBleed-Schwachstelle (Arbitrary Speculative Code Execution with Return Instructions). +RETBleed ist ein spekulativer Ausführungsangriff, der das mikroarchitektonische Verhalten in vielen modernen Mikroprozessoren ausnutzt, ähnlich wie bei Spectre v2. +Ein unprivilegierter Angreifer kann diese Schwachstellen nutzen, um herkömmliche Speichersicherheitsbeschränkungen zu umgehen und Lesezugriff auf +privilegierten Speicher zu erlangen, der ansonsten unzugänglich wäre. +\english{Enable mitigation for RETBleed (Arbitrary Speculative Code Execution with Return Instructions) vulnerability. +RETBleed is a speculative execution attack which takes advantage of microarchitectural behavior in many modern microprocessors, similar to Spectre v2. +An unprivileged attacker can use these flaws to bypass conventional memory security restrictions to gain read access to privileged memory +that would otherwise be inaccessible.} + +%4.16 +\subsection{Mitigate SPECTRE V1 hardware bug} +CONFIG\_MITIGATION\_SPECTRE\_V1 [=y] \textbf{[Y]}\\* +Aktiviert die Schadensbegrenzung für Spectre V1 (Bounds Check Bypass). +Spectre V1 ist eine Klasse von Seitenkanalangriffen, die sich die spekulative Ausführung zunutze macht, indem sie bedingte Verzweigungsanweisungen umgeht, die für die Überprüfung der Speicherzugriffsgrenzen verwendet werden. +Siehe auch \texttt{file:Documentation/admin-guide/hw-vuln/spectre.rst} +\english{Enable mitigation for Spectre V1 (Bounds Check Bypass). +Spectre V1 is a class of side channel attacks that takes advantage of speculative execution that bypasses conditional +branch instructions used for memory access bounds check.\\ +See also $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$} + +%4.17 +\subsection{Mitigate SPECTRE V2 hardware bug} +CONFIG\_MITIGATION\_SPECTRE\_V2 [=y] \textbf{[Y]}\\* +Aktivierung der Schadensbegrenzung für Spectre V2 (Branch Target Injection). +Spectre V2 ist eine Klasse von Seitenkanalangriffen, die indirekte Verzweigungsvorhersagen innerhalb des Prozessors ausnutzen. +Bei Angriffen der Spectre-Variante 2 kann der Angreifer spekulative indirekte Verzweigungen im Opfer zu Gadget-Code lenken, indem er +den Verzweigungszielpuffer einer CPU vergiftet, der für die Vorhersage indirekter Verzweigungsadressen verwendet wird.\\ +Siehe auch $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$ +\english{Enable mitigation for Spectre V2 (Branch Target Injection). +Spectre V2 is a class of side channel attacks that takes advantage of indirect branch predictors inside the processor. +In Spectre variant 2 attacks, the attacker can steer speculative indirect branches in the victim to gadget code by poisoning +the branch target buffer of a CPU used for predicting indirect branch addresses.\\ +See also $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$} + +%4.18 +\subsection{Mitigate Special Register Buffer Data Sampling (SRBDS) hardware bug} +CONFIG\_MITIGATION\_SRBDS [=y] \textbf{[Y]}\\* +Aktivierung der Schadensbegrenzung für Special Register Buffer Data Sampling (SRBDS). +SRBDS ist eine Hardware-Schwachstelle, die es MDS-Techniken (Microarchitectural Data Sampling) ermöglicht, +von Spezialregisterzugriffen zurückgegebene Werte abzuleiten. +Ein nicht privilegierter Benutzer kann mithilfe von MDS-Techniken Werte extrahieren, die von RDRAND und RDSEED zurückgegeben werden, +die auf einem anderen Kern oder Geschwister-Thread ausgeführt werden.\\ +Siehe \texttt{file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst} +\english{Enable mitigation for Special Register Buffer Data Sampling (SRBDS). +SRBDS is a hardware vulnerability that allows Microarchitectural Data Sampling (MDS) techniques to infer values returned from special register accesses. +An unprivileged user can extract values returned from RDRAND and RDSEED executed on another core or sibling thread using MDS techniques.\\ +See also $<$file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst$>$} + +%4.19 +\subsection{Mitigate Speculative Store Bypass (SSB) hardware bug} +CONFIG\_MITITGATION\_SSB [=y] \textbf{[Y]}\\* +Aktivierung der Schadensbegrenzung für Speculative Store Bypass (SSB). +SSB ist eine Hardware-Sicherheitslücke, deren Ausnutzung die spekulative Ausführung ähnlich wie bei den Sicherheitslücken Meltdown und Spectre ausnutzt. +\english{Enable mitigation for Speculative Store Bypass (SSB). +SSB is a hardware security vulnerability and its exploitation takes advantage +of speculative execution in a similar way to the Meltdown and Spectre security vulnerabilities.} diff --git a/documentation/linux_configuration_05_power_management_and_acpi_options.tex b/documentation/linux_configuration_05_power_management_and_acpi_options.tex index 55cf0fe..c655503 100644 --- a/documentation/linux_configuration_05_power_management_and_acpi_options.tex +++ b/documentation/linux_configuration_05_power_management_and_acpi_options.tex @@ -1,4 +1,7 @@ +% linux_configuration_05_power_management_and_acpi_options.tex +% Linux 6.14 +%5.1 \section{Power management and ACPI options \texorpdfstring{$\rightarrow$}{->}} Energieverwaltung und ACPI-Optionen @@ -6,7 +9,23 @@ Energieverwaltung und ACPI-Optionen CONFIG\_SUSPEND [=y] \textbf{[Y]}\\ Ermöglicht dem System, in Ruhezustände einzutreten, in denen der Hauptspeicher mit Strom versorgt wird und somit sein Inhalt erhalten bleibt, wie z.\,B. der Suspend-to-RAM-Zustand (z.\,B. der ACPI S3-Zustand). +\english{Allow the system to enter sleep states in which main memory is powered and thus its contents are preserved, such as the +suspend-to-RAM state (e.g. the ACPI S3 state).} +\subsubsection{Skip kernel's sys\_sync() on suspend to RAM/standby} +CONFIG\_SUSPEND\_SKIP\_SYNC [=n] \textbf{[N]}\\ +Überspringen Sie das Kernel sys\_sync(), bevor Sie Benutzerprozesse einfrieren. Einige Systeme ziehen es vor, +diese Kosten nicht bei jedem Aufruf von suspend zu zahlen, oder sie begnügen sich mit dem Aufruf von sync() aus dem User-Space vor dem Aufruf von suspend. +Es gibt einen Laufzeitschalter unter \texttt{/sys/power/sync\_on\_suspend}, um dieses Verhalten zu konfigurieren. +Diese Einstellung ändert die Voreinstellung für den Laufzeitschalter. +Sagen Sie Y, um die Voreinstellung zu ändern und den Kernel \texttt{sys\_sync()} zu deaktivieren. +\english{Skip the kernel sys\_sync() before freezing user processes. +Some systems prefer not to pay this cost on every invocation of suspend, or they are content with invoking sync() from user-space before invoking suspend. +There's a run-time switch at `/sys/power/sync\_on\_suspend' to configure this behaviour. +This setting changes the default for the run-tim switch. +Say Y to change the default to disable the kernel sys\_sync().} + +%5.2 \subsection{Hibernation (aka `suspend to disk')} CONFIG\_HIBERNATION [=y] \textbf{[Y]}\\ Aktiviert die Funktion \glqq Suspend to Disk\grqq{} (STD), @@ -29,12 +48,44 @@ Sie können jetzt booten, ohne den Vorgang fortzusetzen, und ihn später fortset die Swap-Partition(en)/Datei(en), die am Suspendieren beteiligt waren, nicht verwenden. In diesem Fall dürfen Sie auch nicht die Dateisysteme verwenden, die vor dem Suspendieren gemountet waren. Insbesondere dürfen Sie keine journalisierten Dateisysteme mounten, die vor dem Suspending gemountet wurden, da diese sonst auf unschöne Weise -beschädigt werden. Weitere Informationen finden Sie in $<$file:Documentation/power/swsusp.rst$>$. +beschädigt werden. Weitere Informationen finden Sie in \texttt{file:Documentation/power/swsusp.rst}. +\english{Enable the suspend to disk (STD) functionality, which is usually called ``hibernation'' in user interfaces. +STD checkpoints the system and powers it off; and restores that checkpoint on reboot.\\ +You can suspend your machine with `echo disk $>$ /sys/power/state' after placing resume=/dev/swappartition on the kernel command line in your bootloader's configuration file.\\ +Alternatively, you can use the additional userland tools available from \url{http://suspend.sf.net}.\\ +In principle it does not require ACPI or APM, although for example ACPI will be used for the final steps when it is available. +One of the reasons to use software suspend is that the firmware hooks for suspend states like suspend-to-RAM (STR) often don't work very well with Linux.\\ +It creates an image which is saved in your active swap. +Upon the next boot, pass the `resume=/dev/swappartition' argument to the kernel to have it detect the saved image, restore memory state from it, and continue to run as before. +If you do not want the previous state to be reloaded, then use the `noresume' kernel command line argument. +Note, however, that fsck will be run on your filesystems and you will need to run mkswap against the swap partition used for the suspend.\\ +It also works with swap files to a limited extent (for details see $<$file:Documentation/power/swsusp-and-swap-files.rst$>$).\\ +Right now you may boot without resuming and resume later but in the meantime you cannot use the swap partition(s)/file(s) involved in suspending. +Also in this case you must not use the filesystems that were mounted before the suspend. +In particular, you MUST NOT MOUNT any journaled filesystems mounted before the suspend or they will get corrupted in a nasty way.\\ +For more information take a look at $<$file:Documentation/power/swsusp.rst$>$} + \subsubsection{Userspace snapshot device} CONFIG\_HIBERNATION\_SNAPSHOT\_DEV [=y] \textbf{[Y]}\\ Gerät, das von den uswsusp-Werkzeugen verwendet wird. Sagen Sie N, wenn kein Snapshotting aus dem Userspace benötigt wird, dies reduziert auch die Angriffsfläche des Kernels. Im Zweifelsfall sagen Sie Y. +\english{Device used by the uswsusp tools.\\ +Say N if no snapshotting from userspace is needed, this also reduces the attack surface of the kernel.\\ +If in doubt, say Y.} + +\subsubsection{Default compressor () \texorpdfstring{$\rightarrow$}{->}} +\textit{Standard-Kompressor} + +\paragraph{lzo} \mbox{}\\ +CONFIG\_HIBERNATION\_COMP\_LZO [=y] \textbf{[Y]}\\* +Für diese Option gibt es keine Hilfe. +\english{There is no help available for this option.} + +\paragraph{lz4} \mbox{}\\ +CONFIG\_HIBERNATION\_COMP\_LZ4 [=n] \textbf{[N]}\\* +Für diese Option gibt es keine Hilfe. +\english{There is no help available for this option.} \subsubsection{Default resume partition} CONFIG\_PM\_STD\_PARTITION [=] \textbf{[~]}\\ @@ -46,6 +97,14 @@ Partition kann durch die Angabe von:\\ überschrieben werden, wodurch die Partition für die Wiederaufnahme auf das angegebene Gerät gesetzt wird. Beachten Sie, dass es derzeit keine Möglichkeit gibt, das Gerät anzugeben, auf dem das suspendierte Image gespeichert werden soll. Es wird einfach das erste verfügbare Swap-Gerät ausgewählt. +\english{The default resume partition is the partition that the suspend-to-disk implementation will look for a suspended disk image.\\ +The partition specified here will be different for almost every user. +It should be a valid swap partition (at least for now) that is turned on before suspending.\\ +The partition specified can be overridden by specifying:\\ +resume=/dev/$<$other device$>$\\ +which will set the resume partition to the device specified.\\ +Note there is currently not a way to specify which device to save the suspended image to. +It will simply pick the first available swap device.} \subsection{Opportunistic sleep} CONFIG\_PM\_AUTOSLEEP [=n] \textbf{[N]}\\