UPD configuration 06 upto 10 for Linux 6.16
This commit is contained in:
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@@ -846,6 +846,8 @@
|
|||||||
"hwmon",
|
"hwmon",
|
||||||
"Hybla",
|
"Hybla",
|
||||||
"Hygon",
|
"Hygon",
|
||||||
|
"Hyperaufrufen",
|
||||||
|
"hypercall",
|
||||||
"HYPERV",
|
"HYPERV",
|
||||||
"Hypervisoren",
|
"Hypervisoren",
|
||||||
"hypervisorspezifischen",
|
"hypervisorspezifischen",
|
||||||
@@ -1398,6 +1400,7 @@
|
|||||||
"Nocona",
|
"Nocona",
|
||||||
"nogit",
|
"nogit",
|
||||||
"nohz",
|
"nohz",
|
||||||
|
"nommconf",
|
||||||
"NOMMU",
|
"NOMMU",
|
||||||
"nomsi",
|
"nomsi",
|
||||||
"noresume",
|
"noresume",
|
||||||
@@ -1927,6 +1930,7 @@
|
|||||||
"SPCR",
|
"SPCR",
|
||||||
"speedstep",
|
"speedstep",
|
||||||
"Speedstream",
|
"Speedstream",
|
||||||
|
"speicherabgebildeter",
|
||||||
"speicherbelegte",
|
"speicherbelegte",
|
||||||
"Speicherdefragmentierung",
|
"Speicherdefragmentierung",
|
||||||
"speichereffizienter",
|
"speichereffizienter",
|
||||||
|
|||||||
32
config-6.16
32
config-6.16
@@ -58,7 +58,6 @@ CONFIG_DEFAULT_INIT=""
|
|||||||
CONFIG_DEFAULT_HOSTNAME="orange"
|
CONFIG_DEFAULT_HOSTNAME="orange"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_SYSVIPC_SYSCTL=y
|
CONFIG_SYSVIPC_SYSCTL=y
|
||||||
CONFIG_SYSVIPC_COMPAT=y
|
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_POSIX_MQUEUE_SYSCTL=y
|
CONFIG_POSIX_MQUEUE_SYSCTL=y
|
||||||
# CONFIG_WATCH_QUEUE is not set
|
# CONFIG_WATCH_QUEUE is not set
|
||||||
@@ -262,12 +261,10 @@ CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
|||||||
CONFIG_LD_ORPHAN_WARN=y
|
CONFIG_LD_ORPHAN_WARN=y
|
||||||
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
|
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
|
||||||
CONFIG_SYSCTL=y
|
CONFIG_SYSCTL=y
|
||||||
CONFIG_HAVE_UID16=y
|
|
||||||
CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
||||||
# CONFIG_SYSFS_SYSCALL is not set
|
# CONFIG_SYSFS_SYSCALL is not set
|
||||||
CONFIG_HAVE_PCSPKR_PLATFORM=y
|
CONFIG_HAVE_PCSPKR_PLATFORM=y
|
||||||
CONFIG_EXPERT=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_UID16=y
|
|
||||||
CONFIG_MULTIUSER=y
|
CONFIG_MULTIUSER=y
|
||||||
CONFIG_SGETMASK_SYSCALL=y
|
CONFIG_SGETMASK_SYSCALL=y
|
||||||
CONFIG_FHANDLE=y
|
CONFIG_FHANDLE=y
|
||||||
@@ -494,7 +491,6 @@ CONFIG_PHYSICAL_ALIGN=0x200000
|
|||||||
CONFIG_RANDOMIZE_MEMORY=y
|
CONFIG_RANDOMIZE_MEMORY=y
|
||||||
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
|
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
|
||||||
CONFIG_HOTPLUG_CPU=y
|
CONFIG_HOTPLUG_CPU=y
|
||||||
# CONFIG_COMPAT_VDSO is not set
|
|
||||||
CONFIG_LEGACY_VSYSCALL_XONLY=y
|
CONFIG_LEGACY_VSYSCALL_XONLY=y
|
||||||
# CONFIG_LEGACY_VSYSCALL_NONE is not set
|
# CONFIG_LEGACY_VSYSCALL_NONE is not set
|
||||||
# CONFIG_CMDLINE_BOOL is not set
|
# CONFIG_CMDLINE_BOOL is not set
|
||||||
@@ -677,12 +673,11 @@ CONFIG_X86_AMD_PSTATE_UT=m
|
|||||||
CONFIG_X86_ACPI_CPUFREQ=m
|
CONFIG_X86_ACPI_CPUFREQ=m
|
||||||
CONFIG_X86_POWERNOW_K8=m
|
CONFIG_X86_POWERNOW_K8=m
|
||||||
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
|
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
|
||||||
CONFIG_X86_P4_CLOCKMOD=m
|
# CONFIG_X86_P4_CLOCKMOD is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# shared options
|
# shared options
|
||||||
#
|
#
|
||||||
CONFIG_X86_SPEEDSTEP_LIB=m
|
|
||||||
CONFIG_CPUFREQ_ARCH_CUR_FREQ=y
|
CONFIG_CPUFREQ_ARCH_CUR_FREQ=y
|
||||||
# end of CPU Frequency scaling
|
# end of CPU Frequency scaling
|
||||||
|
|
||||||
@@ -711,12 +706,8 @@ CONFIG_ISA_DMA_API=y
|
|||||||
#
|
#
|
||||||
# Binary Emulations
|
# Binary Emulations
|
||||||
#
|
#
|
||||||
CONFIG_IA32_EMULATION=y
|
# CONFIG_IA32_EMULATION is not set
|
||||||
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
|
# CONFIG_X86_X32_ABI is not set
|
||||||
CONFIG_X86_X32_ABI=y
|
|
||||||
CONFIG_COMPAT_32=y
|
|
||||||
CONFIG_COMPAT=y
|
|
||||||
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
|
|
||||||
# end of Binary Emulations
|
# end of Binary Emulations
|
||||||
|
|
||||||
CONFIG_KVM_COMMON=y
|
CONFIG_KVM_COMMON=y
|
||||||
@@ -734,7 +725,6 @@ CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
|
|||||||
CONFIG_KVM_VFIO=y
|
CONFIG_KVM_VFIO=y
|
||||||
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
|
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
|
||||||
CONFIG_KVM_GENERIC_PRE_FAULT_MEMORY=y
|
CONFIG_KVM_GENERIC_PRE_FAULT_MEMORY=y
|
||||||
CONFIG_KVM_COMPAT=y
|
|
||||||
CONFIG_HAVE_KVM_IRQ_BYPASS=m
|
CONFIG_HAVE_KVM_IRQ_BYPASS=m
|
||||||
CONFIG_HAVE_KVM_NO_POLL=y
|
CONFIG_HAVE_KVM_NO_POLL=y
|
||||||
CONFIG_KVM_XFER_TO_GUEST_WORK=y
|
CONFIG_KVM_XFER_TO_GUEST_WORK=y
|
||||||
@@ -857,8 +847,6 @@ CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
|
|||||||
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
|
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
|
||||||
CONFIG_HAVE_CMPXCHG_LOCAL=y
|
CONFIG_HAVE_CMPXCHG_LOCAL=y
|
||||||
CONFIG_HAVE_CMPXCHG_DOUBLE=y
|
CONFIG_HAVE_CMPXCHG_DOUBLE=y
|
||||||
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
|
|
||||||
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
|
|
||||||
CONFIG_HAVE_ARCH_SECCOMP=y
|
CONFIG_HAVE_ARCH_SECCOMP=y
|
||||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
@@ -866,8 +854,7 @@ CONFIG_SECCOMP_FILTER=y
|
|||||||
# CONFIG_SECCOMP_CACHE_DEBUG is not set
|
# CONFIG_SECCOMP_CACHE_DEBUG is not set
|
||||||
CONFIG_HAVE_ARCH_STACKLEAK=y
|
CONFIG_HAVE_ARCH_STACKLEAK=y
|
||||||
CONFIG_HAVE_STACKPROTECTOR=y
|
CONFIG_HAVE_STACKPROTECTOR=y
|
||||||
CONFIG_STACKPROTECTOR=y
|
# CONFIG_STACKPROTECTOR is not set
|
||||||
CONFIG_STACKPROTECTOR_STRONG=y
|
|
||||||
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
|
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
|
||||||
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
|
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
|
||||||
CONFIG_LTO_NONE=y
|
CONFIG_LTO_NONE=y
|
||||||
@@ -898,9 +885,6 @@ CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
|||||||
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
||||||
CONFIG_HAVE_EXIT_THREAD=y
|
CONFIG_HAVE_EXIT_THREAD=y
|
||||||
CONFIG_ARCH_MMAP_RND_BITS=28
|
CONFIG_ARCH_MMAP_RND_BITS=28
|
||||||
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
|
|
||||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
|
|
||||||
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
|
|
||||||
CONFIG_HAVE_PAGE_SIZE_4KB=y
|
CONFIG_HAVE_PAGE_SIZE_4KB=y
|
||||||
CONFIG_PAGE_SIZE_4KB=y
|
CONFIG_PAGE_SIZE_4KB=y
|
||||||
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
|
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
|
||||||
@@ -914,8 +898,6 @@ CONFIG_HAVE_UACCESS_VALIDATION=y
|
|||||||
CONFIG_HAVE_STACK_VALIDATION=y
|
CONFIG_HAVE_STACK_VALIDATION=y
|
||||||
CONFIG_HAVE_RELIABLE_STACKTRACE=y
|
CONFIG_HAVE_RELIABLE_STACKTRACE=y
|
||||||
CONFIG_ISA_BUS_API=y
|
CONFIG_ISA_BUS_API=y
|
||||||
CONFIG_OLD_SIGSUSPEND3=y
|
|
||||||
CONFIG_COMPAT_OLD_SIGACTION=y
|
|
||||||
CONFIG_COMPAT_32BIT_TIME=y
|
CONFIG_COMPAT_32BIT_TIME=y
|
||||||
CONFIG_ARCH_SUPPORTS_RT=y
|
CONFIG_ARCH_SUPPORTS_RT=y
|
||||||
CONFIG_HAVE_ARCH_VMAP_STACK=y
|
CONFIG_HAVE_ARCH_VMAP_STACK=y
|
||||||
@@ -970,7 +952,7 @@ CONFIG_MODULE_DEBUGFS=y
|
|||||||
# CONFIG_MODULE_DEBUG is not set
|
# CONFIG_MODULE_DEBUG is not set
|
||||||
CONFIG_MODULE_FORCE_LOAD=y
|
CONFIG_MODULE_FORCE_LOAD=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||||
CONFIG_MODULE_UNLOAD_TAINT_TRACKING=y
|
CONFIG_MODULE_UNLOAD_TAINT_TRACKING=y
|
||||||
# CONFIG_MODVERSIONS is not set
|
# CONFIG_MODVERSIONS is not set
|
||||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||||
@@ -1079,7 +1061,6 @@ CONFIG_FREEZER=y
|
|||||||
# Executable file formats
|
# Executable file formats
|
||||||
#
|
#
|
||||||
CONFIG_BINFMT_ELF=y
|
CONFIG_BINFMT_ELF=y
|
||||||
CONFIG_COMPAT_BINFMT_ELF=y
|
|
||||||
CONFIG_ELFCORE=y
|
CONFIG_ELFCORE=y
|
||||||
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
|
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
|
||||||
CONFIG_BINFMT_SCRIPT=y
|
CONFIG_BINFMT_SCRIPT=y
|
||||||
@@ -1249,7 +1230,6 @@ CONFIG_DAMON_LRU_SORT=y
|
|||||||
# end of Memory Management options
|
# end of Memory Management options
|
||||||
|
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
CONFIG_COMPAT_NETLINK_MESSAGES=y
|
|
||||||
CONFIG_NET_INGRESS=y
|
CONFIG_NET_INGRESS=y
|
||||||
CONFIG_NET_EGRESS=y
|
CONFIG_NET_EGRESS=y
|
||||||
CONFIG_NET_XGRESS=y
|
CONFIG_NET_XGRESS=y
|
||||||
@@ -1275,7 +1255,6 @@ CONFIG_XFRM=y
|
|||||||
CONFIG_XFRM_OFFLOAD=y
|
CONFIG_XFRM_OFFLOAD=y
|
||||||
CONFIG_XFRM_ALGO=m
|
CONFIG_XFRM_ALGO=m
|
||||||
CONFIG_XFRM_USER=m
|
CONFIG_XFRM_USER=m
|
||||||
# CONFIG_XFRM_USER_COMPAT is not set
|
|
||||||
CONFIG_XFRM_INTERFACE=m
|
CONFIG_XFRM_INTERFACE=m
|
||||||
CONFIG_XFRM_SUB_POLICY=y
|
CONFIG_XFRM_SUB_POLICY=y
|
||||||
CONFIG_XFRM_MIGRATE=y
|
CONFIG_XFRM_MIGRATE=y
|
||||||
@@ -1486,7 +1465,6 @@ CONFIG_NF_FLOW_TABLE_INET=m
|
|||||||
CONFIG_NF_FLOW_TABLE=m
|
CONFIG_NF_FLOW_TABLE=m
|
||||||
CONFIG_NF_FLOW_TABLE_PROCFS=y
|
CONFIG_NF_FLOW_TABLE_PROCFS=y
|
||||||
CONFIG_NETFILTER_XTABLES=m
|
CONFIG_NETFILTER_XTABLES=m
|
||||||
CONFIG_NETFILTER_XTABLES_COMPAT=y
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Xtables combined modules
|
# Xtables combined modules
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:44714bcb8161dc63a003feeab5a6edc5d156e13a4be4f503587ac370197717a6
|
oid sha256:8057a69cd1dde30476e3312a034df73c28b8e5e7fe98b0077e0704e097d8028c
|
||||||
size 449775
|
size 528564
|
||||||
|
|||||||
@@ -15,7 +15,11 @@
|
|||||||
%linux_configuration_03_processor_type_and_features,
|
%linux_configuration_03_processor_type_and_features,
|
||||||
linux_configuration_04_mitigations_for_cpu_vulnerabilities,
|
linux_configuration_04_mitigations_for_cpu_vulnerabilities,
|
||||||
linux_configuration_05_power_management_and_acpi_options,
|
linux_configuration_05_power_management_and_acpi_options,
|
||||||
%linux_configuration_09_general_architecture-dependent_options,
|
linux_configuration_06_bus_options,
|
||||||
|
linux_configuration_07_binary_emulations,
|
||||||
|
linux_configuration_08_virtualization,
|
||||||
|
linux_configuration_09_general_architecture-dependent_options,
|
||||||
|
linux_configuration_10_enable_loadable_module_support,
|
||||||
%linux_configuration_11_enable_the_block_layer,
|
%linux_configuration_11_enable_the_block_layer,
|
||||||
%linux_configuration_12_executable_file_formats,
|
%linux_configuration_12_executable_file_formats,
|
||||||
%linux_configuration_13_memory_management_options,
|
%linux_configuration_13_memory_management_options,
|
||||||
|
|||||||
@@ -1,14 +1,24 @@
|
|||||||
%since Linux 6.14
|
% linux_configuration_06_bus_options.tex
|
||||||
|
% since Linux 6.16
|
||||||
|
|
||||||
\section{Bus options (PCI etc.) \texorpdfstring{$\rightarrow$}{->}}
|
\section{Bus options (PCI etc.) \texorpdfstring{$\rightarrow$}{->}}
|
||||||
\textit{Bus-Optionen (PCI usw.)}
|
\textit{Bus-Optionen (PCI usw.)}
|
||||||
|
|
||||||
|
%6.1
|
||||||
\subsection{Support mmconfig PCI config space access}
|
\subsection{Support mmconfig PCI config space access}
|
||||||
CONFIG\_PCI\_MMCONFIG [=y] \textbf{[Y]}\\
|
CONFIG\_PCI\_MMCONFIG [=y] \textbf{[Y]}\\
|
||||||
(Unterstützung des mmconfig PCI"=Konfigurationsraumzugriffs)\\
|
Fügt Unterstützung für den Zugriff auf den PCI-Konfigurationsbereich als Speicherzuordnungsbereich hinzu.
|
||||||
\textit{Für diese Option gibt es keine Hilfe.}
|
Dies ist die empfohlene Methode, wenn das System dies unterstützt (es muss über PCI Express und ACPI verfügen, damit diese Option verfügbar ist).
|
||||||
\english{There is no help available for this option.}
|
In dem unwahrscheinlichen Fall, dass die Aktivierung dieser Konfigurationsoption Probleme verursacht, kann der Mechanismus mit dem Befehlszeilenparameter \texttt{pci=nommconf} deaktiviert werden.
|
||||||
|
Geben Sie nur dann N ein, wenn Sie sicher sind, dass Ihre Plattform diese Zugriffsmethode nicht unterstützt oder wenn dadurch Probleme verursacht werden.
|
||||||
|
Andernfalls geben Sie Y ein.
|
||||||
|
\english{Add support for accessing the PCI configuration space as a memory mapped area.
|
||||||
|
It is the recommended method if the system supports this (it must have PCI Express and ACPI for it to be available).
|
||||||
|
In the unlikely case that enabling this configuration option causes problems, the mechanism can be switched off with the 'pci=nommconf' command line parameter.
|
||||||
|
Say N only if you are sure that your platform does not support this access method or you have problems caused by it.
|
||||||
|
Say Y otherwise.}
|
||||||
|
|
||||||
|
%6.2
|
||||||
\subsection{Read CNB20LE Host Bridge Windows}
|
\subsection{Read CNB20LE Host Bridge Windows}
|
||||||
CONFIG\_PCI\_CNB20LE\_QUIRK [=n] \textbf{[N]}\\
|
CONFIG\_PCI\_CNB20LE\_QUIRK [=n] \textbf{[N]}\\
|
||||||
Auslesen der PCI-Fenster aus der CNB20LE-Host-Bridge.
|
Auslesen der PCI-Fenster aus der CNB20LE-Host-Bridge.
|
||||||
@@ -24,18 +34,19 @@ This allows PCI hotplug to work on systems with the CNB20LE chipset which do not
|
|||||||
There's no public spec for this chipset, and this functionality is known to be incomplete.
|
There's no public spec for this chipset, and this functionality is known to be incomplete.
|
||||||
You should say N unless you know you need this.}
|
You should say N unless you know you need this.}
|
||||||
|
|
||||||
|
%6.3
|
||||||
\subsection{ISA bus support on modern systems}
|
\subsection{ISA bus support on modern systems}
|
||||||
CONFIG\_ISA\_BUS [=n] \textbf{[N]}\\
|
CONFIG\_ISA\_BUS [=n] \textbf{[N]}\\
|
||||||
Zeigt ISA-Bus-Gerätetreiber und Optionen zur Auswahl und Konfiguration an.
|
Zeigt ISA-Bus-Gerätetreiber und Optionen zur Auswahl und Konfiguration an.
|
||||||
Aktivieren Sie diese Option, wenn Ihr Zielrechner über einen ISA-Bus verfügt.
|
Aktivieren Sie diese Option, wenn Ihr Zielrechner über einen ISA-Bus verfügt.
|
||||||
ISA ist ein älteres System, das von PCI und neueren Busarchitekturen verdrängt wurde - wenn Ihr Zielrechner modern ist, hat er wahrscheinlich keinen ISA-Bus.
|
ISA ist ein älteres System, das von PCI und neueren Busarchitekturen verdrängt wurde -- wenn Ihr Zielrechner modern ist, hat er wahrscheinlich keinen ISA-Bus.
|
||||||
Wenn Sie unsicher sind, sagen Sie N.
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
\english{Expose ISA bus device drivers and options available for selection and configuration.
|
\english{Expose ISA bus device drivers and options available for selection and configuration.
|
||||||
Enable this option if your target machine has an ISA bus.
|
Enable this option if your target machine has an ISA bus.
|
||||||
ISA is an older system, displaced by PCI and newer bus architectures --
|
ISA is an older system, displaced by PCI and newer bus architectures -- if your target machine is modern, it probably does not have an ISA bus.\\
|
||||||
if your target machine is modern, it probably does not have an ISA bus.\\
|
|
||||||
If unsure, say N.}
|
If unsure, say N.}
|
||||||
|
|
||||||
|
%6.4
|
||||||
\subsection{ISA-style DMA support}
|
\subsection{ISA-style DMA support}
|
||||||
CONFIG\_ISA\_DMA\_API [=y] \textbf{[Y]}\\
|
CONFIG\_ISA\_DMA\_API [=y] \textbf{[Y]}\\
|
||||||
Aktiviert DMA-Unterstützung im ISA-Format für Geräte, die solche Controller benötigen.
|
Aktiviert DMA-Unterstützung im ISA-Format für Geräte, die solche Controller benötigen.
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
%since Linux 6.14
|
% linux_configuration_07_binary_emulations.tex
|
||||||
|
% since Linux 6.16
|
||||||
|
|
||||||
\section{Binary Emulations \texorpdfstring{$\rightarrow$}{->}}
|
\section{Binary Emulations \texorpdfstring{$\rightarrow$}{->}}
|
||||||
\textit{Binäre Emulationen}
|
\textit{Binäre Emulationen}
|
||||||
|
|
||||||
|
%7.1
|
||||||
\subsection{IA32 Emulation}
|
\subsection{IA32 Emulation}
|
||||||
CONFIG\_IA32\_EMULATION [=y] \textbf{[N]}\\
|
CONFIG\_IA32\_EMULATION \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
||||||
Code einbinden, um ältere 32-Bit-Programme unter einem 64-Bit-Kernel auszuführen.
|
Code einbinden, um ältere 32-Bit-Programme unter einem 64-Bit-Kernel auszuführen.
|
||||||
Sie sollten dies wahrscheinlich aktivieren, es sei denn, Sie sind sich zu 100~\% sicher,
|
Sie sollten dies wahrscheinlich aktivieren, es sei denn, Sie sind sich zu \qty{100}{\percent} sicher, dass Sie keine 32-Bit-Programme mehr haben.
|
||||||
dass Sie keine 32-Bit-Programme mehr haben.
|
|
||||||
\english{Include code to run legacy 32-bit programs under a 64-bit kernel.
|
\english{Include code to run legacy 32-bit programs under a 64-bit kernel.
|
||||||
You should likely turn this on, unless you're 100\% sure that you don't have any 32-bit programs left.}
|
You should likely turn this on, unless you're 100\% sure that you don't have any 32-bit programs left.}
|
||||||
|
|
||||||
|
%7.2
|
||||||
\subsubsection{IA32 emulation disabled by default}
|
\subsubsection{IA32 emulation disabled by default}
|
||||||
CONFIG\_IA32\_EMULATION\_DEFAULT\_DISABLED [=n] \textbf{[N]}\\
|
CONFIG\_IA32\_EMULATION\_DEFAULT\_DISABLED [=n] \textbf{[N]}\\
|
||||||
Deaktivieren Sie die IA32-Emulation standardmäßig.
|
Deaktivieren Sie die IA32-Emulation standardmäßig.
|
||||||
@@ -20,11 +22,10 @@ Wenn Sie unsicher sind, belassen Sie den Standardwert.
|
|||||||
This prevents loading 32-bit processes and access to 32-bit syscalls.
|
This prevents loading 32-bit processes and access to 32-bit syscalls.
|
||||||
If unsure, leave it to its default value.}
|
If unsure, leave it to its default value.}
|
||||||
|
|
||||||
|
%7.3
|
||||||
\subsection{x32 ABI for 64-bit mode}
|
\subsection{x32 ABI for 64-bit mode}
|
||||||
CONFIG\_X86\_X32\_ABI [=n] \textbf{[N]}\\
|
CONFIG\_X86\_X32\_ABI \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
||||||
Fügen Sie Code ein, um Binärdateien für die native 32-Bit-ABI x32 für 64-Bit-Prozessoren auszuführen.
|
Fügen Sie Code ein, um Binärdateien für die native 32-Bit-ABI x32 für 64-Bit-Prozessoren auszuführen.
|
||||||
Ein x32-Prozess erhält Zugriff auf die vollständige 64-Bit-Registerdatei und den breiten Datenpfad,
|
Ein x32-Prozess erhält Zugriff auf die vollständige 64-Bit-Registerdatei und den breiten Datenpfad, während Zeiger auf 32~Bit belassen werden, um den Speicherbedarf zu verringern.
|
||||||
während Zeiger auf 32~Bit belassen werden, um den Speicherbedarf zu verringern.
|
|
||||||
\english{Include code to run binaries for the x32 native 32-bit ABI for 64-bit processors.
|
\english{Include code to run binaries for the x32 native 32-bit ABI for 64-bit processors.
|
||||||
An x32 process gets access to the full 64-bit register file and wide data path while leaving
|
An x32 process gets access to the full 64-bit register file and wide data path while leaving pointers at 32 bits for smaller memory footprint.}
|
||||||
pointers at 32 bits for smaller memory footprint.}
|
|
||||||
|
|||||||
@@ -1,25 +1,23 @@
|
|||||||
%since Linux 6.14
|
% linux_configuration_08_virtualization.tex
|
||||||
|
% since Linux 6.16
|
||||||
|
|
||||||
% 8.Virtualization
|
% 8.Virtualization
|
||||||
\section{Virtualization \texorpdfstring{$\rightarrow$}{->}}
|
\section{Virtualization \texorpdfstring{$\rightarrow$}{->}}
|
||||||
CONFIG\_VIRTUALIZATION [=y] \textbf{[Y]}\\
|
CONFIG\_VIRTUALIZATION [=y] \textbf{[Y]}\\
|
||||||
Sagen Sie hier Y, um Optionen für die Verwendung Ihres Linux-Hosts zur Ausführung anderer
|
Sagen Sie hier Y, um Optionen für die Verwendung Ihres Linux-Hosts zur Ausführung anderer Betriebssysteme in virtuellen Maschinen (Gäste) zu erhalten. Diese Option allein fügt keinen Kernel-Code hinzu.
|
||||||
Betriebssysteme in virtuellen Maschinen (Gäste) zu erhalten. Diese Option allein fügt keinen
|
Wenn Sie N sagen, werden alle Optionen in diesem Untermenü übersprungen und deaktiviert.
|
||||||
Kernel-Code hinzu. Wenn Sie N sagen, werden alle Optionen in diesem Untermenü übersprungen
|
\english{Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests).
|
||||||
und deaktiviert.
|
|
||||||
\english{Say Y here to get to see options for using your Linux host to run other
|
|
||||||
operating systems inside virtual machines (guests).
|
|
||||||
This option alone does not add any kernel code.\\
|
This option alone does not add any kernel code.\\
|
||||||
If you say N, all options in this submenu will be skipped and disabled.}
|
If you say N, all options in this submenu will be skipped and disabled.}
|
||||||
|
|
||||||
%8.1
|
%8.1
|
||||||
\subsection{Kernel-based Virtual Machine (KVM) support}
|
\subsection{Kernel-based Virtual Machine (KVM) support}
|
||||||
CONFIG\_KVM [=m] \textbf{[M]}\\
|
CONFIG\_KVM [=m] \textbf{[M]}\\
|
||||||
Unterstützung für das Hosten vollständig virtualisierter Gastmaschinen mit
|
Unterstützung für das Hosten vollständig virtualisierter Gastmaschinen mit Hardware"=Virtualisierungserweiterungen.
|
||||||
Hardware"=Virtualisierungserweiterungen. Sie benötigen einen relativ aktuellen Prozessor mit
|
Sie benötigen einen relativ aktuellen Prozessor mit Virtualisierungserweiterungen.
|
||||||
Virtualisierungserweiterungen. Außerdem müssen Sie eines oder mehrere der unten aufgeführten
|
Außerdem müssen Sie eines oder mehrere der unten aufgeführten Prozessormodule auswählen.
|
||||||
Prozessormodule auswählen. Dieses Modul ermöglicht den Zugriff auf die Hardware-Funktionen
|
Dieses Modul ermöglicht den Zugriff auf die Hardware-Funktionen über einen Geräteknoten namens \texttt{/dev/kvm}.
|
||||||
über einen Geräteknoten namens /dev/kvm. Um dies als Modul zu kompilieren, wählen Sie hier M:
|
Um dies als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{kvm} heißen.\\
|
||||||
Das Modul wird \texttt{kvm} heißen.\\
|
|
||||||
Wenn Sie unsicher sind, sagen Sie N.
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
\english{Support hosting fully virtualized guest machines using hardware virtualization extensions.
|
\english{Support hosting fully virtualized guest machines using hardware virtualization extensions.
|
||||||
You will need a fairly recent processor equipped with virtualization extensions.
|
You will need a fairly recent processor equipped with virtualization extensions.
|
||||||
@@ -48,96 +46,77 @@ If unsure, say ``N''.}
|
|||||||
|
|
||||||
\subsubsection{KVM for Intel (and compatible) processors support}
|
\subsubsection{KVM for Intel (and compatible) processors support}
|
||||||
CONFIG\_KVM\_INTEL [=m] \textbf{[M]}\\
|
CONFIG\_KVM\_INTEL [=m] \textbf{[M]}\\
|
||||||
Bietet Unterstützung für KVM auf Prozessoren, die mit Intels VT-Erweiterungen, auch bekannt
|
Bietet Unterstützung für KVM auf Prozessoren, die mit Intels VT-Erweiterungen, auch bekannt als Virtual Machine Extensions (VMX), ausgestattet sind.
|
||||||
als Virtual Machine Extensions (VMX), ausgestattet sind.
|
Um dies als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{kvm-intel} genannt.
|
||||||
Um dies als Modul zu kompilieren, wählen Sie hier M:
|
\english{Provides support for KVM on processors equipped with Intel's VT extensions, a.k.a. Virtual Machine Extensions (VMX).\\
|
||||||
Das Modul wird \texttt{kvm-intel} genannt.
|
|
||||||
\english{Provides support for KVM on processors equipped with Intel's VT extensions,
|
|
||||||
a.k.a. Virtual Machine Extensions (VMX).\\
|
|
||||||
To compile this as a module, choose M here: the module will be called kvm-intel.}
|
To compile this as a module, choose M here: the module will be called kvm-intel.}
|
||||||
|
|
||||||
\paragraph{Check that guests do not receive \#VE exceptions}\mbox{}\\
|
\paragraph{Check that guests do not receive \#VE exceptions}\mbox{}\\
|
||||||
CONFIG\_KVM\_INTEL\_PROVE\_VE [=n] \textbf{[N]}\\
|
CONFIG\_KVM\_INTEL\_PROVE\_VE [=n] \textbf{[N]}\\
|
||||||
Überprüft, dass der KVM-Seitentabellen-Verwaltungscode Gäste nicht fälschlicherweise eine
|
Überprüft, dass der KVM-Seitentabellen-Verwaltungscode Gäste nicht fälschlicherweise eine Virtualisierungsausnahme erhalten lässt.
|
||||||
Virtualisierungsausnahme erhalten lässt.
|
|
||||||
Virtualisierungsausnahmen werden vom Hypervisor abgefangen und nicht in den Gast injiziert.\\
|
Virtualisierungsausnahmen werden vom Hypervisor abgefangen und nicht in den Gast injiziert.\\
|
||||||
Hinweis: einige CPUs scheinen falsche EPT Violations \#VEs zu erzeugen, die KVMs WARN auslösen, insbesondere mit
|
Hinweis: einige CPUs scheinen falsche EPT Violations \#VEs zu erzeugen, die KVMs WARN auslösen, insbesondere mit \texttt{eptad=0} und/oder verschachtelter Virtualisierung.\\
|
||||||
\texttt{eptad=0} und/oder verschachtelter Virtualisierung.\\
|
|
||||||
Wenn Sie unsicher sind, sagen Sie N.
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
\english{Checks that KVM's page table management code will not incorrectly let guests receive a virtualization exception.
|
\english{Checks that KVM's page table management code will not incorrectly let guests receive a virtualization exception.
|
||||||
Virtualization exceptions will be trapped by the hypervisor rather than injected in the guest.\\
|
Virtualization exceptions will be trapped by the hypervisor rather than injected in the guest.\\
|
||||||
Note: some CPUs appear to generate spurious EPT Violations \#VEs that trigger KVM's WARN,
|
Note: some CPUs appear to generate spurious EPT Violations \#VEs that trigger KVM's WARN, in particular with eptad=0 and/or nested virtualization.\\
|
||||||
in particular with eptad=0 and/or nested virtualization.\\
|
|
||||||
If unsure, say N.}
|
If unsure, say N.}
|
||||||
|
|
||||||
\paragraph{Software Guard eXtension (SGX) Virtualization}$~$\\
|
\paragraph{Software Guard eXtension (SGX) Virtualization}$~$\\
|
||||||
CONFIG\_X86\_SGX\_KVM [=y] \textbf{[Y]}\\
|
CONFIG\_X86\_SGX\_KVM [=y] \textbf{[Y]}\\
|
||||||
Ermöglicht KVM-Gästen, SGX-Enklaven zu erstellen. Dies schließt die Unterstützung ein,
|
Ermöglicht KVM-Gästen, SGX-Enklaven zu erstellen.
|
||||||
\glqq rohen\grqq{}, nicht wiederverwendbaren Enklavenspeicher für Gäste über einen Geräteknoten,
|
Dies schließt die Unterstützung ein, \glqq rohen\grqq{}, nicht wiederverwendbaren Enklavenspeicher für Gäste über einen Geräteknoten, z.\,B. \texttt{/dev/sgx\_vepc}, freizugeben.
|
||||||
z.\,B. /dev/sgx\_vepc, freizugeben. Wenn Sie unsicher sind, sagen Sie N.
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
\english{Enables KVM guests to create SGX enclaves.\\
|
\english{Enables KVM guests to create SGX enclaves.\\
|
||||||
This includes support to expose ``raw'' unreclaimable enclave memory to guests via a device node, e.g. /dev/sgx\_vepc.
|
This includes support to expose ``raw'' unreclaimable enclave memory to guests via a device node, e.g. /dev/sgx\_vepc.
|
||||||
If unsure, say N.}
|
If unsure, say N.}
|
||||||
|
|
||||||
\subsubsection{KVM for AMD processors support}
|
\subsection{KVM for AMD processors support}
|
||||||
CONFIG\_KVM\_AMD [=m] \textbf{[M]}\\
|
CONFIG\_KVM\_AMD [=m] \textbf{[M]}\\
|
||||||
Bietet Unterstützung für KVM auf Prozessoren, die mit Intels VT-Erweiterungen, auch bekannt
|
Bietet Unterstützung für KVM auf AND-Prozessoren, die mit den AMD-V (SVM)-Erweiterungen ausgestattet sind.
|
||||||
Bietet Unterstützung für KVM auf AMD-Prozessoren, die mit den AMD-V (SVM)-Erweiterungen
|
Um dies als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{kvm-amd} genannt.
|
||||||
ausgestattet sind. Um dies als Modul zu kompilieren, wählen Sie hier M:
|
|
||||||
Das Modul wird \texttt{kvm-amd} genannt.
|
|
||||||
\english{Provides support for KVM on AMD processors equipped with the AMD-V (SVM) extensions.\\
|
\english{Provides support for KVM on AMD processors equipped with the AMD-V (SVM) extensions.\\
|
||||||
To compile this as a module, choose M here: the module will be called \texttt{kvm-amd}.}
|
To compile this as a module, choose M here: the module will be called \texttt{kvm-amd}.}
|
||||||
|
|
||||||
\paragraph{AMD Secure Encrypted Virtualization (SEV) support}$~$\\
|
\subsubsection{AMD Secure Encrypted Virtualization (SEV) support}
|
||||||
CONFIG\_KVM\_AMD\_SEV [=y] \textbf{[N]}\\
|
CONFIG\_KVM\_AMD\_SEV [=y] \textbf{[N]}\\
|
||||||
Bietet Unterstützung für den Start von verschlüsselten VMs (SEV) und verschlüsselten VMs
|
Bietet Unterstützung für das Starten verschlüsselter VMs, die die Technologien Secure Encrypted Virtualization (SEV), Secure Encrypted Virtualization with Encrypted State (SEV-ES) und Secure Encrypted Virtualization with Secure Nested Paging (SEV-SNP) auf AMD-Prozessoren verwenden.
|
||||||
mit verschlüsseltem Status (SEV-ES) auf AMD-Prozessoren.
|
\english{Provides support for launching encrypted VMs which use Secure Encrypted Virtualization (SEV), Secure Encrypted Virtualization with Encrypted State (SEV-ES), and Secure Encrypted Virtualization with Secure Nested Paging (SEV-SNP) technologies on AMD processors.}
|
||||||
\english{Provides support for launching encrypted VMs which use Secure Encrypted Virtualization (SEV),
|
|
||||||
Secure Encrypted Virtualization with Encrypted State (SEV-ES), and Secure Encrypted Virtualization with
|
|
||||||
Secure Nested Paging (SEV-SNP) technologies on AMD processors.}
|
|
||||||
|
|
||||||
\subsubsection{System Management Mode emulation}
|
\subsection{System Management Mode emulation}
|
||||||
CONFIG\_KVM\_SMM [=y] \textbf{[Y]}\\
|
CONFIG\_KVM\_SMM [=y] \textbf{[Y]}\\
|
||||||
Bietet Unterstützung für KVM zur Emulation des Systemverwaltungsmodus (SMM) in virtuellen
|
Bietet Unterstützung für KVM zur Emulation des Systemverwaltungsmodus (SMM) in virtuellen Maschinen.
|
||||||
Maschinen. Dies kann von der Firmware der virtuellen Maschine verwendet werden, um UEFI Secure
|
Dies kann von der Firmware der virtuellen Maschine zur Implementierung des UEFI Secure Boot verwendet werden.\\
|
||||||
Boot zu implementieren.\\
|
Wenn Sie unsicher sind, geben Sie Y ein.
|
||||||
Wenn Sie unsicher sind, sagen Sie N.
|
|
||||||
\english{Provides support for KVM to emulate System Management Mode (SMM) in virtual machines.
|
\english{Provides support for KVM to emulate System Management Mode (SMM) in virtual machines.
|
||||||
This can be used by the virtual machine firmware to implement UEFI secure boot.\\
|
This can be used by the virtual machine firmware to implement UEFI secure boot.\\
|
||||||
If unsure, say Y.}
|
If unsure, say Y.}
|
||||||
|
|
||||||
\subsubsection{Support for Microsoft Hypter-V emulation}
|
\subsection{Support for Microsoft Hyper-V emulation}
|
||||||
CONFIG\_KVM\_HYPERV [=y] \textbf{[Y]}\\
|
CONFIG\_KVM\_HYPERV [=y] \textbf{[Y]}\\
|
||||||
Bietet KVM-Unterstützung für die Emulation von Microsoft Hyper-V.
|
Bietet KVM-Unterstützung für die Emulation von Microsoft Hyper-V.
|
||||||
Dadurch kann KVM eine Teilmenge der paravirtualisierten Schnittstellen bereitstellen,
|
Dadurch kann KVM eine Teilmenge der paravirtualisierten Schnittstellen bereitstellen, die in der Hyper-V Hypervisor Top-Level Functional Specification (TLFS) definiert sind:\\
|
||||||
die in der Hyper-V Hypervisor Top-Level Functional Specification (TLFS) definiert sind:\\
|
|
||||||
\url{https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs}\\
|
\url{https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs}\\
|
||||||
Diese Schnittstellen sind für das korrekte und leistungsfähige Funktionieren von Windows- und Hyper-V-Gästen
|
Diese Schnittstellen sind für das korrekte und leistungsfähige Funktionieren von Windows- und Hyper-V-Gästen auf KVM erforderlich.\\
|
||||||
auf KVM erforderlich.\\
|
|
||||||
Wenn Sie unsicher sind, sagen Sie Y.
|
Wenn Sie unsicher sind, sagen Sie Y.
|
||||||
\english{Provides KVM support for emulating Microsoft Hyper-V.
|
\english{Provides KVM support for emulating Microsoft Hyper-V.
|
||||||
This allows KVM to expose a subset of the paravirtualized interfaces defined in the
|
This allows KVM to expose a subset of the paravirtualized interfaces defined in the Hyper-V Hypervisor Top-Level Functional Specification (TLFS):\\
|
||||||
Hyper-V Hypervisor Top-Level Functional Specification (TLFS):\\
|
|
||||||
\url{https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs}\\
|
\url{https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs}\\
|
||||||
These interfaces are required for the correct and performant functioning of Windows and Hyper-V guests on KVM.\\
|
These interfaces are required for the correct and performant functioning of Windows and Hyper-V guests on KVM.\\
|
||||||
If unsure, say ``Y''.}
|
If unsure, say ``Y''.}
|
||||||
|
|
||||||
\subsubsection{Support for Xen hypercall interface}
|
\subsection{Support for Xen hypercall interface}
|
||||||
CONFIG\_KVM\_XEN [=y] \textbf{[Y]}\\
|
CONFIG\_KVM\_XEN [=y] \textbf{[Y]}\\
|
||||||
Bietet KVM-Unterstützung für das Hosten von Xen HVM-Gästen und die Weitergabe von
|
Bietet KVM-Unterstützung für das Hosten von Xen HVM-Gästen und die Weitergabe von Xen-Hyperaufrufen an den Userspace.
|
||||||
Xen-Hyper\-auf\-rufen an den Userspace. Im Zweifelsfall sagen Sie N.
|
Im Zweifelsfall sagen Sie N.
|
||||||
\english{Provides KVM support for the hosting Xen HVM guests and passing Xen hypercalls to userspace.\\
|
\english{Provides KVM support for the hosting Xen HVM guests and passing Xen hypercalls to userspace.\\
|
||||||
If in doubt, say ``N''.}
|
If in doubt, say ``N''.}
|
||||||
|
|
||||||
\subsubsection{Prove KVM MMU correctness}
|
\subsection{Prove KVM MMU correctness}
|
||||||
CONFIG\_KVM\_PROVE\_MMU [=n] \textbf{[N]}\\
|
CONFIG\_KVM\_PROVE\_MMU [=n] \textbf{[N]}\\
|
||||||
Ermöglicht Laufzeit-Behauptungen in KVMs MMU, die zu kostspielig sind, um sie in irgendetwas zu aktivieren,
|
Ermöglicht Laufzeit-Behauptungen in KVMs MMU, die zu kostspielig sind, um sie in irgendetwas zu aktivieren, das einer Produktionsumgebung auch nur im Entferntesten ähnelt, z.\,B. dieser Gates-Code, der verifiziert, dass eine freizugebende Seitentabelle keine vorhandenen SPTEs hat.\\
|
||||||
das einer Produktionsumgebung auch nur im Entferntesten ähnelt, z.\,B. dieser Gates-Code, der verifiziert,
|
|
||||||
dass eine freizugebende Seitentabelle keine vorhandenen SPTEs hat.\\
|
|
||||||
Im Zweifelsfall sagen Sie einfach N.
|
Im Zweifelsfall sagen Sie einfach N.
|
||||||
\english{Enables runtime assertions in KVM's MMU that are too costly to enable in anything remotely
|
\english{Enables runtime assertions in KVM's MMU that are too costly to enable in anything remotely resembling a production environment, e.g. this gates code that verifies a to-be-freed page table doesn't have any present SPTEs.\\
|
||||||
resembling a production environment, e.g. this gates code that verifies a to-be-freed page table doesn't have any
|
|
||||||
present SPTEs.\\
|
|
||||||
If in doubt, say ``N''.}
|
If in doubt, say ``N''.}
|
||||||
|
|
||||||
\subsection{Maximum number of vCPUs per KVM guest}
|
\subsection{Maximum number of vCPUs per KVM guest}
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
%since Linux 6.14
|
|
||||||
% linux_configuration_09_general_architecture-dependent_options.tex
|
% linux_configuration_09_general_architecture-dependent_options.tex
|
||||||
|
% since Linux 6.16
|
||||||
|
|
||||||
|
|
||||||
\section{General architecture-dependent options \texorpdfstring{$\rightarrow$}{->}}
|
\section{General architecture-dependent options \texorpdfstring{$\rightarrow$}{->}}
|
||||||
(Allgemeine architekturabhängige Optionen)
|
(Allgemeine architekturabhängige Optionen)
|
||||||
|
|
||||||
|
%9.1 Kprobes
|
||||||
\subsection{Kprobes}
|
\subsection{Kprobes}
|
||||||
CONFIG\_KPROBES [=y] \textbf{[Y]}\\
|
CONFIG\_KPROBES [=y] \textbf{[Y]}\\
|
||||||
Mit Kprobes können Sie an fast jeder Kerneladresse trappen und eine Callback-Funktion ausführen.
|
Mit Kprobes können Sie an fast jeder Kerneladresse trappen und eine Callback-Funktion ausführen.
|
||||||
register\_kprobe() legt einen Probepoint fest und spezifiziert den Callback.
|
\texttt{register\_kprobe()} legt einen Probepoint fest und spezifiziert den Callback.
|
||||||
Kprobes ist nützlich für Kernel-Debugging, nicht-intrusive Instrumentierung und Tests.\\
|
Kprobes ist nützlich für Kernel-Debugging, nicht-intrusive Instrumentierung und Tests.\\
|
||||||
Im Zweifelsfall sagen Sie N.
|
Im Zweifelsfall sagen Sie N.
|
||||||
\english{Kprobes allows you to trap at almost any kernel address and execute a callback function.
|
\english{Kprobes allows you to trap at almost any kernel address and execute a callback function.
|
||||||
@@ -15,23 +17,18 @@ register\_kprobe() establishes a probepoint and specifies the callback.
|
|||||||
Kprobes is useful for kernel debugging, non-intrusive instrumentation and testing.
|
Kprobes is useful for kernel debugging, non-intrusive instrumentation and testing.
|
||||||
If in doubt, say ``N''.}
|
If in doubt, say ``N''.}
|
||||||
|
|
||||||
|
%9.2
|
||||||
\subsection{Optimize very unlikely/likely branches}
|
\subsection{Optimize very unlikely/likely branches}
|
||||||
CONFIG\_JUMP\_LABEL [=y] \textbf{[Y]}\\
|
CONFIG\_JUMP\_LABEL [=y] \textbf{[Y]}\\
|
||||||
Diese Option ermöglicht eine transparente Verzweigungsoptimierung, die die Ausführung bestimmter
|
Diese Option ermöglicht eine transparente Verzweigungsoptimierung, die die Ausführung bestimmter fast-immer-wahrer oder fast-immer-falscher Verzweigungsbedingungen im Kernel noch billiger macht.
|
||||||
fast-immer-wahrer oder fast-immer-falscher Verzweigungsbedingungen im Kernel noch billiger macht.
|
Bestimmte leistungsempfindliche Kernel-Codes wie Trace-Points, Scheduler-Funktionen, Netzwerk-Code und KVM haben solche Verzweigungen und bieten Unterstützung für diese Optimierungstechnik.
|
||||||
Bestimmte leistungsempfindliche Kernel-Codes wie Trace-Points, Scheduler-Funktionen, Netzwerk-Code
|
Wenn festgestellt wird, dass der Compiler \glqq asm goto\grqq{} unterstützt, kompiliert der Kernel solche Verzweigungen mit einer einfachen nop-Anweisung.
|
||||||
und KVM haben solche Verzweigungen und bieten Unterstützung für diese Optimierungstechnik.
|
Wenn das Bedingungsflag auf true gesetzt wird, wird der nop-Befehl in einen Sprungbefehl umgewandelt, um den bedingten Befehlsblock auszuführen.
|
||||||
Wenn festgestellt wird, dass der Compiler \glqq asm goto\grqq{} unterstützt, kompiliert der Kernel
|
Diese Technik senkt den Overhead und die Belastung der Verzweigungsvorhersage des Prozessors und macht den Kernel im Allgemeinen schneller.
|
||||||
solche Verzweigungen mit einer einfachen nop-Anweisung. Wenn das Bedingungsflag auf true gesetzt wird,
|
Die Aktualisierung der Bedingung ist zwar langsamer, aber das kommt immer sehr selten vor.
|
||||||
wird der nop-Befehl in einen Sprungbefehl umgewandelt, um den bedingten Befehlsblock auszuführen.
|
(Bei 32-Bit-x86 können die erforderlichen Optionen, die zu den Compiler-Flags hinzugefügt werden, die Größe des Kernels leicht erhöhen).
|
||||||
Diese Technik senkt den Overhead und die Belastung der Verzweigungsvorhersage des Prozessors und macht
|
\english{This option enables a transparent branch optimization that makes certain almost-always-true or almost-always-false branch conditions even cheaper to execute within the kernel.\\
|
||||||
den Kernel im Allgemeinen schneller. Die Aktualisierung der Bedingung ist zwar langsamer, aber das
|
Certain performance-sensitive kernel code, such as trace points, scheduler functionality, networking code and KVM have such branches and include support for this optimization technique.\\
|
||||||
kommt immer sehr selten vor. (Bei 32-Bit-x86 können die erforderlichen Optionen, die zu den
|
|
||||||
Compiler-Flags hinzugefügt werden, die Größe des Kernels leicht erhöhen).
|
|
||||||
\english{This option enables a transparent branch optimization that makes certain almost-always-true or almost-always-false branch
|
|
||||||
conditions even cheaper to execute within the kernel.\\
|
|
||||||
Certain performance-sensitive kernel code, such as trace points, scheduler functionality,
|
|
||||||
networking code and KVM have such branches and include support for this optimization technique.\\
|
|
||||||
If it is detected that the compiler has support for ``asm goto'', the kernel will compile such branches with just a nop instruction.
|
If it is detected that the compiler has support for ``asm goto'', the kernel will compile such branches with just a nop instruction.
|
||||||
When the condition flag is toggled to true, the nop will be converted to a jump instruction to execute the conditional block of instructions.\\
|
When the condition flag is toggled to true, the nop will be converted to a jump instruction to execute the conditional block of instructions.\\
|
||||||
This technique lowers overhead and stress on the branch prediction of the processor and generally makes the kernel faster.
|
This technique lowers overhead and stress on the branch prediction of the processor and generally makes the kernel faster.
|
||||||
@@ -43,32 +40,30 @@ CONFIG\_STATIC\_KEYS\_SELFTEST [=n] \textbf{[N]}\\
|
|||||||
Bootzeit-Selbsttest des Branch-Patching-Codes.
|
Bootzeit-Selbsttest des Branch-Patching-Codes.
|
||||||
\english{Boot time self-test of the branch patching code.}
|
\english{Boot time self-test of the branch patching code.}
|
||||||
|
|
||||||
|
%9.3
|
||||||
\subsection{Static call selftest}
|
\subsection{Static call selftest}
|
||||||
CONFIG\_STATIC\_CALL\_SELFTEST [=n] \textbf{[N]}\\
|
CONFIG\_STATIC\_CALL\_SELFTEST [=n] \textbf{[N]}\\
|
||||||
Bootzeit-Selbsttest des Call-Patching-Codes.
|
Bootzeit-Selbsttest des Call-Patching-Codes.
|
||||||
\english{Boot time self-test of the call patching code.}
|
\english{Boot time self-test of the call patching code.}
|
||||||
|
|
||||||
|
%9.4
|
||||||
\subsection{Enable seccomp to safely execute untrusted bytecode}
|
\subsection{Enable seccomp to safely execute untrusted bytecode}
|
||||||
CONFIG\_SECCOMP [=n] \textbf{[N]}\\
|
CONFIG\_SECCOMP [=y] \textbf{[Y]}\\
|
||||||
Diese Kernel-Funktion ist nützlich für numerische Anwendungen, die während ihrer Ausführung
|
Diese Kernel-Funktion ist nützlich für numerische Anwendungen, die während ihrer Ausführung mit nicht vertrauenswürdigem Bytecode umgehen müssen.
|
||||||
mit nicht vertrauenswürdigem Bytecode umgehen müssen. Durch die Verwendung von Pipes oder anderen
|
Durch die Verwendung von Pipes oder anderen Transporten, die dem Prozess als Dateideskriptoren zur Verfügung stehen und die Lese-/Schreib-Syscalls unterstützen, ist es möglich, diese Anwendungen mit seccomp in ihrem eigenen Adressraum zu isolieren.
|
||||||
Transporten, die dem Prozess als Dateideskriptoren zur Verfügung gestellt werden und die
|
Sobald seccomp über prctl(PR\_SET\_SECCOMP) oder den seccomp()-Syscall aktiviert ist, kann es nicht mehr deaktiviert werden, und die Aufgabe darf nur einige wenige sichere Syscalls ausführen, die für jeden seccomp-Modus definiert sind.
|
||||||
Lese-/Schreib-Syscalls unterstützen, ist es möglich, diese Anwendungen mit seccomp in ihrem eigenen
|
Wenn Sie unsicher sind, sagen Sie Y.
|
||||||
Adressraum zu isolieren. Sobald seccomp über prctl(PR\_SET\_SECCOMP) oder den seccomp()-Syscall
|
|
||||||
aktiviert ist, kann es nicht mehr deaktiviert werden, und die Task darf nur einige wenige sichere
|
|
||||||
Syscalls ausführen, die für jeden seccomp-Modus definiert sind. Wenn Sie unsicher sind, sagen Sie Y.
|
|
||||||
\english{This kernel feature is useful for number crunching applications that may need to handle untrusted bytecode during their execution.
|
\english{This kernel feature is useful for number crunching applications that may need to handle untrusted bytecode during their execution.
|
||||||
By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls,
|
By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp.
|
||||||
it's possible to isolate those applications in their own address space using seccomp.
|
Once seccomp is enabled via prctl(PR\_SET\_SECCOMP) or the seccomp() syscall, it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode.\\
|
||||||
Once seccomp is enabled via prctl(PR\_SET\_SECCOMP) or the seccomp() syscall, it cannot be disabled and the task is only allowed to execute
|
|
||||||
a few safe syscalls defined by each seccomp mode.\\
|
|
||||||
If unsure, say Y.}
|
If unsure, say Y.}
|
||||||
|
|
||||||
\subsubsection{Show seccomp filter cache status in /proc/pid/seccomp\_cache}
|
\subsubsection{Show seccomp filter cache status in /proc/pid/seccomp\_cache}
|
||||||
CONFIG\_SECCOMP\_CACHE\_DEBUG [=n] \textbf{[N]}\\
|
CONFIG\_SECCOMP\_CACHE\_DEBUG [=n] \textbf{[N]}\\
|
||||||
Dies ermöglicht der Schnittstelle /proc/pid/seccomp\_cache die Überwachung der
|
Dies ermöglicht der Schnittstelle \texttt{/proc/pid/seccomp\_cache} die Überwachung der seccomp-Cache-Daten.
|
||||||
seccomp-Cache-Daten. Das Dateiformat kann sich ändern. Zum Lesen der Datei ist
|
Das Dateiformat kann sich ändern.
|
||||||
CAP\_SYS\_ADMIN erforderlich. Diese Option ist nur zur Fehlersuche gedacht.
|
Zum Lesen der Datei ist \texttt{CAP\_SYS\_ADMIN} erforderlich.
|
||||||
|
Diese Option ist nur zur Fehlersuche gedacht.
|
||||||
Die Aktivierung birgt das Risiko, dass ein Angreifer die seccomp-Filterlogik ableiten kann.\\
|
Die Aktivierung birgt das Risiko, dass ein Angreifer die seccomp-Filterlogik ableiten kann.\\
|
||||||
Wenn Sie unsicher sind, sagen Sie N.
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
\english{This enables the /proc/pid/seccomp\_cache interface to monitor seccomp cache data.
|
\english{This enables the /proc/pid/seccomp\_cache interface to monitor seccomp cache data.
|
||||||
@@ -78,50 +73,40 @@ This option is for debugging only.
|
|||||||
Enabling presents the risk that an adversary may be able to infer the seccomp filter logic.\\
|
Enabling presents the risk that an adversary may be able to infer the seccomp filter logic.\\
|
||||||
If unsure, say N.}
|
If unsure, say N.}
|
||||||
|
|
||||||
|
%9.5
|
||||||
\subsection{Stack Protector buffer overflow detection}
|
\subsection{Stack Protector buffer overflow detection}
|
||||||
CONFIG\_STACKPROTECTOR [=y] \textbf{[Y]}\\
|
CONFIG\_STACKPROTECTOR \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
||||||
Diese Option schaltet die GCC-Funktion \glqq stack-protector\grqq{} ein.
|
Diese Option schaltet die GCC-Funktion \glqq stack-protector\grqq{} ein.
|
||||||
Diese Funktion legt am Anfang von Funktionen einen Canary-Wert (Kanarienvogelwert) auf den
|
Diese Funktion legt am Anfang von Funktionen einen Canary-Wert (Kanarienvogelwert) auf den Stack kurz vor der Rücksprungadresse und überprüft den Wert kurz vor der eigentlichen Rückkehr.
|
||||||
Stack kurz vor der
|
Stack-basierte Pufferüberläufe (die diese Rücksprungadresse überschreiben müssen) überschreiben nun auch den Canary-Wert, was erkannt wird und der Angriff wird dann durch eine Kernel-Panik neutralisiert.
|
||||||
Rücksprungadresse und überprüft den Wert kurz vor der eigentlichen Rückkehr. Stack-basierte
|
Bei Funktionen, die ein 8-Byte- oder größeres Zeichenarray auf dem Stack haben, wird die Logik des Stack-Protector-Canarys hinzugefügt.
|
||||||
Pufferüberläufe (die diese Rücksprungadresse überschreiben müssen) überschreiben nun auch den
|
Diese Funktion erfordert gcc Version 4.2 oder höher, oder eine gcc-Distribution, die die Funktion zurückportiert hat (\texttt{-fstack-protector}).
|
||||||
Canary-Wert, was erkannt wird und der Angriff wird dann durch eine Kernel-Panik neutralisiert.
|
Auf einem x86-\glqq defconfig\grqq{}-Build fügt diese Funktion Canary-Prüfungen zu etwa \qty{3}{\percent} aller Kernel-Funktionen hinzu, was die Kernel-Codegröße um etwa \qty{0,3}{\percent} erhöht.
|
||||||
Bei Funktionen, die ein 8-Byte- oder größeres Zeichenarray auf dem Stack haben, wird die Logik
|
|
||||||
des Stack-Protector-Canarys hinzugefügt. Diese Funktion erfordert gcc Version 4.2 oder höher,
|
|
||||||
oder eine gcc-Distribution, die die Funktion zurückportiert hat (\texttt{-fstack-protector}).
|
|
||||||
Auf einem x86-\glqq defconfig\grqq{}-Build fügt diese Funktion Canary-Prüfungen zu etwa \qty{3}{\percent}
|
|
||||||
aller Kernel-Funktionen hinzu, was die Kernel-Codegröße um etwa \qty{0,3}{\percent} erhöht.
|
|
||||||
\english{This option turns on the ``stack-protector'' GCC feature.
|
\english{This option turns on the ``stack-protector'' GCC feature.
|
||||||
This feature puts, at the beginning of functions, a canary value on the stack just before the return address,
|
This feature puts, at the beginning of functions, a canary value on the stack just before the return address, and validates the value just before actually returning.
|
||||||
and validates the value just before actually returning.
|
Stack based buffer overflows (that need to overwrite this return address) now also overwrite the canary, which gets detected and the attack is then neutralized via a kernel panic.\\
|
||||||
Stack based buffer overflows (that need to overwrite this return address) now also overwrite the canary, which gets detected
|
|
||||||
and the attack is then neutralized via a kernel panic.\\
|
|
||||||
Functions will have the stack-protector canary logic added if they have an 8-byte or larger character array on the stack.\\
|
Functions will have the stack-protector canary logic added if they have an 8-byte or larger character array on the stack.\\
|
||||||
This feature requires gcc version 4.2 or above, or a distribution gcc with the feature backported (``-fstack-protector'').
|
This feature requires gcc version 4.2 or above, or a distribution gcc with the feature backported (``-fstack-protector'').
|
||||||
On an x86 ``defconfig'' build, this feature adds canary checks to about 3\% of all kernel functions,
|
On an x86 ``defconfig'' build, this feature adds canary checks to about 3\% of all kernel functions, which increases kernel code size by about 0.3\%.}
|
||||||
which increases kernel code size by about 0.3\%.}
|
|
||||||
|
|
||||||
\subsubsection{Strong Stack Protector}
|
\subsubsection{Strong Stack Protector}
|
||||||
CONFIG\_STACKPROTECTOR\_STRONG [=y] \textbf{[Y]}\\
|
CONFIG\_STACKPROTECTOR\_STRONG [=y] \textbf{[Y]}\\
|
||||||
Bei Funktionen wird die Stack-Protector-Canary-Logik unter einer der folgenden Bedingungen hinzugefügt:
|
Bei Funktionen wird die Stack-Protector-Canary-Logik unter einer der folgenden Bedingungen hinzugefügt:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item[-] die Adresse einer lokalen Variablen wird als Teil der rechten Seite einer Zuweisung oder eines
|
\item[-] die Adresse einer lokalen Variablen wird als Teil der rechten Seite einer Zuweisung oder eines Funktionsarguments verwendet
|
||||||
Funktionsarguments verwendet
|
|
||||||
\item[-] die lokale Variable ist ein Array (oder eine Union, die ein Array enthält), unabhängig von Typ oder Länge des Arrays
|
\item[-] die lokale Variable ist ein Array (oder eine Union, die ein Array enthält), unabhängig von Typ oder Länge des Arrays
|
||||||
\item[-] Lokale Variablen werden als Register verwendet
|
\item[-] Lokale Variablen werden als Register verwendet
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
Diese Funktion erfordert gcc Version 4.9 oder höher, oder eine gcc-Distribution, die die Funktion
|
Diese Funktion erfordert gcc Version 4.9 oder höher, oder eine gcc-Distribution, die die Funktion zurückportiert hat (\texttt{-fstack-protector-strong}).
|
||||||
zurück\-por\-tiert hat (\texttt{-fstack-protector-strong}).
|
Auf einem x86-\glqq defconfig\grqq{}-Build fügt diese Funktion Canary-Prüfungen zu etwa \qty{20}{\percent} aller Kernel-Funktionen hinzu, was die Größe des Kernel-Codes um etwa \qty{2}{\percent} erhöht.
|
||||||
Auf einem x86-\glqq defconfig\grqq{}-Build fügt diese Funktion Canary-Prüfungen zu etwa \qty{20}{\percent} aller
|
|
||||||
Kernel-Funktionen hinzu, was die Größe des Kernel-Codes um etwa \qty{2}{\percent} erhöht.
|
|
||||||
\english{Functions will have the stack-protector canary logic added in any of the following conditions:\\
|
\english{Functions will have the stack-protector canary logic added in any of the following conditions:\\
|
||||||
-- local variable's address used as part of the right hand side of an assignment or function argument\\
|
-- local variable's address used as part of the right hand side of an assignment or function argument\\
|
||||||
-- local variable is an array (or union containing an array), regardless of array type or length\\
|
-- local variable is an array (or union containing an array), regardless of array type or length\\
|
||||||
-- uses register local variables\\
|
-- uses register local variables\\
|
||||||
This feature requires gcc version 4.9 or above, or a distribution gcc with the feature backported (``-fstack-protector-strong'').\\
|
This feature requires gcc version 4.9 or above, or a distribution gcc with the feature backported (``-fstack-protector-strong'').\\
|
||||||
On an x86 ``defconfig'' build, this feature adds canary checks to about 20\% of all kernel functions,
|
On an x86 ``defconfig'' build, this feature adds canary checks to about 20\% of all kernel functions, which increases the kernel code size by about 2\%.}
|
||||||
which increases the kernel code size by about 2\%.}
|
|
||||||
|
|
||||||
|
%9.6
|
||||||
\subsection{Link Time Optimization (LTO) () \texorpdfstring{$\rightarrow$}{->}}
|
\subsection{Link Time Optimization (LTO) () \texorpdfstring{$\rightarrow$}{->}}
|
||||||
\textit{Optimierung der Verbindungszeit}
|
\textit{Optimierung der Verbindungszeit}
|
||||||
Diese Option aktiviert die Verbindungszeitoptimierung (Link Time Optimization, LTO), die es dem Compiler ermöglicht, Binärdateien global zu optimieren.
|
Diese Option aktiviert die Verbindungszeitoptimierung (Link Time Optimization, LTO), die es dem Compiler ermöglicht, Binärdateien global zu optimieren.
|
||||||
@@ -134,27 +119,25 @@ CONFIG\_LTO\_NONE [=y] \textbf{[Y]}\\
|
|||||||
Erstellen Sie den Kernel normal, ohne Link Time Optimization (LTO).
|
Erstellen Sie den Kernel normal, ohne Link Time Optimization (LTO).
|
||||||
\english{Build the kernel normally, without Link Time Optimization (LTO).}
|
\english{Build the kernel normally, without Link Time Optimization (LTO).}
|
||||||
|
|
||||||
|
%9.7
|
||||||
\subsection{Number of bits to use for ASLR of mmap base address}
|
\subsection{Number of bits to use for ASLR of mmap base address}
|
||||||
CONFIG\_ARCH\_MMAP\_RND\_BITS [=28] \textbf{[28]}\\*
|
CONFIG\_ARCH\_MMAP\_RND\_BITS [=28] \textbf{[28]}\\*
|
||||||
Dieser Wert kann verwendet werden, um die Anzahl der Bits auszuwählen, die zur Bestimmung des zufälligen Offsets zur Basisadresse
|
Dieser Wert kann verwendet werden, um die Anzahl der Bits auszuwählen, die zur Bestimmung des zufälligen Offsets zur Basisadresse von vma-Regionen verwendet werden, die aus mmap-Zuweisungen resultieren.
|
||||||
von vma-Regionen verwendet werden, die aus mmap-Zuweisungen resultieren.
|
|
||||||
Dieser Wert wird durch die von der Architektur unterstützten Mindest- und Höchstwerte begrenzt.
|
Dieser Wert wird durch die von der Architektur unterstützten Mindest- und Höchstwerte begrenzt.
|
||||||
Dieser Wert kann nach dem Booten mit dem Tunable /proc/sys/vm/mmap\_rnd\_bits geändert werden.
|
Dieser Wert kann nach dem Booten mit dem Tunable \texttt{/proc/sys/vm/mmap\_rnd\_bits} geändert werden.
|
||||||
\english{This value can be used to select the number of bits to use to determine the random offset
|
\english{This value can be used to select the number of bits to use to determine the random offset to the base address of vma regions resulting from mmap allocations.
|
||||||
to the base address of vma regions resulting from mmap allocations.
|
|
||||||
This value will be bounded by the architecture's minimum and maximum supported values.\\
|
This value will be bounded by the architecture's minimum and maximum supported values.\\
|
||||||
This value can be changed after boot using the /proc/sys/vm/mmap\_rnd\_bits tunable}
|
This value can be changed after boot using the /proc/sys/vm/mmap\_rnd\_bits tunable}
|
||||||
|
|
||||||
|
%9.8
|
||||||
\subsection{Number of bits to use for ASLR of mmap base address for compatible applications}
|
\subsection{Number of bits to use for ASLR of mmap base address for compatible applications}
|
||||||
CONFIG\_ARCH\_MMAP\_RND\_CAMPAT\_BITS [=8] \textbf{[8]}\\*
|
CONFIG\_ARCH\_MMAP\_RND\_CAMPAT\_BITS [=8] \textbf{[8]}\\*
|
||||||
Dieser Wert kann verwendet werden, um die Anzahl der Bits auszuwählen, die zur Bestimmung des zufälligen Offsets zur Basisadresse
|
Dieser Wert kann verwendet werden, um die Anzahl der Bits auszuwählen, die zur Bestimmung des zufälligen Offsets zur Basisadresse von vma-Regionen verwendet werden, die aus mmap-Zuweisungen resultieren.
|
||||||
von vma-Regionen verwendet werden, die aus mmap-Zuweisungen resultieren.
|
|
||||||
Dieser Wert wird durch die von der Architektur unterstützten Mindest- und Höchstwerte begrenzt.
|
Dieser Wert wird durch die von der Architektur unterstützten Mindest- und Höchstwerte begrenzt.
|
||||||
Dieser Wert kann nach dem Booten mit dem Tunable /proc/sys/vm/mmap\_rnd\_bits geändert werden.
|
Dieser Wert kann nach dem Booten mit dem Tunable \texttt{/proc/sys/vm/mmap\_rnd\_bits} geändert werden.
|
||||||
\english{This value can be used to select the number of bits to use to determine the random offset to the base
|
\english{This value can be used to select the number of bits to use to determine the random offset to the base address of vma regions resulting from mmap allocations.
|
||||||
address of vma regions resulting from mmap allocations for compatible applications
|
|
||||||
This value will be bounded by the architecture's minimum and maximum supported values.\\
|
This value will be bounded by the architecture's minimum and maximum supported values.\\
|
||||||
This value can be changed after boot using the /proc/sys/vm/mmap\_rnd\_compat\_bits tunable}
|
This value can be changed after boot using the /proc/sys/vm/mmap\_rnd\_bits tunable}
|
||||||
|
|
||||||
\subsection{MMU page size () \texorpdfstring{$\rightarrow$}{->}}
|
\subsection{MMU page size () \texorpdfstring{$\rightarrow$}{->}}
|
||||||
Für diese Option ist keine Hilfe verfügbar.
|
Für diese Option ist keine Hilfe verfügbar.
|
||||||
@@ -163,7 +146,7 @@ Für diese Option ist keine Hilfe verfügbar.
|
|||||||
\subsubsection{4KiB pages}
|
\subsubsection{4KiB pages}
|
||||||
CONFIG\_PAGE\_SIZE\_4KB [=y] \textbf{[Y]}\\*
|
CONFIG\_PAGE\_SIZE\_4KB [=y] \textbf{[Y]}\\*
|
||||||
Diese Option wählt die Standard-Linux-Seitengröße von \qty{4}{\kibi\byte} und ist auf vielen Architekturen die einzige verfügbare Option.
|
Diese Option wählt die Standard-Linux-Seitengröße von \qty{4}{\kibi\byte} und ist auf vielen Architekturen die einzige verfügbare Option.
|
||||||
Die Verwendung von 4KiB Seitengröße minimiert den Speicherverbrauch und wird daher für Systeme mit wenig Speicher empfohlen.
|
Die Verwendung von \qty{4}{\kibi\byte} Seitengröße minimiert den Speicherverbrauch und wird daher für Systeme mit wenig Speicher empfohlen.
|
||||||
Einige Software, die für x86-Systeme geschrieben wurde, geht von falschen Annahmen bezüglich der Seitengröße aus und läuft nur auf \qty{4}{\kibi\byte}-Seiten.
|
Einige Software, die für x86-Systeme geschrieben wurde, geht von falschen Annahmen bezüglich der Seitengröße aus und läuft nur auf \qty{4}{\kibi\byte}-Seiten.
|
||||||
\english{This option select the standard 4KiB Linux page size and the only available option on many architectures.
|
\english{This option select the standard 4KiB Linux page size and the only available option on many architectures.
|
||||||
Using 4KiB page size will minimize memory consumption and is therefore recommended for low memory systems.
|
Using 4KiB page size will minimize memory consumption and is therefore recommended for low memory systems.
|
||||||
@@ -171,56 +154,47 @@ Some software that is written for x86 systems makes incorrect assumptions about
|
|||||||
|
|
||||||
\subsection{Provide system calls for 32-bit time\_t}
|
\subsection{Provide system calls for 32-bit time\_t}
|
||||||
CONFIG\_COMPAT\_32BIT\_TIME [=y] \textbf{[Y]}\\
|
CONFIG\_COMPAT\_32BIT\_TIME [=y] \textbf{[Y]}\\
|
||||||
Dies ermöglicht die Unterstützung von 32 Bit time\_t zusätzlich zur Unterstützung von
|
Dies ermöglicht die Unterstützung von 32 Bit time\_t zusätzlich zur Unterstützung von 64~Bit time\_t.
|
||||||
64~Bit time\_t. Dies ist auf allen 32-Bit-Architekturen und 64-Bit-Architekturen als Teil
|
Dies ist auf allen 32-Bit-Architekturen und 64-Bit-Architekturen als Teil der Kompatibilitäts-Syscall"=Behandlung relevant.
|
||||||
der Kompatibilitäts-Syscall-Behandlung relevant.
|
|
||||||
\english{This enables 32 bit time\_t support in addition to 64 bit time\_t support.
|
\english{This enables 32 bit time\_t support in addition to 64 bit time\_t support.
|
||||||
This is relevant on all 32-bit architectures, and 64-bit architectures as part of compat syscall handling.}
|
This is relevant on all 32-bit architectures, and 64-bit architectures as part of compat syscall handling.}
|
||||||
|
|
||||||
|
%9.11
|
||||||
\subsection{Use a virtually-mapped stack}
|
\subsection{Use a virtually-mapped stack}
|
||||||
CONFIG\_VMAP\_STACK [=y] \textbf{[Y]}\\
|
CONFIG\_VMAP\_STACK [=y] \textbf{[Y]}\\
|
||||||
Aktivieren Sie dies, wenn Sie virtuell gemappte Kernel-Stacks mit Guard Pages verwenden wollen.
|
Aktivieren Sie dies, wenn Sie virtuell gemappte Kernel-Stacks mit Guard Pages verwenden wollen.
|
||||||
Dies führt dazu, dass Kernel-Stack-Überläufe sofort abgefangen werden und keine schwer zu
|
Dies führt dazu, dass Kernel-Stack-Überläufe sofort abgefangen werden und keine schwer zu diagnostizierende Korruption verursachen.
|
||||||
diagnostizierende Korruption verursachen. Um dies mit Software-KASAN-Modi zu verwenden, muss die
|
Um dies mit Software-KASAN-Modi zu verwenden, muss die Architektur die Unterstützung von virtuellen Mappings mit echtem Schattenspeicher unterstützen und \texttt{KASAN\_VMALLOC} muss aktiviert sein.
|
||||||
Architektur die Unterstützung von virtuellen Mappings mit echtem Schattenspeicher unterstützen
|
|
||||||
und KASAN\_VMALLOC muss aktiviert sein.
|
|
||||||
\english{Enable this if you want the use virtually-mapped kernel stacks with guard pages.
|
\english{Enable this if you want the use virtually-mapped kernel stacks with guard pages.
|
||||||
This causes kernel stack overflows to be caught immediately rather than causing difficult-to-diagnose corruption.\\
|
This causes kernel stack overflows to be caught immediately rather than causing difficult-to-diagnose corruption.\\
|
||||||
To use this with software KASAN modes, the architecture must support backing virtual mappings with real shadow memory, and KASAN\_VMALLOC must be enabled.}
|
To use this with software KASAN modes, the architecture must support backing virtual mappings with real shadow memory, and KASAN\_VMALLOC must be enabled.}
|
||||||
|
|
||||||
|
%9.12
|
||||||
\subsection{Support for randomizing kernel stack offset on syscall entry}
|
\subsection{Support for randomizing kernel stack offset on syscall entry}
|
||||||
CONFIG\_RANDOMIZE\_KSTACK\_OFFSET [=y] \textbf{[Y]}\\
|
CONFIG\_RANDOMIZE\_KSTACK\_OFFSET [=y] \textbf{[Y]}\\
|
||||||
Der Kernel-Stack-Offset kann (nach pt\_regs) mit etwa 5~Bits Entropie randomisiert werden,
|
Der Kernel-Stack-Offset kann (nach pt\_regs) mit etwa 5~Bits Entropie randomisiert werden, wodurch Angriffe auf Speicherbeschädigung vereitelt werden, die auf Stack-Adress-Determinismus oder auf die Offenlegung der Adressen von Cross-Syscalls angewiesen sind.
|
||||||
wodurch Angriffe auf Speicherbeschädigung vereitelt werden, die auf Stack-Adress-Determinismus
|
Die Funktion wird über den Kernel-Boot-Parameter \texttt{randomize\_kstack\_offset=on/off} gesteuert und hat, wenn sie ausgeschaltet ist, aufgrund der Verwendung von statischen Verzweigungen (siehe \texttt{JUMP\_LABEL}) keinen Overhead.\\
|
||||||
oder auf die Offenlegung der Adressen von Cross-Syscalls angewiesen sind.
|
|
||||||
Die Funktion wird über den Kernel-Boot-Parameter \texttt{randomize\_kstack\_offset=on/off} gesteuert
|
|
||||||
und hat, wenn sie ausgeschaltet ist, aufgrund der Verwendung von statischen Verzweigungen
|
|
||||||
(siehe JUMP\_LABEL) keinen Overhead.\\
|
|
||||||
Wenn Sie unsicher sind, sagen Sie Y.
|
Wenn Sie unsicher sind, sagen Sie Y.
|
||||||
\english{The kernel stack offset can be randomized (after pt\_regs) by roughly 5 bits of entropy,
|
\english{The kernel stack offset can be randomized (after pt\_regs) by roughly 5 bits of entropy, frustrating memory corruption attacks that depend on stack address determinism or cross-syscall address exposures.\\
|
||||||
frustrating memory corruption attacks that depend on stack address determinism or cross-syscall address exposures.\\
|
The feature is controlled via the ``randomize\_kstack\_offset=on/off'' kernel boot param, and if turned off has zero overhead due to its use of static branches (see JUMP\_LABEL).\\
|
||||||
The feature is controlled via the ``randomize\_kstack\_offset=on/off'' kernel boot param,
|
|
||||||
and if turned off has zero overhead due to its use of static branches (see JUMP\_LABEL).\\
|
|
||||||
If unsure, say Y.}
|
If unsure, say Y.}
|
||||||
|
|
||||||
\subsubsection{Default state of kernel stack offset randomization}
|
\subsubsection{Default state of kernel stack offset randomization}
|
||||||
CONFIG\_RANDOMIZE\_KSTACK\_OFFSET\_DEFAULT [=y] \textbf{[Y]}\\
|
CONFIG\_RANDOMIZE\_KSTACK\_OFFSET\_DEFAULT [=y] \textbf{[Y]}\\
|
||||||
Die Randomisierung des Kernel-Stack-Offsets wird durch den Kernel-Boot-Parameter\\
|
Die Randomisierung des Kernel-Stack-Offsets wird durch den Kernel-Boot-Parameter\\\texttt{randomize\_kstack\_offset=on/off} gesteuert, und diese Konfiguration wählt den Standard-Boot-Status.
|
||||||
\texttt{randomize\_kstack\_offset=on/off} gesteuert, und diese Konfiguration wählt den
|
\english{Kernel stack offset randomization is controlled by kernel boot param ``randomize\_kstack\_offset=on/off'', and this config chooses the default boot state.}
|
||||||
Standard-Boot-Status.
|
|
||||||
\english{Kernel stack offset randomization is controlled by kernel boot param ``randomize\_kstack\_offset=on/off'',
|
|
||||||
and this config chooses the default boot state.}
|
|
||||||
|
|
||||||
|
%9.13
|
||||||
\subsection{Locking event counts collection}
|
\subsection{Locking event counts collection}
|
||||||
CONFIG\_LOCK\_EVENT\_COUNTS [=y] \textbf{[Y]}\\
|
CONFIG\_LOCK\_EVENT\_COUNTS [=y] \textbf{[Y]}\\
|
||||||
Ermöglicht eine leichtgewichtige Zählung verschiedener sperrungsbezogener Ereignisse im System
|
Ermöglicht eine leichtgewichtige Zählung verschiedener sperrungsbezogener Ereignisse im System mit minimalen Auswirkungen auf die Leistung.
|
||||||
mit minimalen Auswirkungen auf die Leistung. Dies verringert die Wahrscheinlichkeit, dass sich
|
Dies verringert die Wahrscheinlichkeit, dass sich das Anwendungsverhalten aufgrund von Zeitunterschieden ändert.
|
||||||
das Anwendungsverhalten aufgrund von Zeitunterschieden ändert. Die Zählungen werden über
|
Die Zählungen werden über \texttt{debugfs} gemeldet.
|
||||||
debugfs gemeldet.
|
|
||||||
\english{Enable light-weight counting of various locking related events in the system with minimal performance impact.
|
\english{Enable light-weight counting of various locking related events in the system with minimal performance impact.
|
||||||
This reduces the chance of application behavior change because of timing differences.
|
This reduces the chance of application behavior change because of timing differences.
|
||||||
The counts are reported via debugfs.}
|
The counts are reported via debugfs.}
|
||||||
|
|
||||||
|
%9.14
|
||||||
\subsection{GCOV-based kernel profiling \texorpdfstring{$\rightarrow$}{->}}
|
\subsection{GCOV-based kernel profiling \texorpdfstring{$\rightarrow$}{->}}
|
||||||
(GCOV-basierte Kernel-Profilierung)
|
(GCOV-basierte Kernel-Profilierung)
|
||||||
|
|
||||||
@@ -228,20 +202,17 @@ The counts are reported via debugfs.}
|
|||||||
CONFIG\_GCOV\_KERNEL [=n] \textbf{[N]}\\
|
CONFIG\_GCOV\_KERNEL [=n] \textbf{[N]}\\
|
||||||
Diese Option aktiviert die gcov-basierte Code-Profilierung (z.\,B. für Code-Abdeckungsmessungen).
|
Diese Option aktiviert die gcov-basierte Code-Profilierung (z.\,B. für Code-Abdeckungsmessungen).
|
||||||
Wenn Sie unsicher sind, sagen Sie N.\\[.5em]
|
Wenn Sie unsicher sind, sagen Sie N.\\[.5em]
|
||||||
Geben Sie zusätzlich CONFIG\_GCOV\_PROFILE\_ALL=y an, um Profilerstellungsdaten für den gesamten
|
Geben Sie zusätzlich CONFIG\_GCOV\_PROFILE\_ALL=y an, um Profilerstellungsdaten für den gesamten Kernel zu erhalten.
|
||||||
Kernel zu erhalten. Um die Profilerstellung für bestimmte Dateien oder Verzeichnisse zu aktivieren,
|
Um die Profilerstellung für bestimmte Dateien oder Verzeichnisse zu aktivieren, fügen Sie eine Zeile ähnlich der folgenden in das jeweilige Makefile ein:\\[.5em]
|
||||||
fügen Sie eine Zeile ähnlich der folgenden in das jeweilige Makefile ein:\\[.5em]
|
|
||||||
Für eine einzelne Datei (z.\,B. main.o):\\
|
Für eine einzelne Datei (z.\,B. main.o):\\
|
||||||
\indent \texttt{GCOV\_PROFILE\_main.o := y}\\[.5em]
|
\indent \texttt{GCOV\_PROFILE\_main.o := y}\\[.5em]
|
||||||
Für alle Dateien in einem Verzeichnis:\\
|
Für alle Dateien in einem Verzeichnis:\\
|
||||||
\indent \texttt{GCOV\_PROFILE := y}\\[.5em]
|
\indent \texttt{GCOV\_PROFILE := y}\\[.5em]
|
||||||
Um Dateien von der Profilerstellung auszuschließen, auch wenn CONFIG\_GCOV\_PROFILE\_ALL
|
Um Dateien von der Profilerstellung auszuschließen, auch wenn CONFIG\_GCOV\_PROFILE\_ALL angegeben ist, verwenden Sie:\\
|
||||||
angegeben ist, verwenden Sie:\\
|
|
||||||
\indent \texttt{GCOV\_PROFILE\_main.o := n}\\[.5em]
|
\indent \texttt{GCOV\_PROFILE\_main.o := n}\\[.5em]
|
||||||
und:\\
|
und:\\
|
||||||
\indent \texttt{GCOV\_PROFILE := n}\\[.5em]
|
\indent \texttt{GCOV\_PROFILE := n}\\[.5em]
|
||||||
Beachten Sie, dass das debugfs-Dateisystem gemountet sein muss, um auf die Profilerstellungsdaten
|
Beachten Sie, dass das debugfs-Dateisystem gemountet sein muss, um auf die Profilerstellungsdaten zugreifen zu können.
|
||||||
zugreifen zu können.
|
|
||||||
\english{This option enables gcov-based code profiling (e.g. for code coverage measurements).\\
|
\english{This option enables gcov-based code profiling (e.g. for code coverage measurements).\\
|
||||||
If unsure, say N.\\
|
If unsure, say N.\\
|
||||||
Additionally specify CONFIG\_GCOV\_PROFILE\_ALL=y to get profiling data for the entire kernel.
|
Additionally specify CONFIG\_GCOV\_PROFILE\_ALL=y to get profiling data for the entire kernel.
|
||||||
@@ -254,7 +225,7 @@ and: GCOV\_PROFILE := n\\
|
|||||||
Note that the debugfs filesystem has to be mounted to access profiling data.}
|
Note that the debugfs filesystem has to be mounted to access profiling data.}
|
||||||
|
|
||||||
\subsection{GCC plugins \texorpdfstring{$\rightarrow$}{->}}
|
\subsection{GCC plugins \texorpdfstring{$\rightarrow$}{->}}
|
||||||
CONFIG\_GCC\_PLUGINS [=y] \textbf{[Y]}\\
|
CONFIG\_GCC\_PLUGINS [=n] \textbf{[N]}\\
|
||||||
GCC-Plugins sind ladbare Module, die zusätzliche Funktionen für den Compiler bereitstellen.
|
GCC-Plugins sind ladbare Module, die zusätzliche Funktionen für den Compiler bereitstellen.
|
||||||
Sie sind nützlich für die Laufzeitinstrumentierung und die statische Analyse.\\
|
Sie sind nützlich für die Laufzeitinstrumentierung und die statische Analyse.\\
|
||||||
Siehe Documentation/kbuild/gcc-plugins.rst für Details.
|
Siehe Documentation/kbuild/gcc-plugins.rst für Details.
|
||||||
@@ -264,15 +235,12 @@ See Documentation/kbuild/gcc-plugins.rst for details.}
|
|||||||
|
|
||||||
\subsubsection{Generate some entropy during boot and runtime}
|
\subsubsection{Generate some entropy during boot and runtime}
|
||||||
CONFIG\_GCC\_PLUGIN\_LATENT\_ENTROPY [=n] \textbf{[N]}\\
|
CONFIG\_GCC\_PLUGIN\_LATENT\_ENTROPY [=n] \textbf{[N]}\\
|
||||||
Mit der Eingabe von Y wird der Kernel einen Teil des Kernel-Codes instrumentieren,
|
Mit der Eingabe von Y wird der Kernel einen Teil des Kernel-Codes instrumentieren, um sowohl aus dem ursprünglichen als auch aus dem künstlich erzeugten Programmzustand etwas Entropie zu gewinnen.
|
||||||
um sowohl aus dem ursprünglichen als auch aus dem künstlich erzeugten Programmzustand
|
Dies ist insbesondere bei eingebetteten Systemen hilfreich, bei denen es normalerweise wenig \glqq natürliche\grqq{} Entropiequellen gibt.
|
||||||
etwas Entropie zu gewinnen.
|
Der Preis ist eine gewisse Verlangsamung des Boot-Prozesses (etwa \qty{0,5}{\percent}) und der fork- und irq-Verarbeitung.
|
||||||
Dies ist insbesondere bei eingebetteten Systemen hilfreich, bei denen es normalerweise wenig
|
Beachten Sie, dass die auf diese Weise extrahierte Entropie nicht kryptografisch sicher ist!\\
|
||||||
\glqq natürliche\grqq{} Entropiequellen gibt.
|
Dieses Plugin wurde von grsecurity/PaX portiert.
|
||||||
Der Preis ist eine gewisse Verlangsamung des Boot-Prozesses (etwa 0,5~\%) und der fork- und
|
Mehr Informationen unter:
|
||||||
irq-Verarbeitung. Beachten Sie, dass die auf diese Weise extrahierte Entropie nicht
|
|
||||||
kryptografisch sicher ist!\\
|
|
||||||
Dieses Plugin wurde von grsecurity/PaX portiert. Mehr Informationen unter:
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item[] \url{https://grsecurity.net/}
|
\item[] \url{https://grsecurity.net/}
|
||||||
\item[] \url{https://pax.grsecurity.net/}
|
\item[] \url{https://pax.grsecurity.net/}
|
||||||
|
|||||||
@@ -1,29 +1,23 @@
|
|||||||
% since Linux 6.14
|
|
||||||
% linux_configuration_10_enable_loadable_module_support.tex
|
% linux_configuration_10_enable_loadable_module_support.tex
|
||||||
|
% since Linux 6.16
|
||||||
|
|
||||||
\section{Enable loadable module support \texorpdfstring{$\rightarrow$}{->}}
|
\section{Enable loadable module support \texorpdfstring{$\rightarrow$}{->}}
|
||||||
CONFIG\_MODULES [=y] \textbf{[Y]}\\
|
CONFIG\_MODULES [=y] \textbf{[Y]}\\
|
||||||
Kernel-Module sind kleine Stücke kompilierten Codes, die in den laufenden Kernel eingefügt werden können,
|
Kernel-Module sind kleine Stücke kompilierten Codes, die in den laufenden Kernel eingefügt werden können, anstatt dauerhaft in den Kernel eingebaut zu werden.
|
||||||
anstatt dauerhaft in den Kernel eingebaut zu werden. Sie verwenden das Werkzeug
|
Sie verwenden das Werkzeug \texttt{modprobe}, um sie hinzuzufügen (und manchmal zu entfernen).\\
|
||||||
\texttt{modprobe}, um sie hinzuzufügen (und manchmal zu entfernen).\\
|
Wenn Sie hier Y angeben, können viele Teile des Kernels als Module gebaut werden (indem Sie M anstelle von Y antworten, wo dies angegeben ist):\\
|
||||||
Wenn Sie hier Y angeben, können viele Teile des Kernels als Module gebaut werden (indem Sie M anstelle
|
|
||||||
von Y antworten, wo dies angegeben ist):\\
|
|
||||||
Dies ist besonders nützlich für selten verwendete Optionen, die zum Booten nicht benötigt werden.
|
Dies ist besonders nützlich für selten verwendete Optionen, die zum Booten nicht benötigt werden.
|
||||||
Weitere Informationen finden Sie in den Man Pages für \texttt{modprobe},
|
Weitere Informationen finden Sie in den Man Pages für \texttt{modprobe}, \texttt{lsmod}, \texttt{modinfo}, \texttt{insmod} und \texttt{rmmod}.\\
|
||||||
\texttt{lsmod}, \texttt{modinfo}, \texttt{insmod} und \texttt{rmmod}.\\
|
Wenn Sie hier Y angeben, müssen Sie \texttt{make modules\_install} ausführen, um die Module unter\\\texttt{/lib/modules/} abzulegen, wo sie von modprobe gefunden werden können (möglicherweise müssen Sie dazu root sein).
|
||||||
Wenn Sie hier Y angeben, müssen Sie \texttt{make modules\_install} ausführen, um die Module unter\\
|
|
||||||
/lib/modules/ abzulegen, wo sie von modprobe gefunden werden können (möglicherweise müssen Sie dazu
|
|
||||||
root sein).
|
|
||||||
Wenn Sie unsicher sind, sagen Sie Y.
|
Wenn Sie unsicher sind, sagen Sie Y.
|
||||||
\english{Kernel modules are small pieces of compiled code which can be inserted in the running kernel, rather than being permanently built into the kernel.
|
\english{Kernel modules are small pieces of compiled code which can be inserted in the running kernel, rather than being permanently built into the kernel.
|
||||||
You use the ``modprobe'' tool to add (and sometimes remove) them.
|
You use the ``modprobe'' tool to add (and sometimes remove) them.
|
||||||
If you say Y here, many parts of the kernel can be built as modules (by answering M instead of Y where indicated):
|
If you say Y here, many parts of the kernel can be built as modules (by answering M instead of Y where indicated): this is most useful for infrequently used options which are not required for booting.
|
||||||
this is most useful for infrequently used options which are not required for booting.
|
|
||||||
For more information, see the man pages for modprobe, lsmod, modinfo, insmod and rmmod.\\
|
For more information, see the man pages for modprobe, lsmod, modinfo, insmod and rmmod.\\
|
||||||
If you say Y here, you will need to run ``make modules\_install'' to put the modules under /lib/modules/ where modprobe can find them
|
If you say Y here, you will need to run ``make modules\_install'' to put the modules under /lib/modules/ where modprobe can find them (you may need to be root to do this).
|
||||||
(you may need to be root to do this).
|
|
||||||
If unsure, say Y.}
|
If unsure, say Y.}
|
||||||
|
|
||||||
|
%10.1
|
||||||
\subsection{Module debugging}
|
\subsection{Module debugging}
|
||||||
CONFIG\_MODULE\_DEBUG [=n] \textbf{[N]}\\
|
CONFIG\_MODULE\_DEBUG [=n] \textbf{[N]}\\
|
||||||
Ermöglicht das Aktivieren/Deaktivieren von Funktionen, die Ihnen beim Debuggen von Modulen helfen können.
|
Ermöglicht das Aktivieren/Deaktivieren von Funktionen, die Ihnen beim Debuggen von Modulen helfen können.
|
||||||
@@ -31,88 +25,77 @@ Auf Produktionssystemen benötigen Sie diese Optionen nicht.
|
|||||||
\english{Allows you to enable / disable features which can help you debug modules.
|
\english{Allows you to enable / disable features which can help you debug modules.
|
||||||
You don't need these options on production systems.}
|
You don't need these options on production systems.}
|
||||||
|
|
||||||
|
%10.2
|
||||||
\subsection{Forced module loading}
|
\subsection{Forced module loading}
|
||||||
CONFIG\_MODULE\_FORCE\_LOAD [=y] \textbf{[Y]}\\
|
CONFIG\_MODULE\_FORCE\_LOAD [=y] \textbf{[Y]}\\
|
||||||
Erlaubt das Laden von Modulen ohne Versionsinformationen (z.\,B. \texttt{modprobe --force}).
|
Erlaubt das Laden von Modulen ohne Versionsinformationen (z.\,B. \texttt{modprobe --force}).
|
||||||
Erzwungenes Laden von Modulen setzt das \glq F\grq{} (forced) taint Flag und ist normalerweise eine wirklich
|
Erzwungenes Laden von Modulen setzt das \glq F\grq{} (forced) taint Flag und ist normalerweise eine wirklich schlechte Idee.
|
||||||
schlechte Idee.
|
|
||||||
\english{Allow loading of modules without version information (ie. \texttt{modprobe --force}.
|
\english{Allow loading of modules without version information (ie. \texttt{modprobe --force}.
|
||||||
Forced module loading sets the `F' (forced) taint flag and is usually a really bad idea.}
|
Forced module loading sets the `F' (forced) taint flag and is usually a really bad idea.}
|
||||||
|
|
||||||
|
%10.3
|
||||||
\subsection{Module unloading}
|
\subsection{Module unloading}
|
||||||
CONFIG\_MODULE\_UNLOAD [=y] \textbf{[Y]}\\
|
CONFIG\_MODULE\_UNLOAD [=y] \textbf{[Y]}\\
|
||||||
Ohne diese Option können Sie keine Module entladen (beachten Sie, dass einige Module möglicherweise
|
Ohne diese Option können Sie keine Module entladen (beachten Sie, dass einige Module möglicherweise ohnehin nicht entladbar sind), was Ihren Kernel kleiner, schneller und einfacher macht.
|
||||||
ohnehin nicht entladbar sind), was Ihren Kernel kleiner, schneller und einfacher macht.
|
|
||||||
Wenn Sie unsicher sind, sagen Sie Y.
|
Wenn Sie unsicher sind, sagen Sie Y.
|
||||||
\english{Without this option you will not be able to unload any modules (note that some modules may not be unloadable anyway),
|
\english{Without this option you will not be able to unload any modules (note that some modules may not be unloadable anyway), which makes your kernel smaller, faster and simpler.
|
||||||
which makes your kernel smaller, faster and simpler.
|
|
||||||
If unsure, say Y.}
|
If unsure, say Y.}
|
||||||
|
|
||||||
\subsubsection{Forced module unloading}
|
\subsubsection{Forced module unloading}
|
||||||
CONFIG\_MODULE\_FORCE\_UNLOAD \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
CONFIG\_MODULE\_FORCE\_UNLOAD \colorbox{yellow!80}{[=y] \textbf{[N]}}\\
|
||||||
Mit dieser Option können Sie das Entladen eines Moduls erzwingen, auch wenn der Kernel es für unsicher
|
Mit dieser Option können Sie das Entladen eines Moduls erzwingen, auch wenn der Kernel es für unsicher hält:
|
||||||
hält: Der Kernel wird das Modul entfernen, ohne darauf zu warten, dass jemand die Verwendung des Moduls
|
Der Kernel wird das Modul entfernen, ohne darauf zu warten, dass jemand die Verwendung des Moduls beendet (mit der Option \texttt{-f} von \texttt{rmmod}).
|
||||||
beendet (mit der Option \texttt{-f} von \texttt{rmmod}).
|
Dies ist hauptsächlich für Kernel-Entwickler und verzweifelte Benutzer gedacht.
|
||||||
Dies ist hauptsächlich für Kernel-Entwickler und verzweifelte Benutzer gedacht. Wenn Sie unsicher sind,
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
sagen Sie N.
|
\english{This option allows you to force a module to unload, even if the kernel believes it is unsafe: the kernel will remove the module without waiting for anyone to stop using it (using the -f option to rmmod).
|
||||||
\english{This option allows you to force a module to unload, even if the kernel believes it is unsafe:
|
This is mainly for kernel developers and desperate users.
|
||||||
the kernel will remove the module without waiting for anyone to stop using it (using the -f option to rmmod).
|
If unsure, say N.}
|
||||||
This is mainly for kernel developers and desperate users. If unsure, say N.}
|
|
||||||
\note{Wir haben nicht vor, an Modulen zu entwickeln, deshalb N.}
|
\note{Wir haben nicht vor, an Modulen zu entwickeln, deshalb N.}
|
||||||
|
|
||||||
\subsubsection{Tainted module unload tracking}
|
\subsubsection{Tainted module unload tracking}
|
||||||
CONFIG\_MODULE\_UNLOAD\_TAINT\_TRACKING [=y] \textbf{[Y]}\\
|
CONFIG\_MODULE\_UNLOAD\_TAINT\_TRACKING [=y] \textbf{[Y]}\\
|
||||||
Mit dieser Option können Sie eine Aufzeichnung über jedes entladene Modul führen, das den Kernel
|
Mit dieser Option können Sie eine Aufzeichnung über jedes entladene Modul führen, das den Kernel beschädigt hat.
|
||||||
beschädigt hat. Zusätzlich zur Anzeige einer Liste der verknüpften (oder geladenen) Module, z.\,B.
|
Zusätzlich zur Anzeige einer Liste der verknüpften (oder geladenen) Module, z.\,B. bei der Erkennung einer schlechten Seite (siehe \texttt{bad\_page()}), werden auch die oben genannten Details angezeigt.
|
||||||
bei der Erkennung einer schlechten Seite (siehe bad\_page()), werden auch die oben genannten
|
|
||||||
Details angezeigt. Wenn Sie unsicher sind, sagen Sie N.
|
|
||||||
\english{This option allows you to maintain a record of each unloaded module that tainted the kernel.
|
|
||||||
In addition to displaying a list of linked (or loaded) modules e.g. on detection of a bad page (see bad\_page()),
|
|
||||||
the aforementioned details are also shown. If unsure, say N.}
|
|
||||||
|
|
||||||
\subsection{Module versioning support}
|
|
||||||
CONFIG\_MODVERSIONS [=n] \textbf{[N]}\\
|
|
||||||
Normalerweise müssen Sie Module verwenden, die mit Ihrem Kernel kompiliert wurden. Wenn Sie
|
|
||||||
hier Y angeben, ist es manchmal möglich, Module zu verwenden, die für andere Kernel kompiliert wurden,
|
|
||||||
indem Sie genügend Informationen zu den Modulen hinzufügen, um (hoffentlich) alle Änderungen zu erkennen,
|
|
||||||
die sie mit dem von Ihnen verwendeten Kernel inkompatibel machen würden.\\
|
|
||||||
Wenn Sie unsicher sind, sagen Sie N.
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
\english{Usually, you have to use modules compiled with your kernel.
|
\english{This option allows you to maintain a record of each unloaded module that tainted the kernel.
|
||||||
Saying Y here makes it sometimes possible to use modules compiled for different kernels, by adding enough information
|
In addition to displaying a list of linked (or loaded) modules e.g. on detection of a bad page (see bad\_page()), the aforementioned details are also shown.
|
||||||
to the modules to (hopefully) spot any changes which would make them incompatible with the kernel you are running.
|
|
||||||
If unsure, say N.}
|
If unsure, say N.}
|
||||||
|
|
||||||
|
%10.4
|
||||||
|
\subsection{Module versioning support}
|
||||||
|
CONFIG\_MODVERSIONS [=n] \textbf{[N]}\\
|
||||||
|
Normalerweise müssen Sie Module verwenden, die mit Ihrem Kernel kompiliert wurden.
|
||||||
|
Wenn Sie hier Y angeben, ist es manchmal möglich, Module zu verwenden, die für andere Kernel kompiliert wurden, indem Sie genügend Informationen zu den Modulen hinzufügen, um (hoffentlich) alle Änderungen zu erkennen, die sie mit dem von Ihnen verwendeten Kernel inkompatibel machen würden.\\
|
||||||
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
|
\english{Usually, you have to use modules compiled with your kernel.
|
||||||
|
Saying Y here makes it sometimes possible to use modules compiled for different kernels, by adding enough information to the modules to (hopefully) spot any changes which would make them incompatible with the kernel you are running.
|
||||||
|
If unsure, say N.}
|
||||||
|
|
||||||
|
%10.5
|
||||||
\subsection{Source checksum for all modules}
|
\subsection{Source checksum for all modules}
|
||||||
CONFIG\_MODULE\_SRCVERSION\_ALL [=y] \textbf{[Y]}\\
|
CONFIG\_MODULE\_SRCVERSION\_ALL [=y] \textbf{[Y]}\\
|
||||||
Module, die eine MODULE\_VERSION enthalten, bekommen ein zusätzliches \glqq srcversion\grqq{}-Feld in
|
Module, die eine MODULE\_VERSION enthalten, bekommen ein zusätzliches \glqq srcversion\grqq{}-Feld in ihre modinfo-Sektion eingefügt, das eine Summe der Quelldateien enthält, aus denen sie entstanden sind.
|
||||||
ihre modinfo-Sektion eingefügt, das eine Summe der Quelldateien enthält, aus denen sie entstanden sind.
|
Dies hilft den Betreuern, genau zu sehen, welche Quelle verwendet wurde, um ein Modul zu bauen (da andere manchmal die Modulquelle ändern, ohne die Version zu aktualisieren).
|
||||||
Dies hilft den Betreuern, genau zu sehen, welche Quelle verwendet wurde, um ein Modul zu bauen
|
Mit dieser Option wird ein solches \glqq srcversion\grqq{}-Feld für alle Module erstellt.
|
||||||
(da andere manchmal die Modulquelle ändern, ohne die Version zu aktualisieren). Mit dieser Option wird
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
ein solches \glqq srcversion\grqq{}-Feld für alle Module erstellt. Wenn Sie unsicher sind, sagen Sie N.
|
\english{Modules which contain a MODULE\_VERSION get an extra ``srcversion'' field inserted into their modinfo section, which contains a sum of the source files which made it.
|
||||||
\english{Modules which contain a MODULE\_VERSION get an extra ``srcversion'' field inserted into their modinfo section,
|
|
||||||
which contains a sum of the source files which made it.
|
|
||||||
This helps maintainers see exactly which source was used to build a module (since others sometimes change the module source without updating the version).
|
This helps maintainers see exactly which source was used to build a module (since others sometimes change the module source without updating the version).
|
||||||
With this option, such a ``srcversion'' field will be created for all modules. If unsure, say N.}
|
With this option, such a ``srcversion'' field will be created for all modules.
|
||||||
|
If unsure, say N.}
|
||||||
|
|
||||||
|
%10.6
|
||||||
\subsection{Module signature verification}
|
\subsection{Module signature verification}
|
||||||
CONFIG\_MODULE\_SIG [=y] \textbf{[Y]}\\
|
CONFIG\_MODULE\_SIG [=y] \textbf{[Y]}\\
|
||||||
Überprüfung von Modulen auf gültige Signaturen beim Laden: Die Signatur wird einfach an das Modul
|
Überprüfung von Modulen auf gültige Signaturen beim Laden: Die Signatur wird einfach an das Modul angehängt.
|
||||||
angehängt. Für weitere Informationen siehe $<$file:Documentation/admin-guide/module-signing.rst$>$.
|
Für weitere Informationen siehe $<$file:Documentation/admin-guide/module-signing.rst$>$.
|
||||||
Beachten Sie, dass diese Option die OpenSSL-Entwicklungspakete als Kernel-Build-Abhängigkeit hinzufügt,
|
Beachten Sie, dass diese Option die OpenSSL-Entwicklungspakete als Kernel-Build-Abhängigkeit hinzufügt, so dass das Signierwerkzeug seine Krypto-Bibliothek verwenden kann.
|
||||||
so dass das Signierwerkzeug seine Krypto-Bibliothek verwenden kann. Sie sollten diese Option aktivieren,
|
Sie sollten diese Option aktivieren, wenn Sie entweder \texttt{CONFIG\_SECURITY\_LOCKDOWN\_LSM} oder eine durch eine andere LSM auferlegte Lockdown"=Funktionalität verwenden wollen -- andernfalls werden unsignierte Module unabhängig von der Lockdown-Policy ladbar sein.
|
||||||
wenn Sie entweder CONFIG\_SECURITY\_LOCKDOWN\_LSM oder eine durch eine andere LSM auferlegte
|
!!!WARNUNG!!! Wenn Sie diese Option aktivieren, MÜSSEN Sie sicherstellen, dass das Modul nach dem Signieren NICHT gestrippt wird.
|
||||||
Lockdown-Funktionalität verwenden wollen -- andernfalls werden unsignierte Module unabhängig von der
|
Dies schließt den Debuginfo-Strip ein, der von einigen Paketierern (wie z.\,B. \texttt{rpmbuild}) durchgeführt wird, sowie die Einbindung in ein initramfs, das die Modulgröße reduzieren möchte.
|
||||||
Lockdown-Policy ladbar sein.
|
|
||||||
!!!WARNUNG!!! Wenn Sie diese Option aktivieren, MÜSSEN Sie sicherstellen, dass das Modul nach dem
|
|
||||||
Signieren NICHT gestrippt wird. Dies schließt den Debuginfo-Strip ein, der von einigen Paketierern
|
|
||||||
(wie z.\,B. rpmbuild) durchgeführt wird, sowie die Einbindung in ein initramfs, das die Modulgröße
|
|
||||||
reduzieren möchte.
|
|
||||||
\english{Check modules for valid signatures upon load: the signature is simply appended to the module.
|
\english{Check modules for valid signatures upon load: the signature is simply appended to the module.
|
||||||
For more information see $<$file:Documentation/admin-guide/module-signing.rst$>$.\\
|
For more information see $<$file:Documentation/admin-guide/module-signing.rst$>$.\\
|
||||||
Note that this option adds the OpenSSL development packages as a kernel build dependency so that the signing tool can use its crypto library.\\
|
Note that this option adds the OpenSSL development packages as a kernel build dependency so that the signing tool can use its crypto library.\\
|
||||||
You should enable this option if you wish to use either CONFIG\_SECURITY\_LOCKDOWN\_LSM or lockdown functionality imposed via another LSM --
|
You should enable this option if you wish to use either CONFIG\_SECURITY\_LOCKDOWN\_LSM or lockdown functionality imposed via another LSM -- otherwise unsigned modules will be loadable regardless of the lockdown policy.\\
|
||||||
otherwise unsigned modules will be loadable regardless of the lockdown policy.\\
|
|
||||||
!!!WARNING!!! If you enable this option, you MUST make sure that the module DOES NOT get stripped after being signed.
|
!!!WARNING!!! If you enable this option, you MUST make sure that the module DOES NOT get stripped after being signed.
|
||||||
This includes the debuginfo strip done by some packagers (such as rpmbuild) and inclusion into an initramfs that wants the module size reduced.}
|
This includes the debuginfo strip done by some packagers (such as rpmbuild) and inclusion into an initramfs that wants the module size reduced.}
|
||||||
|
|
||||||
@@ -125,45 +108,64 @@ Without this, such modules will simply taint the kernel.}
|
|||||||
|
|
||||||
\subsubsection{Automatically sign all modules}
|
\subsubsection{Automatically sign all modules}
|
||||||
CONFIG\_MODULE\_SIG\_ALL [=y] \textbf{[Y]}\\
|
CONFIG\_MODULE\_SIG\_ALL [=y] \textbf{[Y]}\\
|
||||||
Signiere alle Module während make modules\_install. Ohne diese Option müssen die Module manuell
|
Signiere alle Module während make modules\_install.
|
||||||
signiert werden, und zwar mit dem Werkzeug scripts/sign-file.
|
Ohne diese Option müssen die Module manuell signiert werden, und zwar mit dem Werkzeug scripts/sign-file.
|
||||||
\english{Sign all modules during make modules\_install. Without this option, modules must be signed manually, using the scripts/sign-file tool.}
|
\english{Sign all modules during make modules\_install.
|
||||||
|
Without this option, modules must be signed manually, using the scripts/sign-file tool.}
|
||||||
|
|
||||||
|
%10.7
|
||||||
%\subsection{Which hash algorithm should modules be signed with? () \texorpdfstring{$\rightarrow$}{->}}
|
%\subsection{Which hash algorithm should modules be signed with? () \texorpdfstring{$\rightarrow$}{->}}
|
||||||
\subsection{Hash algorithm to sign modules \texorpdfstring{$\rightarrow$}{->}}
|
\subsection{Hash algorithm to sign modules \texorpdfstring{$\rightarrow$}{->}}
|
||||||
Damit wird festgelegt, welche Art von Hashing-Algorithmus bei der Signaturerstellung verwendet wird.
|
Damit wird festgelegt, welche Art von Hashing-Algorithmus bei der Signaturerstellung verwendet wird.
|
||||||
Dieser Algorithmus \textbf{muss} direkt in den Kernel eingebaut werden, damit eine Signaturprüfung
|
Dieser Algorithmus \textbf{muss} direkt in den Kernel eingebaut werden, damit eine Signaturprüfung stattfinden kann.
|
||||||
stattfinden kann. Es ist nicht möglich, ein signiertes Modul zu laden, das den Algorithmus enthält,
|
Es ist nicht möglich, ein signiertes Modul zu laden, das den Algorithmus enthält, um die Signatur dieses Moduls zu überprüfen.
|
||||||
um die Signatur dieses Moduls zu überprüfen.
|
|
||||||
\english{This determines which sort of hashing algorithm will be used during signature generation.
|
\english{This determines which sort of hashing algorithm will be used during signature generation.
|
||||||
This algorithm \_must\_ be built into the kernel directly so that signature verification can take place.
|
This algorithm \_must\_ be built into the kernel directly so that signature verification can take place.
|
||||||
It is not possible to load a signed module containing the algorithm to check the signature on that module.}
|
It is not possible to load a signed module containing the algorithm to check the signature on that module.}
|
||||||
|
|
||||||
\subsubsection{Sign modules with SHA-1}
|
\subsubsection{SHA-1}
|
||||||
CONFIG\_MODULE\_SIG\_SHA1 [=n] \textbf{[N]}\\
|
CONFIG\_MODULE\_SIG\_SHA1 [=n] \textbf{[N]}\\
|
||||||
\textit{Für diese Option gibt es keine Hilfe.}
|
\textit{Für diese Option gibt es keine Hilfe.}
|
||||||
\english{There is no help available for this option.}
|
\english{There is no help available for this option.}
|
||||||
|
|
||||||
\subsubsection{Sign modules with SHA-224}
|
{\color{gray}
|
||||||
|
\subsubsection*{Sign modules with SHA-224 \tiny{bis 6.6}}
|
||||||
CONFIG\_MODULE\_SIG\_SHA224 [=n] \textbf{[N]}\\
|
CONFIG\_MODULE\_SIG\_SHA224 [=n] \textbf{[N]}\\
|
||||||
\textit{Für diese Option gibt es keine Hilfe.}
|
\textit{Für diese Option gibt es keine Hilfe.}
|
||||||
\english{There is no help available for this option.}
|
\english{There is no help available for this option.}
|
||||||
|
}
|
||||||
|
|
||||||
\subsubsection{Sign modules with SHA-256}
|
\subsubsection{SHA-256}
|
||||||
CONFIG\_MODULE\_SIG\_SHA256 [=n] \textbf{[N]}\\
|
CONFIG\_MODULE\_SIG\_SHA256 [=n] \textbf{[N]}\\
|
||||||
\textit{Für diese Option gibt es keine Hilfe.}
|
\textit{Für diese Option gibt es keine Hilfe.}
|
||||||
\english{There is no help available for this option.}
|
\english{There is no help available for this option.}
|
||||||
|
|
||||||
\subsubsection{Sign modules with SHA-384}
|
\subsubsection{SHA-384}
|
||||||
CONFIG\_MODULE\_SIG\_SHA384 [=n] \textbf{[N]}\\
|
CONFIG\_MODULE\_SIG\_SHA384 [=n] \textbf{[N]}\\
|
||||||
\textit{Für diese Option gibt es keine Hilfe.}
|
\textit{Für diese Option gibt es keine Hilfe.}
|
||||||
\english{There is no help available for this option.}
|
\english{There is no help available for this option.}
|
||||||
|
|
||||||
\subsubsection{Sign modules with SHA-512}
|
\subsubsection{SHA-512}
|
||||||
CONFIG\_MODULE\_SIG\_SHA512 [=y] \textbf{[Y]}\\
|
CONFIG\_MODULE\_SIG\_SHA512 [=y] \textbf{[Y]}\\
|
||||||
\textit{Für diese Option gibt es keine Hilfe.}
|
\textit{Für diese Option gibt es keine Hilfe.}
|
||||||
\english{There is no help available for this option.}
|
\english{There is no help available for this option.}
|
||||||
|
|
||||||
|
\subsubsection{SHA3-256 \tiny{seit 6.7}}
|
||||||
|
CONFIG\_MODULE\_SIG\_SHA3\_256 [=n] \textbf{[N]}\\
|
||||||
|
\textit{Für diese Option gibt es keine Hilfe.}
|
||||||
|
\english{There is no help available for this option.}
|
||||||
|
|
||||||
|
\subsubsection{SHA3-384 \tiny{seit 6.7}}
|
||||||
|
CONFIG\_MODULE\_SIG\_SHA3\_384 [=n] \textbf{[N]}\\
|
||||||
|
\textit{Für diese Option gibt es keine Hilfe.}
|
||||||
|
\english{There is no help available for this option.}
|
||||||
|
|
||||||
|
\subsubsection{SHA3-512 \tiny{seit 6.7}}
|
||||||
|
CONFIG\_MODULE\_SIG\_SHA3\_512 [=n] \textbf{[N]}\\
|
||||||
|
\textit{Für diese Option gibt es keine Hilfe.}
|
||||||
|
\english{There is no help available for this option.}
|
||||||
|
|
||||||
|
%10.8
|
||||||
\subsection{Module compression}
|
\subsection{Module compression}
|
||||||
Modulkomprimierung aktivieren, um die Größe der Modul-Binärdateien auf der Festplatte zu reduzieren.
|
Modulkomprimierung aktivieren, um die Größe der Modul-Binärdateien auf der Festplatte zu reduzieren.
|
||||||
Dies ist vollständig kompatibel mit signierten Modulen.
|
Dies ist vollständig kompatibel mit signierten Modulen.
|
||||||
@@ -172,16 +174,6 @@ Das Werkzeug, das für die Arbeit mit Modulen verwendet wird, muss den ausgewäh
|
|||||||
Andere Werkzeuge haben möglicherweise eine eingeschränkte Auswahl der unterstützten Typen. \\
|
Andere Werkzeuge haben möglicherweise eine eingeschränkte Auswahl der unterstützten Typen. \\
|
||||||
Beachten Sie, dass es für Module innerhalb einer initrd oder initramfs effizienter ist, stattdessen die gesamte ramdisk zu komprimieren. \\
|
Beachten Sie, dass es für Module innerhalb einer initrd oder initramfs effizienter ist, stattdessen die gesamte ramdisk zu komprimieren. \\
|
||||||
Wenn Sie unsicher sind, wählen Sie N.
|
Wenn Sie unsicher sind, wählen Sie N.
|
||||||
%Mit dieser Option können Sie den Algorithmus auswählen, der zur Komprimierung von Modulen verwendet
|
|
||||||
%wird, wenn \texttt{make modules\_install} ausgeführt wird. (oder Sie können wählen, dass Module
|
|
||||||
%überhaupt nicht komprimiert werden.) Externe Module werden während der Installation ebenfalls auf
|
|
||||||
%die gleiche Weise komprimiert. Für Module innerhalb einer initrd oder initramfs ist es effizienter,
|
|
||||||
%stattdessen die gesamte initrd oder initramfs zu komprimieren. Dies ist vollständig kompatibel mit
|
|
||||||
%signierten Modulen. Bitte beachten Sie, dass das zum Laden von Modulen verwendete Werkzeug den
|
|
||||||
%entsprechenden Algorithmus unterstützen muss. module-init-tools KANN gzip unterstützen, und kmod KANN
|
|
||||||
%gzip, xz und zstd unterstützen.
|
|
||||||
%Ihr Build-System muss das entsprechende Komprimierungswerkzeug bereitstellen, um die Module zu
|
|
||||||
%komprimieren. Im Zweifelsfall wählen Sie `None'.
|
|
||||||
\english{Enable module compression to reduce on-disk size of module binaries.
|
\english{Enable module compression to reduce on-disk size of module binaries.
|
||||||
This is fully compatible with signed modules.\\
|
This is fully compatible with signed modules.\\
|
||||||
The tool used to work with modules needs to support the selected compression type.
|
The tool used to work with modules needs to support the selected compression type.
|
||||||
@@ -221,46 +213,48 @@ External modules will also be compressed in the same way during the installation
|
|||||||
|
|
||||||
\subsubsection{Support in-kernel module decompression}
|
\subsubsection{Support in-kernel module decompression}
|
||||||
CONFIG\_MODULE\_DECOMPRESS [=y] \textbf{[Y]}\\*
|
CONFIG\_MODULE\_DECOMPRESS [=y] \textbf{[Y]}\\*
|
||||||
Unterstützung für die Dekomprimierung von Kernelmodulen durch den Kernel selbst, anstatt sich auf
|
Unterstützung für die Dekomprimierung von Kernelmodulen durch den Kernel selbst, anstatt sich auf den Userspace zu verlassen, um diese Aufgabe zu erledigen.
|
||||||
den Userspace zu verlassen, um diese Aufgabe zu erledigen. Nützlich, wenn die Sicherheitsrichtlinie
|
Nützlich, wenn die Sicherheitsrichtlinie für das Load Pinning aktiviert ist.
|
||||||
für das Load Pinning aktiviert ist. Wenn Sie unsicher sind, sagen Sie N.
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
\english{Support for decompressing kernel modules by the kernel itself instead of relying on userspace to perform this task.
|
\english{Support for decompressing kernel modules by the kernel itself instead of relying on userspace to perform this task.
|
||||||
Useful when load pinning security policy is enabled.\\
|
Useful when load pinning security policy is enabled.\\
|
||||||
If unsure, say N.}
|
If unsure, say N.}
|
||||||
|
|
||||||
|
%10.9
|
||||||
\subsection{Allow loading of modules with missing namespace imports}
|
\subsection{Allow loading of modules with missing namespace imports}
|
||||||
CONFIG\_MODULE\_ALLOW\_MISSING\_NAMESPACE\_IMPORTS [=y] \textbf{[Y]}\\*
|
CONFIG\_MODULE\_ALLOW\_MISSING\_NAMESPACE\_IMPORTS [=y] \textbf{[Y]}\\*
|
||||||
Symbole, die mit EXPORT\_SYMBOL\_NS*() exportiert werden, gelten als in einem Namespace exportiert.
|
Symbole, die mit EXPORT\_SYMBOL\_NS*() exportiert werden, gelten als in einem Namespace exportiert.
|
||||||
Ein Modul, das ein Symbol verwendet, das mit einem solchen Namespace exportiert wurde, muss den
|
Ein Modul, das ein Symbol verwendet, das mit einem solchen Namespace exportiert wurde, muss den Namespace über MODULE\_IMPORT\_NS() importieren.
|
||||||
Namespace über MODULE\_IMPORT\_NS() importieren. Es gibt keinen technischen Grund, korrekte
|
Es gibt keinen technischen Grund, korrekte Namespace-Importe zu erzwingen, aber es schafft Konsistenz zwischen Symbolen, die Namespaces definieren und Benutzern, die Namespaces importieren, die sie verwenden.
|
||||||
Namespace-Importe zu erzwingen, aber es schafft Konsistenz zwischen Symbolen, die Namespaces
|
Diese Option lockert diese Anforderung und hebt die Durchsetzung beim Laden eines Moduls auf.
|
||||||
definieren und Benutzern, die Namespaces importieren, die sie verwenden. Diese Option lockert diese
|
Wenn Sie unsicher sind, sagen Sie N.
|
||||||
Anforderung und hebt die Durchsetzung beim Laden eines Moduls auf. Wenn Sie unsicher sind, sagen Sie N.
|
|
||||||
\english{Symbols exported with EXPORT\_SYMBOL\_NS*() are considered exported in a namespace.\\
|
\english{Symbols exported with EXPORT\_SYMBOL\_NS*() are considered exported in a namespace.\\
|
||||||
A module that makes use of a symbol exported with such a namespace is required to import the namespace via MODULE\_IMPORT\_NS("").\\
|
A module that makes use of a symbol exported with such a namespace is required to import the namespace via MODULE\_IMPORT\_NS("").\\
|
||||||
There is no technical reason to enforce correct namespace imports, but it creates consistency between
|
There is no technical reason to enforce correct namespace imports, but it creates consistency between symbols defining namespaces and users importing namespaces they make use of.
|
||||||
symbols defining namespaces and users importing namespaces they make use of.
|
|
||||||
This option relaxes this requirement and lifts the enforcement when loading a module.\\
|
This option relaxes this requirement and lifts the enforcement when loading a module.\\
|
||||||
If unsure, say N.}
|
If unsure, say N.}
|
||||||
|
|
||||||
|
%10.10
|
||||||
\subsection{Path to modprobe binary}
|
\subsection{Path to modprobe binary}
|
||||||
CONFIG\_MODPROBE\_PATH [=/sbin/modprobe] \textbf{[/sbin/modprobe]}\\
|
CONFIG\_MODPROBE\_PATH [=/sbin/modprobe] \textbf{[/sbin/modprobe]}\\
|
||||||
Wenn der Kernel-Code ein Modul anfordert, geschieht dies durch den Aufruf des
|
Wenn der Kernel-Code ein Modul anfordert, geschieht dies durch den Aufruf des Userspace"=Dienstprogramms \texttt{modprobe}.
|
||||||
User\-space-Dienst\-pro\-gramms \texttt{modprobe}.
|
|
||||||
Mit dieser Option können Sie den Pfad festlegen, in dem diese Binärdatei zu finden ist.
|
Mit dieser Option können Sie den Pfad festlegen, in dem diese Binärdatei zu finden ist.
|
||||||
Dies kann zur Laufzeit über die sysctl-Datei /proc/sys/kernel/modprobe geändert werden.
|
Dies kann zur Laufzeit über die sysctl-Datei /proc/sys/kernel/modprobe geändert werden.
|
||||||
Wenn Sie diese Option auf eine leere Zeichenkette setzen, wird die Fähigkeit des Kernels,
|
Wenn Sie diese Option auf eine leere Zeichenkette setzen, wird die Fähigkeit des Kernels, Module anzufordern, ausgeschaltet (der Userspace kann jedoch weiterhin explizit Module laden).
|
||||||
Module anzufordern, ausgeschaltet (der Userspace kann jedoch weiterhin explizit Module laden).
|
|
||||||
\english{When kernel code requests a module, it does so by calling the ``modprobe'' userspace utility.
|
\english{When kernel code requests a module, it does so by calling the ``modprobe'' userspace utility.
|
||||||
This option allows you to set the path where that binary is found.
|
This option allows you to set the path where that binary is found.
|
||||||
This can be changed at runtime via the sysctl file /proc/sys/kernel/modprobe.
|
This can be changed at runtime via the sysctl file /proc/sys/kernel/modprobe.
|
||||||
Setting this to the empty string removes the kernel's ability to request modules (but userspace can still load modules explicitly).}
|
Setting this to the empty string removes the kernel's ability to request modules (but userspace can still load modules explicitly).}
|
||||||
|
|
||||||
|
%10.11
|
||||||
\subsection{Trim unused exported kernel symbols}
|
\subsection{Trim unused exported kernel symbols}
|
||||||
CONFIG\_TRIM\_UNUSED\_KSYMS [=n] \textbf{[N]}\\*
|
CONFIG\_TRIM\_UNUSED\_KSYMS [=n] \textbf{[N]}\\*
|
||||||
Der Kernel und einige Module stellen viele Symbole für andere Module über EXPORT\_SYMBOL() und Varianten zur Verfügung.
|
Der Kernel und einige Module stellen viele Symbole für andere Module über EXPORT\_SYMBOL() und Varianten zur Verfügung.
|
||||||
Je nach den in Ihrer Kernelkonfiguration ausgewählten Modulen werden viele dieser exportierten Symbole möglicherweise nie verwendet. Mit dieser Option können unbenutzte exportierte Symbole aus dem Build entfernt werden. Im Gegenzug bietet dies dem Compiler mehr Möglichkeiten (insbesondere bei der Verwendung von LTO), den Code zu optimieren und die Binärgröße zu reduzieren.
|
Je nach den in Ihrer Kernelkonfiguration ausgewählten Modulen werden viele dieser exportierten Symbole möglicherweise nie verwendet.
|
||||||
Dies könnte auch einige Sicherheitsvorteile mit sich bringen. Wenn Sie unsicher sind oder wenn Sie Out-of-Tree-Module bauen müssen, sagen Sie N.
|
Mit dieser Option können unbenutzte exportierte Symbole aus dem Build entfernt werden.
|
||||||
|
Im Gegenzug bietet dies dem Compiler mehr Möglichkeiten (insbesondere bei der Verwendung von LTO), den Code zu optimieren und die Binärgröße zu reduzieren.
|
||||||
|
Dies könnte auch einige Sicherheitsvorteile mit sich bringen.
|
||||||
|
Wenn Sie unsicher sind oder wenn Sie Out-of-Tree-Module bauen müssen, sagen Sie N.
|
||||||
\english{The kernel and some modules make many symbols available for other modules to use via EXPORT\_SYMBOL() and variants.
|
\english{The kernel and some modules make many symbols available for other modules to use via EXPORT\_SYMBOL() and variants.
|
||||||
Depending on the set of modules being selected in your kernel configuration, many of those exported symbols might never be used.\\
|
Depending on the set of modules being selected in your kernel configuration, many of those exported symbols might never be used.\\
|
||||||
This option allows for unused exported symbols to be dropped from the build.
|
This option allows for unused exported symbols to be dropped from the build.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
% Device Drivers (15)
|
% Device Drivers (15)
|
||||||
% since 6.13
|
% since 6.13
|
||||||
\section{Security options \texorpdfstring{$\longrightarrow$}{->}}
|
\section{Security options \texorpdfstring{$\longrightarrow$}{->}}
|
||||||
\textit{(Sicherheits\-optionen)}
|
\textit{(Sicherheitsoptionen)}
|
||||||
|
|
||||||
%17.1
|
%17.1
|
||||||
\subsection{Enable access key retention support}
|
\subsection{Enable access key retention support}
|
||||||
|
|||||||
Reference in New Issue
Block a user