diff options
author | jack <[email protected]> | 2024-05-09 23:59:27 -0600 |
---|---|---|
committer | jack <[email protected]> | 2024-05-09 23:59:27 -0600 |
commit | 9213721446b7dcc8c66d748096f5e216af70d786 (patch) | |
tree | ae7fa7c676abfa4ce43b5391018eb2038e2cb1b7 | |
parent | 0bb0d43c8e75209c89818276a4afc95e8077ce36 (diff) | |
download | site-9213721446b7dcc8c66d748096f5e216af70d786.tar.gz site-9213721446b7dcc8c66d748096f5e216af70d786.zip |
network & filesystem configuration
-rw-r--r-- | kernel.html | 1840 |
1 files changed, 1542 insertions, 298 deletions
diff --git a/kernel.html b/kernel.html index c76e7f5..4bc3252 100644 --- a/kernel.html +++ b/kernel.html @@ -1,159 +1,283 @@ <html lang="en"> <head> - <meta charset="UTF-8"> + <meta charset="UTF-8" /> <title>Kernel Configuration</title> - <link rel="stylesheet" href="style.css"> + <link rel="stylesheet" href="style.css" /> <style> - code { - color: #505050; - font-size: 10px; - border: 1px solid grey; - border-radius: 3px; - padding: 1.75px; - } + code { + color: #505050; + font-size: 10px; + border: 1px solid grey; + border-radius: 3px; + padding: 1.75px; + } </style> </head> <body> - <a style="text-decoration: none;" href="index.html"><--</a> + <a style="text-decoration: none" href="index.html"><--</a> <h2>Kernel Configuration Pseudo Guide</h2> - <h4>Current base: <a href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/?h=linux-6.7.y" target="_blank">Linux 6.7.y</a></h4> - This aims to be a guide for configuring a Linux kernel for a modern - x86_64 machine containing hardware commonly found in laptops, desktops, - and other consumer computers. Note, this guide will sway more minimally, - meaning some features that are not strictly required will not be enabled. - All features will be built directly into kernel, no modules. This article - will not attempt to cover all possible configuration options, as it omits - entire sections that are not relevant on such systems, as well as some + <h4> + Current base: + <a + href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/?h=linux-6.9.y" + target="_blank" + >Linux 6.9.y</a + > + </h4> + This aims to be a guide for configuring a Linux kernel for a modern x86_64 + machine containing hardware commonly found in laptops, desktops, and other + consumer computers. Note, this guide will sway more minimally, meaning some + features that are not strictly required will not be enabled. All features + will be built directly into kernel, no modules. This article will not + attempt to cover all possible configuration options, as it omits entire + sections that are not relevant on such systems, as well as some hardware-specific configuration. Please also refer to the kernel's help text for further information on respective options. I am not a kernel developer and nothing here is guaranteed to be functionally accurate. If you feel - anything mentioned is wrong or should be switched around, please contact - me. This article assumes some prior knowledge of your system (eg. lspci, - lscpu, lsusb, dmidecode, <code>/proc/devices</code>, etc.) and general - kernel configuration/installation, such as obtaining source, generating and - maintaining <code>.config</code>, methods of configuration, compilation, - and installation. Throughout, the following acronyms will be used + anything mentioned is wrong or should be switched around, please contact me. + This article assumes some prior knowledge of your system (eg. lspci, lscpu, + lsusb, dmidecode, <code>/proc/devices</code>, etc.) and general kernel + configuration/installation, such as obtaining source, generating and + maintaining <code>.config</code>, methods of configuration, compilation, and + installation. Throughout, the following acronyms will be used <ul> - <li>STD: recommended/standard feature that generally should be enabled</li> - <li>DEV: useful for kernel development/debugging. not for general user</li> + <li> + STD: recommended/standard feature that generally should be enabled + </li> + <li> + DEV: useful for kernel development/debugging. not for general user + </li> <li>VIRT: virtulalisation related options (vhost/vguest)</li> <li>OLD: modern systems generally won't need these options</li> - <li>SEC: security related options that either implicate or strengthen system security</li> + <li> + SEC: security related options that either implicate or strengthen system + security + </li> </ul> - <a href="#top_level">top level options</a><br> - <a href="#general_setup">general setup</a><br> - <a href="#processor_type_feat">processor type and features</a><br> - <a href="#mitigations_vulnerability">mitigations for speculative execution vulnerabilities</a><br> - <a href="#power_management">power management and acpi options</a><br> - <a href="#bus_options">bus options</a><br> - <a href="#binary_emulation">binary emulations</a><br> - <a href="#arch_dependent">general architecture-dependent options</a><br> - <a href="#block_layer">enable the block layer</a><br> - <a href="#executable_file">executable file formats</a><br> - <a href="#memory_management">memory management options</a><br> - <a href="#networking_support">networking support</a><br> + <a href="#top_level">top level options</a><br /> + <a href="#general_setup">general setup</a><br /> + <a href="#processor_type_feat">processor type and features</a><br /> + <a href="#mitigations_vulnerability" + >mitigations for speculative execution vulnerabilities</a + ><br /> + <a href="#power_management">power management and acpi options</a><br /> + <a href="#bus_options">bus options</a><br /> + <a href="#binary_emulation">binary emulations</a><br /> + <a href="#arch_dependent">general architecture-dependent options</a><br /> + <a href="#block_layer">enable the block layer</a><br /> + <a href="#executable_file">executable file formats</a><br /> + <a href="#memory_management">memory management options</a><br /> + <a href="#networking_support">networking support</a><br /> + <a href="#file_systems">file systems</a><br /> <div id="top_level"> <h3>Top Level Options</h3> <ul> <li>64-bit kernel (<code>CONFIG_64BIT</code>): Y, STD</li> - <li>Mitigations for speculative execution vulnerabilities (<code>CONFIG_SPECULATION_MITIGATIONS</code>): Y, STD</li> - <li>Virtualization (<code>CONFIG_VIRTUALIZATION</code>): N, VIRT, unless needed</li> - <li>Enable loadable module support (<code>CONFIG_MODULES</code>): N, everything built into kernel</li> - <li>Enable the block layer (<code>CONFIG_BLOCK</code>): Y, STD, need to mount disks</li> - <li>Networking support (<code>CONFIG_NET</code>): Y, unless no need for network</li> + <li> + Mitigations for speculative execution vulnerabilities + (<code>CONFIG_SPECULATION_MITIGATIONS</code>): Y, STD + </li> + <li> + Virtualization (<code>CONFIG_VIRTUALIZATION</code>): N, VIRT, unless + needed + </li> + <li> + Enable loadable module support (<code>CONFIG_MODULES</code>): N, + everything built into kernel + </li> + <li> + Enable the block layer (<code>CONFIG_BLOCK</code>): Y, STD, need to + mount disks + </li> + <li> + Networking support (<code>CONFIG_NET</code>): Y, unless no need for + network + </li> <li>Cryptographic API (<code>CONFIG_CRYPTO</code>): Y, SEC</li> </ul> </div> <div id="general_setup"> <h3>General setup</h3> <ul> - <li>Compile also drivers which will not load (<code>CONFIG_COMPILE_TEST</code>): N, DEV</li> - <li>Compile the kernel with warnings as errors (<code>CONFIG_WERROR</code>): Y, STD</li> - <li>Local version - append to kernel release (<code>CONFIG_LOCALVERSION</code>): empty, useful for <a href="https://git-scm.com/docs/git-bisect">git bisect</a></li> - <li>Automatically append version information (<code>CONFIG_LOCALVERSION_AUTO</code>): N, DEV</li> + <li> + Compile also drivers which will not load + (<code>CONFIG_COMPILE_TEST</code>): N, DEV + </li> + <li> + Compile the kernel with warnings as errors + (<code>CONFIG_WERROR</code>): Y, STD + </li> + <li> + Local version - append to kernel release + (<code>CONFIG_LOCALVERSION</code>): empty, useful for + <a href="https://git-scm.com/docs/git-bisect">git bisect</a> + </li> + <li> + Automatically append version information + (<code>CONFIG_LOCALVERSION_AUTO</code>): N, DEV + </li> <li>Build ID Salt (<code>CONFIG_BUILD_SALT</code>): empty, SEC</li> <li>Kernel compression mode: ZSTD or Gzip for compatibility</li> - <li>Default init path (<code>CONFIG_DEFAULT_INIT</code>): empty, EMB</li> - <li>Default hostname (<code>CONFIG_DEFAULT_HOSTNAME</code>): empty, entre your machine's name if you'd like</li> + <li> + Default init path (<code>CONFIG_DEFAULT_INIT</code>): empty, EMB + </li> + <li> + Default hostname (<code>CONFIG_DEFAULT_HOSTNAME</code>): empty, entre + your machine's name if you'd like + </li> <li>System V IPC (<code>CONFIG_SYSVIPC</code>): Y, STD</li> - <li>POSIX Message Queues (<code>CONFIG_POSIX_MQUEUE</code>): N, not strictly necessary</li> - <li>General notification queue (<code>CONFIG_WATCH_QUEUE</code>): N, not strictly necessary</li> - <li>Enable process_vm_readv/writev syscalls (<code>CONFIG_CROSS_MEMORY_ATTACH</code>): N, not strictly necessary</li> + <li> + POSIX Message Queues (<code>CONFIG_POSIX_MQUEUE</code>): N, not + strictly necessary + </li> + <li> + General notification queue (<code>CONFIG_WATCH_QUEUE</code>): N, not + strictly necessary + </li> + <li> + Enable process_vm_readv/writev syscalls + (<code>CONFIG_CROSS_MEMORY_ATTACH</code>): N, not strictly necessary + </li> <li>uselib syscall (<code>CONFIG_USELIB</code>): N, OLD</li> - <li>Auditing support (<code>CONFIG_AUDIT</code>): N, not strictly necessary</li> + <li> + Auditing support (<code>CONFIG_AUDIT</code>): N, not strictly + necessary + </li> <li> Timers subsystem <ul> <li>Timer tick handling: Idle dynticks system (tickless idle)</li> - <li>Old Idle dynticks config (<code>CONFIG_NO_HZ</code>): N, OLD</li> - <li>High Resolution Timer Support (<code>CONFIG_HIGH_RES_TIMERS</code>): Y, STD</li> - <li>Clocksource watchdog maximum allowable skew (<code>CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US</code>): 100</li> + <li> + Old Idle dynticks config (<code>CONFIG_NO_HZ</code>): N, OLD + </li> + <li> + High Resolution Timer Support + (<code>CONFIG_HIGH_RES_TIMERS</code>): Y, STD + </li> + <li> + Clocksource watchdog maximum allowable skew + (<code>CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US</code>): 100 + </li> </ul> </li> <li> BPF subsystem <ul> - <li>Enable bpf() system call (<code>CONFIG_BPF_SYSCALL</code>): N, not necessary if you do not have any programs that utilise</li> + <li> + Enable bpf() system call (<code>CONFIG_BPF_SYSCALL</code>): N, not + necessary if you do not have any programs that utilise + </li> </ul> </li> <li>Preemption Model: Preemptible Kernel (Low-Latency Desktop)</li> - <li>Preemption behaviour defined on boot (<code>CONFIG_PREEMPT_DYNAMIC</code>): N</li> - <li>Core Scheduling for SMT (<code>CONFIG_SCHED_CORE</code>): Y, STD</li> + <li> + Preemption behaviour defined on boot + (<code>CONFIG_PREEMPT_DYNAMIC</code>): N + </li> + <li> + Core Scheduling for SMT (<code>CONFIG_SCHED_CORE</code>): Y, STD + </li> <li> CPU/Task time and stats accounting <ul> <li>Cputime accounting: Simple tick based cputime accounting</li> - <li>Fine granularity task level IRQ time accounting (<code>CONFIG_IRQ_TIME_ACCOUNTING</code>): N, DEV</li> - <li>BSD Process Accounting (<code>CONFIG_BSD_PROCESS_ACCT</code>): N</li> - <li>Export task/process statistics through netlink (<code>CONFIG_TASKSTATS</code>): N</li> - <li>Pressure stall information tracking (<code>CONFIG_PSI</code>): N</li> + <li> + Fine granularity task level IRQ time accounting + (<code>CONFIG_IRQ_TIME_ACCOUNTING</code>): N, DEV + </li> + <li> + BSD Process Accounting (<code>CONFIG_BSD_PROCESS_ACCT</code>): N + </li> + <li> + Export task/process statistics through netlink + (<code>CONFIG_TASKSTATS</code>): N + </li> + <li> + Pressure stall information tracking (<code>CONFIG_PSI</code>): N + </li> </ul> </li> <li>CPU isolation (<code>CONFIG_CPU_ISOLATION</code>): N, EMB</li> <li> RCU subsystem <ul> - <li>Make expert-level adjustments to RCU configuration (<code>CONFIG_RCU_EXPERT</code>): N, DEV</li> + <li> + Make expert-level adjustments to RCU configuration + (<code>CONFIG_RCU_EXPERT</code>): N, DEV + </li> </ul> </li> <li>Kernel .config support (<code>CONFIG_IKCONFIG</code>): Y, STD</li> - <li>Enable access to .config through /proc/config.gz (<code>CONFIG_IKCONFIG_PROC</code>): Y, STD</li> - <li>Enable kernel headers through /sys/kernel/kheaders.tar.xz (<code>CONFIG_IKHEADERS</code>): N</li> + <li> + Enable access to .config through /proc/config.gz + (<code>CONFIG_IKCONFIG_PROC</code>): Y, STD + </li> + <li> + Enable kernel headers through /sys/kernel/kheaders.tar.xz + (<code>CONFIG_IKHEADERS</code>): N + </li> <li>Kernel log buffer size (<code>CONFIG_LOG_BUF_SHIFT</code>): 18</li> - <li>CPU kernel log buffer size contribution (<code>CONFIG_LOG_CPU_MAX_BUF_SHIFT</code>): 12</li> + <li> + CPU kernel log buffer size contribution + (<code>CONFIG_LOG_CPU_MAX_BUF_SHIFT</code>): 12 + </li> <li> Scheduler features <ul> - <li>Enable utilization clamping for RT/FAIR tasks (<code>CONFIG_UCLAMP_TASK</code>): N, DEV</li> + <li> + Enable utilization clamping for RT/FAIR tasks + (<code>CONFIG_UCLAMP_TASK</code>): N, DEV + </li> </ul> </li> <li> Control Group support (<code>CONFIG_CGROUPS</code>): Y, STD <ul> - <li>Favor dynamic modification latency reduction (<code>CONFIG_CGROUP_FAVOR_DYNMODS</code>): N</li> + <li> + Favor dynamic modification latency reduction + (<code>CONFIG_CGROUP_FAVOR_DYNMODS</code>): N + </li> <li>Memory controller (<code>CONFIG_MEMCG</code>): Y, STD</li> <li>IO controller (<code>CONFIG_BLK_CGROUP</code>): Y, STD</li> <li> CPU controller (<code>CONFIG_CGROUP_SCHED</code>): Y, STD <ul> - <li>Group scheduling for SCHED_OTHER (<code>FAIR_GROUP_SCHED</code>): Y, STD</li> - <li>CPU bandwidth provisioning for FAIR_GROUP_SCHED (<code>CONFIG_CFS_BANDWIDTH</code>): N</li> - <li>Group scheduling for SCHED_RR/FIFO (<code>CONFIG_RT_GROUP_SCHED</code>): N</li> + <li> + Group scheduling for SCHED_OTHER + (<code>FAIR_GROUP_SCHED</code>): Y, STD + </li> + <li> + CPU bandwidth provisioning for FAIR_GROUP_SCHED + (<code>CONFIG_CFS_BANDWIDTH</code>): N + </li> + <li> + Group scheduling for SCHED_RR/FIFO + (<code>CONFIG_RT_GROUP_SCHED</code>): N + </li> </ul> </li> <li>PIDs controller (<code>CONFIG_CGROUP_PIDS</code>): N</li> <li>RDMA controller (<code>CONFIG_CGROUP_RDMA</code>): N</li> <li>Freezer controller (<code>CONFIG_CGROUP_FREEZER</code>): N</li> - <li>Cpuset controller (<code>CONFIG_CPUSETS</code>): N, only useful on NUMA machine</li> + <li> + Cpuset controller (<code>CONFIG_CPUSETS</code>): N, only useful on + NUMA machine + </li> <li>Device Controller (<code>CONFIG_CGROUP_DEVICE</code>): N</li> - <li>Simple CPU accounting controller (<code>CONFIG_CGROUP_CPUACCT</code>): Y, STD</li> + <li> + Simple CPU accounting controller + (<code>CONFIG_CGROUP_CPUACCT</code>): Y, STD + </li> <li>Perf controller (<code>CONFIG_CGROUP_PERF</code>): N</li> - <li>Misc resource controller (<code>CONFIG_CGROUP_MISC</code>): Y</li> + <li> + Misc resource controller (<code>CONFIG_CGROUP_MISC</code>): Y + </li> <li>Debug controller (<code>CONFIG_CGROUP_DEBUG</code>): N, DEV</li> </ul> </li> <li> - Namespaces support (<code>CONFIG_NAMESPACES</code>): Y, STD, used heavily by web browsers + Namespaces support (<code>CONFIG_NAMESPACES</code>): Y, STD, used + heavily by web browsers <ul> <li>UTS namespace (<code>CONFIG_UTS_NS</code>): Y</li> <li>TIME namespace (<code>CONFIG_TIME_NS</code>): Y</li> @@ -163,24 +287,55 @@ <li>Network namespace (<code>CONFIG_NET_NS</code>): Y</li> </ul> </li> - <li>Checkpoint/restore support (<code>CONFIG_CHECKPOINT_RESTORE</code>): N, VIRT</li> - <li>Automatic process group scheduling (<code>CONFIG_SCHED_AUTOGROUP</code>): N, OLD, Systemd/OpenRC handle this</li> - <li>Kernel -> userspace relay support (<code>CONFIG_RELAY</code>): Y, STD</li> - <li>Initial RAM filesystem and RAM disk (<code>CONFIG_BLK_DEV_INITRD</code>): N, not strictly necessary</li> + <li> + Checkpoint/restore support (<code>CONFIG_CHECKPOINT_RESTORE</code>): + N, VIRT + </li> + <li> + Automatic process group scheduling + (<code>CONFIG_SCHED_AUTOGROUP</code>): N, OLD, Systemd/OpenRC handle + this + </li> + <li> + Kernel -> userspace relay support (<code>CONFIG_RELAY</code>): Y, STD + </li> + <li> + Initial RAM filesystem and RAM disk + (<code>CONFIG_BLK_DEV_INITRD</code>): N, not strictly necessary + </li> <li>Boot config support (<code>CONFIG_BOOT_CONFIG</code>): N, EMB</li> - <li>Preserve cpio archive mtimes in initramfs (<code>CONFIG_INITRAMFS_PRESERVE_MTIME</code>): N, without initramfs...</li> + <li> + Preserve cpio archive mtimes in initramfs + (<code>CONFIG_INITRAMFS_PRESERVE_MTIME</code>): N, without + initramfs... + </li> <li>Compiler optimization level: Optimize for performance (-O2)</li> - <li>Configure standard kernel features (<code>CONFIG_EXPERT</code>): N, DEV/EMB, mostly syscalls</li> + <li> + Configure standard kernel features (<code>CONFIG_EXPERT</code>): N, + DEV/EMB, mostly syscalls + </li> <li>Enable kcmp() system call (<code>CONFIG_KCMP</code>): Y</li> <li>Enable rseq() system call (<code>CONFIG_RSEQ</code>): Y</li> - <li>Enable cachestat() system call (<code>CONFIG_CACHESTAT_SYSCALL</code>): Y</li> - <li>Enabled debugging of rseq() system call (<code>CONFIG_DEBUG_RSEQ</code>): N, DEV</li> + <li> + Enable cachestat() system call + (<code>CONFIG_CACHESTAT_SYSCALL</code>): Y + </li> + <li> + Enabled debugging of rseq() system call + (<code>CONFIG_DEBUG_RSEQ</code>): N, DEV + </li> <li>PC/104 support (<code>CONFIG_PC104</code>): N, EMB</li> <li> Kernel Performance Events and Counters <ul> - <li>Kernel Performance events and counters (<code>CONFIG_PERF_EVENTS</code>): Y, STD</li> - <li>Debug: use vmalloc to back perf mmap() buffers (<code>CONFIG_DEBUG_PERF_USE_VMALLOC</code>): N, DEV</li> + <li> + Kernel Performance events and counters + (<code>CONFIG_PERF_EVENTS</code>): Y, STD + </li> + <li> + Debug: use vmalloc to back perf mmap() buffers + (<code>CONFIG_DEBUG_PERF_USE_VMALLOC</code>): N, DEV + </li> </ul> </li> <li>Profiling support (<code>CONFIG_PROFILING</code>): N, DEV</li> @@ -190,314 +345,1165 @@ <div id="processor_type_feat"> <h3>Processor type and features</h3> <ul> - <li>Symmetric multi-processing support (<code>CONFIG_SMP</code>): Y, STD, all modern CPUs are multi-core</li> - <li>Enable MPS table (<code>CONFIG_X86_MPARSE</code>): N, OLD </li> - <li>x86 CPU resource control support (<code>CONFIG_X86_CPU_RESCTRL</code>): N, VIRT</li> - <li>Support for extended (non-PC) x86 platforms (<code>CONFIG_X86_EXTENDED_PLATFORM</code>): N, EMB</li> - <li>Intel Low Power Subsystem Support (<code>CONFIG_X86_INTEL_LPSS</code>): Y, if you have Haswell and later CPU</li> - <li>AMD ACPI2Platform devices support (<code>CONFIG_X86_AMD_PLATFORM_DEVICE</code>): N</li> - <li>Intel SoC IOSF Sideband support (<code>CONFIG_IOSF_MBI</code>): Y, STD</li> - <li>Single-depth WCHAN output (<code>CONFIG_SCHED_OMIT_FRAME_POINTER</code>): Y, STD</li> - <li>Linux guest support (<code>CONFIG_HYPERVISOR_GUEST</code>): N, VIRT</li> - <li>Processor family: Core 2/newer Xeon (or Generic-x86-64 if unsure)</li> - <li>Supported processor vendors (<code>CONFIG_PROCESSOR_SELECT</code>): N, EMB</li> + <li> + Symmetric multi-processing support (<code>CONFIG_SMP</code>): Y, STD, + all modern CPUs are multi-core + </li> + <li>Enable MPS table (<code>CONFIG_X86_MPARSE</code>): N, OLD</li> + <li> + x86 CPU resource control support + (<code>CONFIG_X86_CPU_RESCTRL</code>): N, VIRT + </li> + <li> + Support for extended (non-PC) x86 platforms + (<code>CONFIG_X86_EXTENDED_PLATFORM</code>): N, EMB + </li> + <li> + Intel Low Power Subsystem Support + (<code>CONFIG_X86_INTEL_LPSS</code>): Y, if you have Haswell and later + CPU + </li> + <li> + AMD ACPI2Platform devices support + (<code>CONFIG_X86_AMD_PLATFORM_DEVICE</code>): N + </li> + <li> + Intel SoC IOSF Sideband support (<code>CONFIG_IOSF_MBI</code>): Y, STD + </li> + <li> + Single-depth WCHAN output + (<code>CONFIG_SCHED_OMIT_FRAME_POINTER</code>): Y, STD + </li> + <li> + Linux guest support (<code>CONFIG_HYPERVISOR_GUEST</code>): N, VIRT + </li> + <li> + Processor family: Core 2/newer Xeon (or Generic-x86-64 if unsure) + </li> + <li> + Supported processor vendors (<code>CONFIG_PROCESSOR_SELECT</code>): N, + EMB + </li> <li>Enable DMI scanning (<code>CONFIG_DMI</code>): Y, STD</li> - <li>Old AMD GART IOMMU support (<code>CONFIG_GART_IOMMU</code>): N, OLD</li> - <li>Enable Maximum number of SMP Processors and NUMA Nodes (<code>CONFIG_MAXSMP</code>): N, DEV</li> - <li>Maximum number of CPUs (<code>CONFIG_NR_CPUS</code>): sockets * cores * threads</li> - <li>Cluster scheduler support (<code>CONFIG_SCHED_CLUSTER</code>): Y, STD</li> - <li>Multi-core scheduler support (<code>CONFIG_SCHED_MC</code>): Y, STD</li> - <li>CPU core priorities scheduler support (<code>CONFIG_SCHED_MC_PRIO</code>): Y, STD</li> - <li>Reroute for broken boot IRQs (<code>CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS</code>): N, OLD</li> - <li>Machine Check / overheating reporting (<code>CONFIG_X86_MCE</code>): Y, STD</li> - <li>Support for deprecated /dev/mcelog character device (<code>CONFIG_X86_MCELOG_LEGACY</code>): N, OLD</li> - <li>Intel/AMD MCE features (<code>CONFIG_X86_MCE_INTEL/AMD</code>): Y, STD, choose based on your processor</li> + <li> + Old AMD GART IOMMU support (<code>CONFIG_GART_IOMMU</code>): N, OLD + </li> + <li> + Enable Maximum number of SMP Processors and NUMA Nodes + (<code>CONFIG_MAXSMP</code>): N, DEV + </li> + <li> + Maximum number of CPUs (<code>CONFIG_NR_CPUS</code>): sockets * cores + * threads + </li> + <li> + Cluster scheduler support (<code>CONFIG_SCHED_CLUSTER</code>): Y, STD + </li> + <li> + Multi-core scheduler support (<code>CONFIG_SCHED_MC</code>): Y, STD + </li> + <li> + CPU core priorities scheduler support + (<code>CONFIG_SCHED_MC_PRIO</code>): Y, STD + </li> + <li> + Reroute for broken boot IRQs + (<code>CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS</code>): N, OLD + </li> + <li> + Machine Check / overheating reporting (<code>CONFIG_X86_MCE</code>): + Y, STD + </li> + <li> + Support for deprecated /dev/mcelog character device + (<code>CONFIG_X86_MCELOG_LEGACY</code>): N, OLD + </li> + <li> + Intel/AMD MCE features (<code>CONFIG_X86_MCE_INTEL/AMD</code>): Y, + STD, choose based on your processor + </li> <li> Performance monitoring <ul> - <li>Intel uncore performance events (<code>CONFIG_PERF_EVENTS_INTEL_UNCORE</code>): Y, STD, for Intel</li> - <li>Intel/AMD rapl performance events (<code>CONFIG_PERF_EVENTS_INTEL_RAPL</code>): Y, STD</li> - <li>Intel cstate performance events (<code>CONFIG_PERF_EVENTS_INTEL_CSTATE</code>): Y, STD, for Intel</li> - <li>AMD Processor Power Reporting Mechanism (<code>CONFIG_PERF_EVENTS_AMD_POWER</code>): Y, STD, for AMD</li> - <li>AMD Uncore performance events (<code>CONFIG_PERF_EVENTS_AMD_POWER</code>): Y, STD, for AMD</li> + <li> + Intel uncore performance events + (<code>CONFIG_PERF_EVENTS_INTEL_UNCORE</code>): Y, STD, for Intel + </li> + <li> + Intel/AMD rapl performance events + (<code>CONFIG_PERF_EVENTS_INTEL_RAPL</code>): Y, STD + </li> + <li> + Intel cstate performance events + (<code>CONFIG_PERF_EVENTS_INTEL_CSTATE</code>): Y, STD, for Intel + </li> + <li> + AMD Processor Power Reporting Mechanism + (<code>CONFIG_PERF_EVENTS_AMD_POWER</code>): Y, STD, for AMD + </li> + <li> + AMD Uncore performance events + (<code>CONFIG_PERF_EVENTS_AMD_POWER</code>): Y, STD, for AMD + </li> </ul> </li> - <li>Enable vsyscall emulation (<code>CONFIG_X86_VSYSCALL_EMULATION</code>): N</li> - <li>IOPERM and IOPL Emulation (<code>CONFIG_X86_IOPL_IOPERM</code>): N, SEC, not strictly necessary</li> - <li>Late microcode loading (<code>CONFIG_MICROCODE_LATE_LOADING</code>): N</li> - <li>/dev/cpu/*/msr - Model-specific register support (<code>CONFIG_X86_MSR</code>): Y, STD</li> - <li>/dev/cpu/*/cpuid - CPU information support (<code>CONFIG_X86_CPUID</code>): Y, STD</li> - <li>Enable 5-level page tables support (<code>CONFIG_X86_5LEVEL</code>): N, for machines with large (TBs) amounts of memory</li> - <li>AMD Secure Memory Encryption (SME) support (<code>CONFIG_AMD_MEM_ENCRYPT</code>): Y, for AMD</li> - <li>NUMA Memory Allocation and Scheduler Support (<code>CONFIG_NUMA</code>): N, unless you have multi socket CPU</li> - <li>Check for low memory corruption (<code>CONFIG_X86_CHECK_BIOS_CORRUPTION</code>): N</li> - <li>MTRR (Memory Type Range Register) support (<code>CONFIG_MTRR</code>): Y, STD</li> - <li>MTRR cleanup support (<code>CONFIG_MTRR_SANITIZER</code>): Y, STD</li> - <li>MTRR cleanup enable value (0-1) (<code>CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT</code>): 1, for true</li> - <li>MTRR cleanup spare reg num (0-7) (<code>CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT</code>): 1</li> + <li> + Enable vsyscall emulation + (<code>CONFIG_X86_VSYSCALL_EMULATION</code>): N + </li> + <li> + IOPERM and IOPL Emulation (<code>CONFIG_X86_IOPL_IOPERM</code>): N, + SEC, not strictly necessary + </li> + <li> + Late microcode loading (<code>CONFIG_MICROCODE_LATE_LOADING</code>): N + </li> + <li> + /dev/cpu/*/msr - Model-specific register support + (<code>CONFIG_X86_MSR</code>): Y, STD + </li> + <li> + /dev/cpu/*/cpuid - CPU information support + (<code>CONFIG_X86_CPUID</code>): Y, STD + </li> + <li> + Enable 5-level page tables support (<code>CONFIG_X86_5LEVEL</code>): + N, for machines with large (TBs) amounts of memory + </li> + <li> + AMD Secure Memory Encryption (SME) support + (<code>CONFIG_AMD_MEM_ENCRYPT</code>): Y, for AMD + </li> + <li> + NUMA Memory Allocation and Scheduler Support + (<code>CONFIG_NUMA</code>): N, unless you have multi socket CPU + </li> + <li> + Check for low memory corruption + (<code>CONFIG_X86_CHECK_BIOS_CORRUPTION</code>): N + </li> + <li> + MTRR (Memory Type Range Register) support (<code>CONFIG_MTRR</code>): + Y, STD + </li> + <li> + MTRR cleanup support (<code>CONFIG_MTRR_SANITIZER</code>): Y, STD + </li> + <li> + MTRR cleanup enable value (0-1) + (<code>CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT</code>): 1, for true + </li> + <li> + MTRR cleanup spare reg num (0-7) + (<code>CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT</code>): 1 + </li> <li>x86 PAT support (<code>CONFIG_X86_PAT</code>): Y, STD</li> - <li>User Mode Instruction Prevention (<code>CONFIG_X86_UMIP</code>): Y</li> - <li>Indirect Branch Tracking (<code>CONFIG_X86_KERNEL_IBT</code>): N, SEC</li> - <li>Memory Protection Keys (<code>CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS</code>): Y, STD</li> + <li> + User Mode Instruction Prevention (<code>CONFIG_X86_UMIP</code>): Y + </li> + <li> + Indirect Branch Tracking (<code>CONFIG_X86_KERNEL_IBT</code>): N, SEC + </li> + <li> + Memory Protection Keys + (<code>CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS</code>): Y, STD + </li> <li>TSX enable mode: auto</li> - <li>X86 userspace shadow stack (<code>CONFIG_X86_USER_SHADOW_STACK</code>): N, SEC</li> + <li> + X86 userspace shadow stack + (<code>CONFIG_X86_USER_SHADOW_STACK</code>): N, SEC + </li> <li>EFI runtime service support (<code>CONFIG_EFI</code>): Y, STD</li> - <li>EFI stub support (<code>CONFIG_EFI_STUB</code>): N, only if you boot kernel directly</li> - <li>EFI handover protocol (<code>CONFIG_EFI_HANDOVER_PROTOCOL</code>): N, OLD</li> - <li>EFI mixed-mode support (<code>CONFIG_EFI_MIXED</code>): N, only relevant (but still unneeded) on Apple hardware</li> - <li>Enable EFI fake memory map (<code>CONFIG_EFI_FAKE_MEMMAP</code>): N</li> - <li>Export EFI runtime maps to sysfs (<code>CONFIG_EFI_RUNTIME_MAP</code>): N</li> - <li>Timer frequency: 100 HZ for server, 300 HZ for laptop, 1000 HZ for low-latency requirements</li> - <li>Physical address where the kernel is loaded (<code>CONFIG_PHYSICAL_START</code>): 0x1000000</li> - <li>Build a relocatable kernel (<code>CONFIG_RELOCATABLE</code>): Y, STD</li> - <li>Randomize the address of the kernel image (KASLR) (<code>CONFIG_RANDOMIZE_BASE</code>): Y, SEC</li> - <li>Alignment value to which the kernel should be aligned (<code>CONFIG_PHYSICAL_ALIGN</code>): 0x200000</li> - <li>Randomize the kernel memory sections (<code>CONFIG_RANDOMIZE_BASE</code>): Y, SEC</li> - <li>Physcial memory mapping padding (<code>CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING</code>): 0x00</li> - <li>Linear Address Masking support (<code>CONFIG_ADDRESS_MASKING</code>): N</li> + <li> + EFI stub support (<code>CONFIG_EFI_STUB</code>): N, only if you boot + kernel directly + </li> + <li> + EFI handover protocol (<code>CONFIG_EFI_HANDOVER_PROTOCOL</code>): N, + OLD + </li> + <li> + EFI mixed-mode support (<code>CONFIG_EFI_MIXED</code>): N, only + relevant (but still unneeded) on Apple hardware + </li> + <li> + Enable EFI fake memory map (<code>CONFIG_EFI_FAKE_MEMMAP</code>): N + </li> + <li> + Export EFI runtime maps to sysfs + (<code>CONFIG_EFI_RUNTIME_MAP</code>): N + </li> + <li> + Timer frequency: 100 HZ for server, 300 HZ for laptop, 1000 HZ for + low-latency requirements + </li> + <li> + Physical address where the kernel is loaded + (<code>CONFIG_PHYSICAL_START</code>): 0x1000000 + </li> + <li> + Build a relocatable kernel (<code>CONFIG_RELOCATABLE</code>): Y, STD + </li> + <li> + Randomize the address of the kernel image (KASLR) + (<code>CONFIG_RANDOMIZE_BASE</code>): Y, SEC + </li> + <li> + Alignment value to which the kernel should be aligned + (<code>CONFIG_PHYSICAL_ALIGN</code>): 0x200000 + </li> + <li> + Randomize the kernel memory sections + (<code>CONFIG_RANDOMIZE_BASE</code>): Y, SEC + </li> + <li> + Physcial memory mapping padding + (<code>CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING</code>): 0x00 + </li> + <li> + Linear Address Masking support (<code>CONFIG_ADDRESS_MASKING</code>): + N + </li> <li>vsyscall table for legacy applications: None</li> - <li>Built-in kernel command line (<code>CONFIG_CMDLINE_BOOL</code>): N, unless booting kernel directly</li> - <li>Enable the LDT (local descriptor table) (<code>CONFIG_MODIFY_LDT_SYSCALL</code>): N, EMB</li> - <li>Enforce strict size checking for sigalstack (<code>CONFIG_STRICT_SIGALSTACK_SIZE</code>): N, DEV</li> + <li> + Built-in kernel command line (<code>CONFIG_CMDLINE_BOOL</code>): N, + unless booting kernel directly + </li> + <li> + Enable the LDT (local descriptor table) + (<code>CONFIG_MODIFY_LDT_SYSCALL</code>): N, EMB + </li> + <li> + Enforce strict size checking for sigalstack + (<code>CONFIG_STRICT_SIGALSTACK_SIZE</code>): N, DEV + </li> </ul> </div> <div id="mitigations_vulnerability"> <h3>Mitigations for speculative execution vulnerabilities</h3> <ul> - <li>Remove the kernel mapping in user mode (<code>CONFIG_PAGE_TABLE_ISOLATION</code>): Y</li> - <li>Avoid speculative indirect branches in kernel (<code>CONFIG_RETPOLINE</code>): Y</li> + <li> + Remove the kernel mapping in user mode + (<code>CONFIG_PAGE_TABLE_ISOLATION</code>): Y + </li> + <li> + Avoid speculative indirect branches in kernel + (<code>CONFIG_RETPOLINE</code>): Y + </li> <li>Enable return-thunks (<code>CONFIG_RETHUNK</code>): Y</li> - <li>Enable UNRET on kernel entry (<code>CONFIG_CPU_UNRET_ENTRY</code>): Y</li> - <li>Mitigate RSB underflow with call depth tracking (<code>CONFIG_CALL_DEPTH_TRACKING</code>): Y</li> - <li>Enable call thunks and call depth tracking debugging (<code>CONFIG_CALL_RETHUNKS_DEBUG</code>): N, DEV</li> - <li>Enable IBPB on kernel entry (<code>CONFIG_CPU_IBPB_ENTRY</code>): Y</li> - <li>Enable IBRS on kernel entry (<code>CONFIG_CPU_IBRS_ENTRY</code>): Y</li> - <li>Mitigate speculative RAS overflow (<code>CONFIG_CPU_SRSO</code>): Y, on AMD processors</li> + <li> + Enable UNRET on kernel entry (<code>CONFIG_CPU_UNRET_ENTRY</code>): Y + </li> + <li> + Mitigate RSB underflow with call depth tracking + (<code>CONFIG_CALL_DEPTH_TRACKING</code>): Y + </li> + <li> + Enable call thunks and call depth tracking debugging + (<code>CONFIG_CALL_RETHUNKS_DEBUG</code>): N, DEV + </li> + <li> + Enable IBPB on kernel entry (<code>CONFIG_CPU_IBPB_ENTRY</code>): Y + </li> + <li> + Enable IBRS on kernel entry (<code>CONFIG_CPU_IBRS_ENTRY</code>): Y + </li> + <li> + Mitigate speculative RAS overflow (<code>CONFIG_CPU_SRSO</code>): Y, + on AMD processors + </li> <li>Mitigate Straight-Line-Speculation (<code>CONFIG_SLS</code>): N</li> - <li>Force GDS Mitigation (<code>CONFIG_GDS_FORCE_MITIGATION</code>): N</li> + <li> + Force GDS Mitigation (<code>CONFIG_GDS_FORCE_MITIGATION</code>): N + </li> </ul> </div> <div id="power_management"> <h3>Power management and ACPI options</h3> <ul> - <li>Suspend to RAM and standby (<code>CONFIG_SUSPEND</code>): Y, N for servers</li> - <li>Skip kernel's sys_sync() on suspend to RAM/standby (<code>CONFIG_SUSPEND_SKIP_SYNC</code>): N</li> - <li>Hibernation (aka 'suspend to disk') (<code>CONFIG_HIBERNATION</code>): Y, if desired. N for servers</li> + <li> + Suspend to RAM and standby (<code>CONFIG_SUSPEND</code>): Y, N for + servers + </li> + <li> + Skip kernel's sys_sync() on suspend to RAM/standby + (<code>CONFIG_SUSPEND_SKIP_SYNC</code>): N + </li> + <li> + Hibernation (aka 'suspend to disk') (<code>CONFIG_HIBERNATION</code>): + Y, if desired. N for servers + </li> <li>Opportunistic sleep (<code>CONFIG_PM_SLEEP</code>): N, EMB</li> - <li>Userspace opportunistic sleep (<code>CONFIG_PM_USERSPACE_AUTOSLEEP</code>): N, EMB</li> - <li>User space wakeup sources interface (<code>CONFIG_PM_WAKELOCKS</code>): N, EMB</li> - <li>Device power management core functionality (<code>CONFIG_PM</code>): Y, STD</li> - <li>Power Management Debug Support (<code>CONFIG_PM_DEBUG</code>): N, DEV</li> - <li>Enable workqueue power-efficient mode by default (<code>CONFIG_WQ_POWER_EFFICIENT_DEFAULT</code>): N</li> - <li>Energy Model for devices with DVFS (<code>CONFIG_ENERGY_MODEL</code>): N</li> + <li> + Userspace opportunistic sleep + (<code>CONFIG_PM_USERSPACE_AUTOSLEEP</code>): N, EMB + </li> + <li> + User space wakeup sources interface + (<code>CONFIG_PM_WAKELOCKS</code>): N, EMB + </li> + <li> + Device power management core functionality (<code>CONFIG_PM</code>): + Y, STD + </li> + <li> + Power Management Debug Support (<code>CONFIG_PM_DEBUG</code>): N, DEV + </li> + <li> + Enable workqueue power-efficient mode by default + (<code>CONFIG_WQ_POWER_EFFICIENT_DEFAULT</code>): N + </li> + <li> + Energy Model for devices with DVFS (<code>CONFIG_ENERGY_MODEL</code>): + N + </li> <li> ACPI Support (<code>CONFIG_ACPI</code>): Y, STD <ul> - <li>AML debugger interface (<code>CONFIG_ACPI_DEBUGGER</code>): N DEV</li> - <li>ACPI Serial Port Console Redirection Support (<code>CONFIG_ACPI_SPCR_TABLE</code>): N, DEV</li> - <li>ACPI Firmware Performance Data Table (FPDT) support (<code>CONFIG_ACPI_FPDT</code>): Y, STD</li> - <li>Allow support ACPI revision to be overridden (<code>CONFIG_ACPI_REV_OVERRIDE_POSSIBLE</code>): N</li> - <li>EC read/write access through /sys/kernel/debug/ec (<code>CONFIG_ACPI_EC_DEBUGFS</code>): N, DEV</li> + <li> + AML debugger interface (<code>CONFIG_ACPI_DEBUGGER</code>): N DEV + </li> + <li> + ACPI Serial Port Console Redirection Support + (<code>CONFIG_ACPI_SPCR_TABLE</code>): N, DEV + </li> + <li> + ACPI Firmware Performance Data Table (FPDT) support + (<code>CONFIG_ACPI_FPDT</code>): Y, STD + </li> + <li> + Allow support ACPI revision to be overridden + (<code>CONFIG_ACPI_REV_OVERRIDE_POSSIBLE</code>): N + </li> + <li> + EC read/write access through /sys/kernel/debug/ec + (<code>CONFIG_ACPI_EC_DEBUGFS</code>): N, DEV + </li> <li>AC Adapater (<code>CONFIG_ACPI_AC</code>): Y, if present</li> <li>Battery (<code>CONFIG_ACPI_BATTERY</code>): Y, on laptops</li> <li>Button (<code>CONFIG_ACPI_BUTTON</code>): Y</li> <li>Video (<code>CONFIG_ACPI_VIDEO</code>): Y</li> <li>Fan (<code>CONFIG_ACPI_FAN</code>): Y</li> - <li>ACPI Time and Alarm (TAD) Device Support (<code>CONFIG_ACPI_TAD</code>): Y</li> - <li>Dock (<code>CONFIG_ACPI_DOCK</code>): Y, if using docking station</li> + <li> + ACPI Time and Alarm (TAD) Device Support + (<code>CONFIG_ACPI_TAD</code>): Y + </li> + <li> + Dock (<code>CONFIG_ACPI_DOCK</code>): Y, if using docking station + </li> <li>Processor (<code>CONFIG_ACPI_PROCESSOR</code>): Y</li> - <li>Processor Aggregator (<code>CONFIG_ACPI_PROCESSOR_AGGREGATOR</code>): Y</li> + <li> + Processor Aggregator + (<code>CONFIG_ACPI_PROCESSOR_AGGREGATOR</code>): Y + </li> <li>Thermal Zone (<code>CONFIG_ACPI_THERMAL</code>): Y</li> - <li>Custom DSDT Table file to include (<code>CONFIG_ACPI_CUSTOM_DSDT_FILE</code>): empty</li> + <li> + Custom DSDT Table file to include + (<code>CONFIG_ACPI_CUSTOM_DSDT_FILE</code>): empty + </li> <li>Debug Statements (<code>CONFIG_ACPI_DEBUG</code>): N, DEV</li> - <li>PCI slot detection driver (<code>CONFIG_ACPI_PCI_SLOT</code>): N, DEV</li> - <li>Container and Module Devices (<code>CONFIG_ACPI_CONTAINER</code>): Y</li> - <li>Smart Battery System (<code>CONFIG_ACPI_SBS</code>): Y, on laptops</li> + <li> + PCI slot detection driver (<code>CONFIG_ACPI_PCI_SLOT</code>): N, + DEV + </li> + <li> + Container and Module Devices (<code>CONFIG_ACPI_CONTAINER</code>): + Y + </li> + <li> + Smart Battery System (<code>CONFIG_ACPI_SBS</code>): Y, on laptops + </li> <li>Hardware Error Device (<code>CONFIG_ACPI_HED</code>): Y</li> - <li>Boottime Graphics Resource Table support (<code>CONFIG_ACPI_BGRT</code>): N</li> - <li>Hardware-reduced ACPI support only (<code>CONFIG_ACPI_REDUCED_HARDWWARE_ONLY</code>): N</li> - <li>ACPI Platform Error Interface (APEI) (<code>CONFIG_ACPI_APEI</code>): Y</li> - <li>APEI Generic Hardware Error Source (<code>CONFIG_ACPI_APEI_GHES</code>): Y</li> - <li>APEI Error Record Serialization Table (ERST) Debug Support (<code>CONFIG_ACPI_APEI_ERST_DEBUG</code>): N, DEV</li> - <li>Intel DPTF (Dynamic Platform and Thermal Framework) (<code>CONFIG_ACPI_DPTF</code>): Y, on Intel processors</li> - <li>ACPI configfs support (<code>CONFIG_ACPI_CONFIGFS</code>): N</li> - <li>ACPI Platform Firmware Runtime Update and Telemetry (<code>CONFIG_ACPI_PFRUT</code>): N</li> - <li>ACPI PCC Address Space (<code>CONFIG_ACPI_PCC</code>): Y, STD, for UEFI</li> + <li> + Boottime Graphics Resource Table support + (<code>CONFIG_ACPI_BGRT</code>): N + </li> + <li> + Hardware-reduced ACPI support only + (<code>CONFIG_ACPI_REDUCED_HARDWWARE_ONLY</code>): N + </li> + <li> + ACPI Platform Error Interface (APEI) + (<code>CONFIG_ACPI_APEI</code>): Y + </li> + <li> + APEI Generic Hardware Error Source + (<code>CONFIG_ACPI_APEI_GHES</code>): Y + </li> + <li> + APEI Error Record Serialization Table (ERST) Debug Support + (<code>CONFIG_ACPI_APEI_ERST_DEBUG</code>): N, DEV + </li> + <li> + Intel DPTF (Dynamic Platform and Thermal Framework) + (<code>CONFIG_ACPI_DPTF</code>): Y, on Intel processors + </li> + <li> + ACPI configfs support (<code>CONFIG_ACPI_CONFIGFS</code>): N + </li> + <li> + ACPI Platform Firmware Runtime Update and Telemetry + (<code>CONFIG_ACPI_PFRUT</code>): N + </li> + <li> + ACPI PCC Address Space (<code>CONFIG_ACPI_PCC</code>): Y, STD, for + UEFI + </li> <li>ACPI FFH Address Space (<code>CONFIG_ACPI_FFH</code>): N</li> - <li>PMIC (Power Management Integrated Circuit) operation region support (<code>CONFIG_PMIC_OPREGION</code>): N</li> - <li>Platform Runtime Mechanism Support (<code>CONFIG_ACPI_PRMT</code>): Y</li> + <li> + PMIC (Power Management Integrated Circuit) operation region + support (<code>CONFIG_PMIC_OPREGION</code>): N + </li> + <li> + Platform Runtime Mechanism Support + (<code>CONFIG_ACPI_PRMT</code>): Y + </li> <li></li> </ul> </li> - <li>Power Management Timer Support (<code>CONFIG_X86_PM_TIMER</code>): Y, STD</li> + <li> + Power Management Timer Support (<code>CONFIG_X86_PM_TIMER</code>): Y, + STD + </li> <li> CPU Frequency scaling <ul> - <li>CPU frequency transition statistics (<code>CONFIG_CPU_FREQ_STAT</code>): N, DEV</li> + <li> + CPU frequency transition statistics + (<code>CONFIG_CPU_FREQ_STAT</code>): N, DEV + </li> <li>Default CPUFreq governor: performance</li> - <li>'performance' governor (<code>CONFIG_CPU_FREQ_GOV_PERFORMANCE</code>): Y</li> - <li>'powersave' governor (<code>CONFIG_CPU_FREQ_GOV_POWERSAVE</code>): N, not strictly necessary</li> - <li>'userspace' governor for userspace frequency scaling (<code>CONFIG_CPU_FREQ_GOV_USERSPACE</code>): N, not strictly necessary</li> - <li>'ondemand' cpufreq policy governor (<code>CONFIG_CPU_FREQ_GOV_ONDEMAND</code>): N</li> - <li>'conservative' cpufreq governor (<code>CONFIG_CPU_FREQ_GOV_CONSERVATIVE</code>): N</li> - <li>'schedutil' cpufreq policy governor (<code>CONFIG_CPU_FREQ_GOV_SCHEDUTIL</code>): Y</li> - <li>Intel P state control (<code>CONFIG_X86_INTEL_PSTATE</code>): Y, on Intel processors</li> - <li>Processor Clocking Control interface driver (<code>CONFIG_X86_PCC_CPUFREQ</code>): N, OLD</li> - <li>AMD Processor P-State driver (<code>CONFIG_X86_AMD_PSTATE</code>): Y, on AMD processors</li> - <li>selftest for AMD Processor P-State driver (<code>CONFIG_X86_AMD_PSTATE_UT</code>): N, DEV</li> - <li>ACPI Processor P-States driver (<code>CONFIG_X86_ACPI_CPUFREQ</code>): Y, STD</li> - <li>Intel Enhanced SpeedStep (<code>CONFIG_X86_SPEEDSTEP_CENTRINO</code>): N, OLD</li> - <li>Intel Pentium 4 clock modulation (<code>CONFIG_X86_P4_CLOCKMOD</code>): N, OLD</li> + <li> + 'performance' governor + (<code>CONFIG_CPU_FREQ_GOV_PERFORMANCE</code>): Y + </li> + <li> + 'powersave' governor (<code>CONFIG_CPU_FREQ_GOV_POWERSAVE</code>): + N, not strictly necessary + </li> + <li> + 'userspace' governor for userspace frequency scaling + (<code>CONFIG_CPU_FREQ_GOV_USERSPACE</code>): N, not strictly + necessary + </li> + <li> + 'ondemand' cpufreq policy governor + (<code>CONFIG_CPU_FREQ_GOV_ONDEMAND</code>): N + </li> + <li> + 'conservative' cpufreq governor + (<code>CONFIG_CPU_FREQ_GOV_CONSERVATIVE</code>): N + </li> + <li> + 'schedutil' cpufreq policy governor + (<code>CONFIG_CPU_FREQ_GOV_SCHEDUTIL</code>): Y + </li> + <li> + Intel P state control (<code>CONFIG_X86_INTEL_PSTATE</code>): Y, + on Intel processors + </li> + <li> + Processor Clocking Control interface driver + (<code>CONFIG_X86_PCC_CPUFREQ</code>): N, OLD + </li> + <li> + AMD Processor P-State driver (<code>CONFIG_X86_AMD_PSTATE</code>): + Y, on AMD processors + </li> + <li> + selftest for AMD Processor P-State driver + (<code>CONFIG_X86_AMD_PSTATE_UT</code>): N, DEV + </li> + <li> + ACPI Processor P-States driver + (<code>CONFIG_X86_ACPI_CPUFREQ</code>): Y, STD + </li> + <li> + Intel Enhanced SpeedStep + (<code>CONFIG_X86_SPEEDSTEP_CENTRINO</code>): N, OLD + </li> + <li> + Intel Pentium 4 clock modulation + (<code>CONFIG_X86_P4_CLOCKMOD</code>): N, OLD + </li> </ul> </li> <li> CPU Idle <ul> <li>CPU idle PM support (<code>CONFIG_CPU_IDLE</code>): Y, STD</li> - <li>Ladder governor (for periodic timer tick) (<code>CPU_IDLE_GOV_LADDER</code>): N</li> - <li>Menu governor (for tickless system) (<code>CPU_IDLE_GOV_MENU</code>): Y</li> - <li>Timer events oriented governor (<code>CONFIG_CPU_IDLE_GOV_TEO</code>): N</li> + <li> + Ladder governor (for periodic timer tick) + (<code>CPU_IDLE_GOV_LADDER</code>): N + </li> + <li> + Menu governor (for tickless system) + (<code>CPU_IDLE_GOV_MENU</code>): Y + </li> + <li> + Timer events oriented governor + (<code>CONFIG_CPU_IDLE_GOV_TEO</code>): N + </li> </ul> </li> - <li>Cpuidle Driver for Intel Processors (<code>CONFIG_INTEL_IDLE</code>): Y, on Intel processors </li> + <li> + Cpuidle Driver for Intel Processors (<code>CONFIG_INTEL_IDLE</code>): + Y, on Intel processors + </li> </ul> </div> <div id="bus_options"> <h3>Bus options (PCI etc.)</h3> - <li>Support mmconfig PCI space access (<code>PCI_MMCONFIG</code>): Y, STD</li> - <li>Read CNB20LE Host Bridge Windows (<code>CONFIG_PCI_CNB20LE_QUIRK</code>): N</li> - <li>ISA bus support on modern systems (<code>CONFIG_ISA_BUS</code>): N</li> + <li> + Support mmconfig PCI space access (<code>PCI_MMCONFIG</code>): Y, STD + </li> + <li> + Read CNB20LE Host Bridge Windows + (<code>CONFIG_PCI_CNB20LE_QUIRK</code>): N + </li> + <li> + ISA bus support on modern systems (<code>CONFIG_ISA_BUS</code>): N + </li> <li>ISA-style DMA support (<code>CONFIG_ISA_DMA_API</code>): N</li> </div> <div id="binary_emulation"> <h3>Binary Emulations</h3> - <li>IA32 Emulation (<code>CONFIG_IA32_EMULATION</code>): N, unless using 32-bit applications</li> + <li> + IA32 Emulation (<code>CONFIG_IA32_EMULATION</code>): N, unless using + 32-bit applications + </li> </div> <div id="arch_dependent"> <h3>General architecture-dependent options</h3> - <li>Optimize very unlikely/likely branche (<code>CONFIG_JUMP_LABEL</code>): Y</li> - <li>Static key selftest (<code>CONFIG_STATIC_KEYS_SELFTEST</code>): N, DEV</li> - <li>Static call selftest (<code>CONFIG_STATIC_CALL_SELFTEST</code>): N, DEV</li> - <li>Enable seccomp to safely execute untrusted bytecode (<code>CONFIG_SECCOMP</code>): Y, STD</li> - <li>Show seccomp filter cache status in /proc/pid/seccomp_cache (<code>CONFIG_SECCOMP_CACHE_DEBUG</code>): N, DEV</li> - <li>Stack Protector buffer overflow detection (<code>CONFIG_STACKPROTECTOR</code>): Y, SEC</li> - <li>Strong Stack Protector (<code>CONFIG_STACKPROTECTOR_STRONG</code>): Y, SEC</li> + <li> + Optimize very unlikely/likely branche (<code>CONFIG_JUMP_LABEL</code>): + Y + </li> + <li> + Static key selftest (<code>CONFIG_STATIC_KEYS_SELFTEST</code>): N, DEV + </li> + <li> + Static call selftest (<code>CONFIG_STATIC_CALL_SELFTEST</code>): N, DEV + </li> + <li> + Enable seccomp to safely execute untrusted bytecode + (<code>CONFIG_SECCOMP</code>): Y, STD + </li> + <li> + Show seccomp filter cache status in /proc/pid/seccomp_cache + (<code>CONFIG_SECCOMP_CACHE_DEBUG</code>): N, DEV + </li> + <li> + Stack Protector buffer overflow detection + (<code>CONFIG_STACKPROTECTOR</code>): Y, SEC + </li> + <li> + Strong Stack Protector (<code>CONFIG_STACKPROTECTOR_STRONG</code>): Y, + SEC + </li> <li>Link Time Optimization (LTO): None</li> - <li>Number of bits to use for ASLR of mmap base address (<code>CONFIG_ARCH_MMAP_RND_BITS</code>): 28</li> - <li>Provide system calls for 32-bit time_t (<code>CONFIG_COMPAT_32BIT_TIME</code>): Y, STD</li> - <li>Use a virtually-mapped stack (<code>CONFIG_VMAP_STACK</code>): Y, SEC</li> - <li>Support for randomizing kernel stack offset on syscall entry (<code>CONFIG_RANDOMIZE_KSTACK_OFFSET</code>): Y, SEC</li> - <li>Default state of kernel stack offset randomization (<code>CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT</code>): Y, SEC</li> + <li> + Number of bits to use for ASLR of mmap base address + (<code>CONFIG_ARCH_MMAP_RND_BITS</code>): 28 + </li> + <li> + Provide system calls for 32-bit time_t + (<code>CONFIG_COMPAT_32BIT_TIME</code>): Y, STD + </li> + <li> + Use a virtually-mapped stack (<code>CONFIG_VMAP_STACK</code>): Y, SEC + </li> + <li> + Support for randomizing kernel stack offset on syscall entry + (<code>CONFIG_RANDOMIZE_KSTACK_OFFSET</code>): Y, SEC + </li> + <li> + Default state of kernel stack offset randomization + (<code>CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT</code>): Y, SEC + </li> </div> <div id="block_layer"> <h3>Enable the block layer</h3> - <li>Legacy autoloading support (<code>CONFIG_BLOCK_LEGACY_AUTOLOAD</code>): N, OLD</li> - <li>Block layer SG support v4 helper lib (<code>CONFIG_BLK_DEV_BSGLIB</code>): N, auto enabled if needed</li> - <li>Block layer data integrity support (<code>CONFIG_BLK_DEV_INTEGRITY</code>): N</li> - <li>Allow writing to mounted block devices (<code>CONFIG_BLK_DEV_WRITE_MOUNTED</code>): Y, STD</li> + <li> + Legacy autoloading support (<code>CONFIG_BLOCK_LEGACY_AUTOLOAD</code>): + N, OLD + </li> + <li> + Block layer SG support v4 helper lib + (<code>CONFIG_BLK_DEV_BSGLIB</code>): N, auto enabled if needed + </li> + <li> + Block layer data integrity support + (<code>CONFIG_BLK_DEV_INTEGRITY</code>): N + </li> + <li> + Allow writing to mounted block devices + (<code>CONFIG_BLK_DEV_WRITE_MOUNTED</code>): Y, STD + </li> <li>Zoned block device support (<code>CONFIG_BLK_DEV_ZONED</code>): N</li> - <li>Block layer bio throttling support (<code>CONFIG_BLK_DEV_THROTTLING</code>): N, VIRT</li> - <li>Enable support for block device writeback throttling (<code>CONFIG_BLK_WBT</code>): Y</li> - <li>Enable writeback throttling by default (<code>CONFIG_BLK_WBT_MQ</code>): N</li> - <li>Enable support for latency based cgroup IO protection (<code>CONFIG_BLK_CGROUP_IOLATENCY</code>): N, VIRT</li> - <li>Enable support for cost model based cgroup IO controller (<code>CONFIG_BLK_CGROUP_IOCOST</code>): N, VIRT</li> - <li>Cgroup I/O controller for assigning an I/O priority class (<code>CONFIG_BLK_CGROUP_IOPRIO</code>): N, VIRT</li> - <li>Logic for interfacing with Opal enabled SEDs (<code>CONFIG_BLK_SED_OPAL</code>): N</li> - <li>Enable inline encryption support in block layer (<code>CONFIG_BLK_INLINE_ENCRYPTION</code>): N</li> + <li> + Block layer bio throttling support + (<code>CONFIG_BLK_DEV_THROTTLING</code>): N, VIRT + </li> + <li> + Enable support for block device writeback throttling + (<code>CONFIG_BLK_WBT</code>): Y + </li> + <li> + Enable writeback throttling by default (<code>CONFIG_BLK_WBT_MQ</code>): + N + </li> + <li> + Enable support for latency based cgroup IO protection + (<code>CONFIG_BLK_CGROUP_IOLATENCY</code>): N, VIRT + </li> + <li> + Enable support for cost model based cgroup IO controller + (<code>CONFIG_BLK_CGROUP_IOCOST</code>): N, VIRT + </li> + <li> + Cgroup I/O controller for assigning an I/O priority class + (<code>CONFIG_BLK_CGROUP_IOPRIO</code>): N, VIRT + </li> + <li> + Logic for interfacing with Opal enabled SEDs + (<code>CONFIG_BLK_SED_OPAL</code>): N + </li> + <li> + Enable inline encryption support in block layer + (<code>CONFIG_BLK_INLINE_ENCRYPTION</code>): N + </li> <li>Partition Types</li> <ul> - <li>Advanced partition selection (<code>CONFIG_PARTITION_ADVANCED</code>): Y</li> - <li>PC BIOS (MSDOS partition tables) support (<code>CONFIG_MSDOS_PARTITION</code>): Y</li> - <li>EFI GUID Partition support (<code>CONFIG_EFI_PARTITION</code>): Y</li> + <li> + Advanced partition selection (<code>CONFIG_PARTITION_ADVANCED</code>): + Y + </li> + <li> + PC BIOS (MSDOS partition tables) support + (<code>CONFIG_MSDOS_PARTITION</code>): Y + </li> + <li> + EFI GUID Partition support (<code>CONFIG_EFI_PARTITION</code>): Y + </li> <li>Select others as needed...</li> </ul> <li>IO Schedulers</li> <ul> - <li>MQ deadline I/O scheduler (<code>CONFIG_MQ_IOSCHED_DEADLINE</code>): N, if using cgroups</li> + <li> + MQ deadline I/O scheduler (<code>CONFIG_MQ_IOSCHED_DEADLINE</code>): + N, if using cgroups + </li> <li>Kyber I/O scheduler (<code>CONFIG_MQ_IOSCHED_KYBER</code>): N</li> <li>BFQ I/O scheduler (<code>CONFIG_IOSCHED_BFQ</code>): Y</li> - <li>BFQ hierarchical scheduling support (<code>CONFIG_BFQ_GROUP_IOSCHED</code>): Y, if using cgroups</li> - <li>BFQ IO controller debugging (<code>CONFIG_BFQ_CGROUP_DEBUG</code>): N, DEV</li> + <li> + BFQ hierarchical scheduling support + (<code>CONFIG_BFQ_GROUP_IOSCHED</code>): Y, if using cgroups + </li> + <li> + BFQ IO controller debugging (<code>CONFIG_BFQ_CGROUP_DEBUG</code>): N, + DEV + </li> </ul> </div> <div id="executable_file"> <h3>Executable file formats</h3> - <li>Kernel support for ELF binaries (<code>CONFIG_BINFMT_ELF</code>): Y, STD</li> - <li>Write ELF core dumps with partial segments (<code>CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS</code>): Y</li> - <li>Kernel support for scripts starting with #! (<code>CONFIG_BINFMT_SCRIPT</code>): Y, STD</li> - <li>Kernel support for MISC binaries (<code>CONFIG_BINFMT_MISC</code>): N, SEC</li> + <li> + Kernel support for ELF binaries (<code>CONFIG_BINFMT_ELF</code>): Y, STD + </li> + <li> + Write ELF core dumps with partial segments + (<code>CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS</code>): Y + </li> + <li> + Kernel support for scripts starting with #! + (<code>CONFIG_BINFMT_SCRIPT</code>): Y, STD + </li> + <li> + Kernel support for MISC binaries (<code>CONFIG_BINFMT_MISC</code>): N, + SEC + </li> <li>Enable core dump support (<code>CONFIG_COREDUMP</code>): Y</li> </div> <div id="memory_management"> <h3>Memory Management options</h3> - <li>Support for paging of anonymous memory (swap) (<code>CONFIG_SWAP</code>): Y, STD</li> + <li> + Support for paging of anonymous memory (swap) + (<code>CONFIG_SWAP</code>): Y, STD + </li> <li>Slab allocator options</li> <ul> - <li>Configure for minimal memory footprint (<code>CONFIG_SLUB_TINY</code>): N, EMB</li> - <li>Allow slab caches to be merged (<code>CONFIG_SLAB_MERGE_DEFAULT</code>): Y</li> - <li>Randomize slab freelist (<code>CONFIG_SLAB_FREELIST_RANDOM</code>): Y, SEC</li> - <li>Harden slab freelist metadata (<code>CONFIG_SLAB_FREELIST_HARDENED</code>): Y, SEC</li> - <li>Enable performance statistics (<code>CONFIG_SLUB_STATS</code>): N, DEV</li> - <li>Enable per cpu partial caches (<code>CONFIG_SLUB_CPU_PARTIAL</code>): Y, on multicore systems...</li> - <li>Randomize slab caches for normal kmalloc (<code>CONFIG_RANDOM_KMALLOC_CACHES</code>): N, SEC</li> + <li> + Configure for minimal memory footprint + (<code>CONFIG_SLUB_TINY</code>): N, EMB + </li> + <li> + Allow slab caches to be merged + (<code>CONFIG_SLAB_MERGE_DEFAULT</code>): Y + </li> + <li> + Randomize slab freelist (<code>CONFIG_SLAB_FREELIST_RANDOM</code>): Y, + SEC + </li> + <li> + Harden slab freelist metadata + (<code>CONFIG_SLAB_FREELIST_HARDENED</code>): Y, SEC + </li> + <li> + Enable performance statistics (<code>CONFIG_SLUB_STATS</code>): N, DEV + </li> + <li> + Enable per cpu partial caches (<code>CONFIG_SLUB_CPU_PARTIAL</code>): + Y, on multicore systems... + </li> + <li> + Randomize slab caches for normal kmalloc + (<code>CONFIG_RANDOM_KMALLOC_CACHES</code>): N, SEC + </li> </ul> - <li>Page allocator randomization (<code>CONFIG_SHUFFLE_PAGE_ALLOCATOR</code>): Y, SEC</li> - <li>Disable heap randomization (<code>CONFIG_COMPAT_BRK</code>): N, OLD</li> - <li>Sparse Memory virtual memmap (<code>CONFIG_SPARSE_VMEMMAP</code>): Y, STD</li> + <li> + Page allocator randomization + (<code>CONFIG_SHUFFLE_PAGE_ALLOCATOR</code>): Y, SEC + </li> + <li> + Disable heap randomization (<code>CONFIG_COMPAT_BRK</code>): N, OLD + </li> + <li> + Sparse Memory virtual memmap (<code>CONFIG_SPARSE_VMEMMAP</code>): Y, + STD + </li> <li>Memory hotplug (<code>MEMORY_HOTPLUG</code>): N, VIRT</li> - <li>Allow for memory compaction (<code>CONFIG_COMPACTION</code>): Y, STD</li> + <li> + Allow for memory compaction (<code>CONFIG_COMPACTION</code>): Y, STD + </li> <li>Free page reporting (<code>CONFIG_PAGE_REPORTING</code>): N, VIRT</li> - <li>Page migration (<code>CONFIG_MIGRATION</code>): Y, auto enabled if needed</li> - <li>Maximum scale factor of PCP (Per-CPU pageset) batch allocate/free (<code>CONFIG_PCP_BATCH_SCALE_MAX</code>): 5</li> + <li> + Page migration (<code>CONFIG_MIGRATION</code>): Y, auto enabled if + needed + </li> + <li> + Maximum scale factor of PCP (Per-CPU pageset) batch allocate/free + (<code>CONFIG_PCP_BATCH_SCALE_MAX</code>): 5 + </li> <li>Enable KSM for page merging (<code>CONFIG_KSM</code>): N, VIRT</li> - <li>Low address space to protect from user allocation (<code>CONFIG_DEFAULT_MMAP_ADDR</code>): 65536</li> - <li>Enable recovery from hardware memory errors (<code>CONFIG_MEMORY_FAILURE</code>): N, unless you have ECC memory</li> - <li>Transparent Hugepage Support (<code>CONFIG_TRANSPARENT_HUGEPAGE</code>): N, unless you have large amounts of memory</li> + <li> + Low address space to protect from user allocation + (<code>CONFIG_DEFAULT_MMAP_ADDR</code>): 65536 + </li> + <li> + Enable recovery from hardware memory errors + (<code>CONFIG_MEMORY_FAILURE</code>): N, unless you have ECC memory + </li> + <li> + Transparent Hugepage Support (<code>CONFIG_TRANSPARENT_HUGEPAGE</code>): + N, unless you have large amounts of memory + </li> <li>Contiguous Memory Allocator (<code>CONFIG_CMA</code>): N</li> - <li>Defer initialisation of struct pages to kthreads (<code>CONFIG_DEFERRED_PAGE_INIT</code>): N</li> - <li>Enable idle page tracking (<code>CONFIG_IDLE_PAGE_TRACKING</code>): N</li> + <li> + Defer initialisation of struct pages to kthreads + (<code>CONFIG_DEFERRED_PAGE_INIT</code>): N + </li> + <li> + Enable idle page tracking (<code>CONFIG_IDLE_PAGE_TRACKING</code>): N + </li> <li>Support DMA zone (<code>ZONE_DMA</code>): Y</li> <li>Support DMA32 zone (<code>ZONE_DMA32</code>): Y</li> - <li>Enable VM event counters /proc/vmstat (<code>CONFIG_VM_EVENT_COUNTERS</code>): Y</li> - <li>Collect percpu memory statistics (<code>CONFIG_PERCPU_STATS</code>): N, DEV</li> - <li>Enable a module to run time tests on dma_pool (<code>CONFIG_DMAPOOL_TEST</code>): N, DEV</li> + <li> + Enable VM event counters /proc/vmstat + (<code>CONFIG_VM_EVENT_COUNTERS</code>): Y + </li> + <li> + Collect percpu memory statistics (<code>CONFIG_PERCPU_STATS</code>): N, + DEV + </li> + <li> + Enable a module to run time tests on dma_pool + (<code>CONFIG_DMAPOOL_TEST</code>): N, DEV + </li> <li>Enable memfd_create() system call (<code>MEMFD_CREATE</code>): Y</li> - <li>Enable memfd_secreat() system call (<code>CONFIG_SECRETMEM</code>): Y</li> - <li>Anonymous VMA name support (<code>CONFIG_ANON_VMA_NAME</code>): N, SEC</li> - <li>Enable userfaultfd() system call (<code>CONFIG_USERFAULTFD</code>): N, VIRT</li> + <li> + Enable memfd_secreat() system call (<code>CONFIG_SECRETMEM</code>): Y + </li> + <li> + Anonymous VMA name support (<code>CONFIG_ANON_VMA_NAME</code>): N, SEC + </li> + <li> + Enable userfaultfd() system call (<code>CONFIG_USERFAULTFD</code>): N, + VIRT + </li> <li>Multi-Gen LRU (<code>CONFIG_LRU_GEN</code>): N</li> <li>Data Access Monitoring</li> <ul> - <li>DAMON: Data Access Monitoring Framework (<code>CONFIG_DAMON</code>): N</li> + <li> + DAMON: Data Access Monitoring Framework (<code>CONFIG_DAMON</code>): N + </li> </ul> </div> <div id="networking_support"> <h3>Network support</h3> <li>Networking options</li> <ul> - <li></li> + <li>Packet Socket (<code>CONFIG_PACKET</code>): Y, STD</li> + <li> + Packet: sockets monitoring interface + (<code>CONFIG_PACKET_DIAG</code>): Y, STD + </li> + <li>Unix domain sockets (<code>CONFIG_UNIX</code>): Y</li> + <li> + UNIX: socket monitoring interface (<code>CONFIG_UNIX_DIAG</code>) + </li> + <li>Transport Layer Security support (<code>CONFIG_TLS</code>): N</li> + <li> + Transformation user configuration interface + (<code>CONFIG_XFRM_USER</code>): N, not strictly necessary + </li> + <li> + Transformation virtual interface (<code>CONFIG_XFRM_INTERFACE</code>): + N + </li> + <li> + Transformation sub policy support + (<code>CONFIG_XFRM_SUB_POLICY</code>): N, DEV + </li> + <li> + Transformation migrate database (<code>CONFIG_XFRM_MIGRATE</code>): N, + unless on mobile + </li> + <li> + Transformation statistics (<code>CONFIG_XFRM_STATISTICS</code>):N, DEV + </li> + <li>PF_KEY sockets (<code>CONFIG_NET_KEY</code>): N</li> + <li>TCP/IP networking (<code>CONFIG_INET</code>): Y, STD</li> + <li>IP: multicasting (<code>CONFIG_IP_MULTICAST</code>): N</li> + <li> + IP: advanced router (<code>CONFIG_IP_ADVANCED_ROUTER</code>): N, + unless acting as router + </li> + <li> + IP: kernel level autoconfiguration (<code>CONFIG_IP_PNP</code>): N, + unless using PXE + </li> + <li>IP: tunneling (<code>CONFIG_INET_IPIP</code>): N</li> + <li>IP: GRE demultiplexer (<code>CONFIG_NET_IPGRE_DEMUX</code>): N</li> + <li> + IP: TCP syncookie support (<code>CONFIG_SYN_COOKIES</code>): N, SEC + </li> + <li> + Virtual (secure) IP: tunneling (<code>CONFIG_NET_IPVTI</code>): N + </li> + <li> + IP: Foo (IP protocols) over UDP (<code>CONFIG_NET_FOU</code>): N + </li> + <li> + IP: FOU encapsulation of IP tunnels + (<code>CONFIG_NET_FOU_IP_TUNNELS</code>): N + </li> + <li>IP: AH transformation (<code>CONFIG_INET_AH</code>): Y, STD</li> + <li>IP: ESP transformation (<code>CONFIG_INET_ESP</code>): Y, STD</li> + <li> + IP: ESP transformation offload (<code>CONFIG_INET_ESP_OFFLOAD</code>): + N + </li> + <li> + IP: ESP in TCP encapsulation (RFC 8229) + (<code>CONFIG_INET_ESPINTCP</code>): N + </li> + <li>IP: IPComp transformation (<code>CONFIG_INET_IPCOMP</code>): N</li> + <li> + INET: Source port perturbation table size (as power of 2) + (<code>CONFIG_INET_TABLE_PERTUB_ORDER</code>): 16 + </li> + <li> + INET: socket monitoring interface (<code>CONFIG_INET_DIAG</code>): N + </li> + <li> + TCP: advanced congestion control + (<code>CONFIG_TCP_CONG_ADVANCED</code>): N + </li> + <li> + TCP: Authentication Option (RFC5925) (<code>CONFIG_TCP_AO</code>): N + </li> + <li> + TCP: MD5 Signature Option Support (RFC2385) + (<code>CONFIG_TCP_MD5SIG</code>): N + </li> + <li>The IPv6 protocol (<code>CONFIG_IPV6</code>): Y</li> + <ul> + <li> + IPv6: Router Preference (RFC 4191) support + (<code>CONFIG_IPV6_ROUTER_PREF</code>): N + </li> + <li> + IPv6: Enable RFC 4429 Optimistic DAD + (<code>CONFIG_IPV6_OPTIMISTIC_DAD</code>): N + </li> + <li>IPv6: AH transformation (<code>CONFIG_IPV6_AH</code>): Y, STD</li> + <li> + IPv6: ESP transformation (<code>CONFIG_INET6_ESP</code>): Y, STD + </li> + <li> + IPv6: ESP transformation offload + (<code>CONFIG_INET6_ESP_OFFLOAD</code>): N + </li> + <li> + IPv6: ESP in TCP encapsulation (RFC 8229) + (<code>CONFIG_INET6_ESPINTCP</code>): N + </li> + <li> + IPv6: IPComp transformation (<code>CONFIG_INET6_IPCOMP</code>): N + </li> + <li>IPv6: Mobility (<code>CONFIG_IPV6_MIP6</code>): N</li> + <li> + IPv6: Identifier Locator Addressing (ILA) + (<code>CONFIG_IPV6_ILA</code>): N + </li> + <li> + Virtual (secure) IPv6: tunneling (<code>CONFIG_IPV6_VTI</code>): N + </li> + <li> + IPv6: IPv6-in-IPv4 tunnel (SIT driver) + (<code>CONFIG_IPV6_SIT</code>): Y, STD + </li> + <li> + IPv6: IPv6 Rapid Deployment (6RD) + (<code>CONFIG_IPV6_SIT_6RD</code>): N + </li> + <li> + IPv6: IP-in-IPv6 tunnel (RFC2473) (<code>CONFIG_IPV6_TUNNEL</code>): + N + </li> + <li> + IPv6: Multiple Routing Tables + (<code>CONFIG_IPV6_MULTIPLE_TABLES</code>): N + </li> + <li>IPv6: multicast routing (<code>CONFIG_IPV6_MROUTE</code>): N</li> + <li> + IPv6: Segment Routing Header encapsulation support + (<code>CONFIG_IPV6_SEG6_LWTUNNEL</code>): N + </li> + <li> + IPv6: Segment Routing HMAC support + (<code>CONFIG_IPV6_SEG6_HMAC</code>): N + </li> + <li> + IPv6: RPL Source Routing Header support + (<code>CONFIG_IPV6_RPL_LWTUNNEL</code>): N + </li> + <li> + IPv6: IOAM Pre-allocated Trace insertion support + (<code>CONFIG_IPV6_IOAM6_LWTUNNEL</code>): N + </li> + </ul> + <li>MPTCP: Multipath TCP (<code>CONFIG_MPTCP</code>): N</li> + <li> + Security Marking (<code>CONFIG_NETWORK_SECMARK</code>): N, auto + enabled if needed + </li> + <li> + Timestamping in PHY devices + (<code>CONFIG_NETWORK_PHY_TIMESTAMPING</code>): N + </li> + <li> + Network packet filtering framework (Netfilter) + (<code>CONFIG_NETFILTER</code>): Y, this is firewall + </li> + <ul> + <li> + Advanced netfilter configuration + (<code>CONFIG_NETFILTER_ADVANCED</code>): Y + </li> + <li>Core Netfilter Configuration</li> + <ul> + <li> + Netfilter ingress support (<code>CONFIG_NETFILTER_INGRESS</code>): + Y + </li> + <li> + Netfilter egress support (<code>CONFIG_NETFILTER_EGRESS</code>): Y + </li> + <li> + Netfilter OSF over NFNETLINK interface + (<code>CONFIG_NETFILTER_NETLINK_OSF</code>): Y + </li> + <li> + Syslog packet logging (<code>CONFIG_NF_LOG_SYSLOG</code>): Y + </li> + <li> + Netfilter Xtables support (<code>CONFIG_NETFILTER_XTABLES</code>): + Y + </li> + <li> + nfmark target and match support + (<code>CONFIG_NETFILTER_XT_MARK</code>): Y + </li> + <li>N to all others</li> + </ul> + <li>IP set support (<code>CONFIG_IP_SET</code>): N</li> + <li>IP virtual server support (<code>CONFIG_IP_VS</code>): N</li> + <li>IP: Netfilter Configuration</li> + <ul> + <li> + IPv4 socket lookup support (<code>CONFIG_NF_SOCKET_IPV4</code>): Y + </li> + <li>IPv4 tproxy support (<code>NF_TPROXY_IPV4</code>): Y</li> + <li> + Netfilter IPv4 packet duplication to alternate destination + (<code>CONFIG_NF_DUP_IPV4</code>): Y + </li> + <li>ARP packet logging (<code>CONFIG_NF_LOG_ARP</code>): Y</li> + <li>IPv4 packet logging (<code>CONFIG_NF_LOG_IPV4</code>): Y</li> + <li>IPv4 packet rejection (<code>NF_REJECT_IPV4</code>): Y</li> + <li>IP tables support (<code>CONFIG_IP_NF_IPTABLES</code>): N</li> + <li>ARP tables support (<code>CONFIG_IP_NF_ARPTABLES</code>): N</li> + </ul> + <li>IPv6: Netfilter Configuration</li> + <ul> + <li> + IPv6 socket lookup support (<code>CONFIG_NF_SOCKET_IPV6</code>): Y + </li> + <li>IPv6 tproxy support (<code>NF_TPROXY_IPV6</code>): Y</li> + <li> + Netfilter IPv6 packet duplication to alternate destination + (<code>CONFIG_NF_DUP_IPV6</code>): Y + </li> + <li>IPv6 packet rejection (<code>NF_REJECT_IPV6</code>): Y</li> + <li>IPv6 packet logging (<code>CONFIG_NF_LOG_IPV6</code>): Y</li> + <li>IP6 tables support (<code>CONFIG_IP6_NF_IPTABLES</code>): N</li> + </ul> + </ul> + <li>The DCCP Protocol (<code>CONFIG_IP_DCCP</code>): N</li> + <li> + The SCTP Protocol (<code>CONFIG_IP_SCTP</code>): N, used by Telcos + </li> + <li> + The Reliable Datagram Sockets Protocol (<code>CONFIG_RDS</code>): N + </li> + <li>The TIPC Protocol (<code>CONFIG_TIPC</code>): N</li> + <li> + Asynchronous Transfer Mode (ATM) (<code>CONFIG_ATM</code>): N, used by + DSL modems + </li> + <li> + Layer Two Tunneling Protocol (L2TP) (<code>CONFIG_L2TP</code>): N, + unless using a VPN + </li> + <li>802.1d Ethernet Bridging (<code>CONFIG_BRIDGE</code>): N, VIRT</li> + <li> + Distributed Switch Architecture (<code>CONFIG_NET_DSA</code>): N + </li> + <li>802.1Q/802.1ad VLAN Support (<code>CONFIG_VLAN_8021Q</code>): N</li> + <li> + ANSI/IEEE 802.2 LLC type 2 support (<code>CONFIG_LLC2</code>): N + </li> + <li>Appletalk protocol support (<code>CONFIG_ATALK</code>): N, OLD</li> + <li>CCITT X.25 Packet Layer (<code>CONFIG_X25</code>): N</li> + <li>LAPB Data Link Driver (<code>CONFIG_LAPB</code>): N</li> + <li>Phonet protocols family (<code>CONFIG_PHONET</code>): N</li> + <li>6LoWPAN Support (<code>CONFIG_6LOWPAN</code>): N</li> + <li> + IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks Support + (<code>CONFIG_IEEE802154</code>): N + </li> + <li>QoS and/or fair queueing (<code>CONFIG_NET_SCHED</code>): Y</li> + <ul> + <li>N to all others</li> + </ul> + <li>Data Center Bridging support (<code>CONFIG_DCB</code>): N</li> + <li>DNS Resolver support (<code>CONFIG_DNS_RESOLVER</code>): N</li> + <li> + B.A.T.M.A.N Advanced Meshing Protocol + (<code>CONFIG_BATMAN_ADV</code>): N + </li> + <li>Open vSwitch (<code>CONFIG_OPENVSWITCH</code>): N</li> + <li>Virtual Socket protocol (<code>CONFIG_VSOCKETS</code>): N, VIRT</li> + <li> + NETLINK: socket monitoring interface + (<code>CONFIG_NETLINK_DIAG</code>): N + </li> + <li>MultiProtocol Label Switching (<code>CONFIG_MPLS</code>): N</li> + <li> + Network Service Header (NSH) protocol (<code>CONFIG_NET_NSH</code>): N + </li> + <li> + High-availability Seamless Redundancy (HSR & PRP) + (<code>CONFIG_HSR</code>): N + </li> + <li> + Switch (and switch-ish) device support + (<code>CONFIG_NET_SWITCHDEV</code>): N + </li> + <li> + L3 Master device support (<code>CONFIG_NET_L3_MASTER_DEV</code>): N + </li> + <li>Qualcomm IPC Router support (<code>CONFIG_QRTR</code>): N</li> + <li>NCSI interface support (<code>CONFIG_NET_NCSI</code>): N</li> + <li> + Use percpu variables to maintain network device refcount + (<code>CONFIG_PCPU_DEV_REFCNT</code>): Y + </li> + <li> + Maximum number of fragments per skb_shared_info + (<code>CONFIG_MAX_SKB_FRAGS</code>): 17 + </li> + <li> + Network priority cgroup (<code>CONFIG_CGROUP_NET_PRIO</code>): N + </li> + <li> + Network classid cgroup (<code>CONFIG_CGROUP_NET_CLASSID</code>): N + </li> </ul> <li>Amateur Radio support (<code>CONIG_HAMRADIO</code>): N</li> - <li>CAN bus subsystem support (<code>CONFIG_CAN</code>): N, used in vehicles</li> - <li>Bluetooth subsystem support (<code>CONFIG_BT</code>): Y, if desired</li> + <li> + CAN bus subsystem support (<code>CONFIG_CAN</code>): N, used in vehicles + </li> + <li> + Bluetooth subsystem support (<code>CONFIG_BT</code>): Y, if desired + </li> <ul> - <li>Bluetooth Classic (BR/EDR) features (<code>CONFIG_BT_BREDR</code>): Y</li> + <li> + Bluetooth Classic (BR/EDR) features (<code>CONFIG_BT_BREDR</code>): Y + </li> <li>RFCOMM protocol support (<code>CONFIG_BT_RFCOMM</code>): Y</li> <li>RFCOMM TTY support (<code>CONFIG_BT_RFCOMM_TTY</code>): N</li> <li>BNEP protocol support (<code>CONFIG_BT_BNEP</code>): N</li> - <li>HIDP protocol support (<code>CONFIG_BT_HIDP</code>): Y, for input devices</li> - <li>Bluetooth High Speed (HS) features (<code>CONFIG_BT_HS</code>): Y</li> - <li>Bluetooth Low Energy (LE) features (<code>CONFIG_BT_LE</code>): Y</li> - <li>Bluetooth L2CAP Enhanced Credit Flow Control (<code>CONFIG_BT_LE_L2CAP_ECRED</code>): Y</li> + <li> + HIDP protocol support (<code>CONFIG_BT_HIDP</code>): Y, for input + devices + </li> + <li> + Bluetooth High Speed (HS) features (<code>CONFIG_BT_HS</code>): Y + </li> + <li> + Bluetooth Low Energy (LE) features (<code>CONFIG_BT_LE</code>): Y + </li> + <li> + Bluetooth L2CAP Enhanced Credit Flow Control + (<code>CONFIG_BT_LE_L2CAP_ECRED</code>): Y + </li> <li>Enable LED triggers (<code>CONFIG_BT_LEDS</code>): N</li> <li>Enable Microsoft extensions (<code>CONFIG_BT_MSFTEXT</code>): N</li> - <li>Enable Android Open Source Project extensions (<code>CONFIG_BT_AOSPEXT</code>): N</li> - <li>Bluetooth self testing support (<code>CONFIG_BT_SELFTEST</code>): N, DEV</li> - <li>Enable runtime option for debugging statements (<code>CONFIG_BT_FEATURE_DEBUG</code>): N, DEV</li> + <li> + Enable Android Open Source Project extensions + (<code>CONFIG_BT_AOSPEXT</code>): N + </li> + <li> + Bluetooth self testing support (<code>CONFIG_BT_SELFTEST</code>): N, + DEV + </li> + <li> + Enable runtime option for debugging statements + (<code>CONFIG_BT_FEATURE_DEBUG</code>): N, DEV + </li> <li>Bluetooth device drivers</li> <ul> - <li>HCI USB driver (<code>CONFIG_BT_HCIBTUSB</code>): Y, most bt cards are attached via usb</li> - <li>Enable USB poll_sync for Bluetooth USB devices by default (<code>CONFIG_BT_HCIBTUSB_POLL_SYNC</code>): Y, STD</li> + <li> + HCI USB driver (<code>CONFIG_BT_HCIBTUSB</code>): Y, most bt cards + are attached via usb + </li> + <li> + Enable USB poll_sync for Bluetooth USB devices by default + (<code>CONFIG_BT_HCIBTUSB_POLL_SYNC</code>): Y, STD + </li> <li>Enable others based on hardware...</li> </ul> </ul> @@ -506,32 +1512,270 @@ <li>MCTP core protocol support (<code>CONFIG_MCTP</code>): N</li> <li>Wireless (<code>WIRELESS</code>): Y, if needed</li> <ul> - <li>cfg80211 - wireless configuration API (<code>CONFIG_CFG80211</code>): Y, STD</li> - <li>nl80211 testmode command (<code>CONFIG_NL80211_TESTMODE</code>): N, DEV</li> - <li>enable developer warnings (<code>CONFIG_CFG80211_DEVELOPER_WARNINGS</code>): N, DEV</li> - <li>cfg80211 certification onus (<code>CONFIG_CFG80211_CERTIFICATION_ONUS</code>): N</li> - <li>enable powersave by default (<code>CONFIG_CFG80211_DEFAULT_PS</code>): Y</li> + <li> + cfg80211 - wireless configuration API (<code>CONFIG_CFG80211</code>): + Y, STD + </li> + <li> + nl80211 testmode command (<code>CONFIG_NL80211_TESTMODE</code>): N, + DEV + </li> + <li> + enable developer warnings + (<code>CONFIG_CFG80211_DEVELOPER_WARNINGS</code>): N, DEV + </li> + <li> + cfg80211 certification onus + (<code>CONFIG_CFG80211_CERTIFICATION_ONUS</code>): N + </li> + <li> + enable powersave by default (<code>CONFIG_CFG80211_DEFAULT_PS</code>): + Y + </li> <li>support CRDA (<code>CONFIG_CFG80211_CRDA_SUPPORT</code>): Y</li> - <li>cfg80211 wireless extensions compatibility (<code>CONFIG_CFG80211_WEXT</code>): N</li> - <li>Generic IEEE 802.11 Networking Stack (mac80211) (<code>CONFIG_MAC80211</code>): Y, STD</li> + <li> + cfg80211 wireless extensions compatibility + (<code>CONFIG_CFG80211_WEXT</code>): N + </li> + <li> + Generic IEEE 802.11 Networking Stack (mac80211) + (<code>CONFIG_MAC80211</code>): Y, STD + </li> <li>Minstrel (<code>CONFIG_MAC80211_RC_MINSTREL</code>): Y</li> <li>Default rate control algorithm: Minstrel</li> - <li>Enable mac80211 mesh networking support (<code>CONFIG_MAC80211_MESH</code>): N, OLD</li> + <li> + Enable mac80211 mesh networking support + (<code>CONFIG_MAC80211_MESH</code>): N, OLD + </li> <li>Enable LED triggers (<code>CONFIG_MAC80211_LEDS</code>): N</li> - <li>Trace all mac80211 debug messages (<code>CONFIG_MAC80211_MESSAGE_TRACING</code>): N, DEV</li> - <li>Select mac80211 debugging features (<code>CONFIG_MAC80211_DEBUG_MENU</code>): N, DEV</li> + <li> + Trace all mac80211 debug messages + (<code>CONFIG_MAC80211_MESSAGE_TRACING</code>): N, DEV + </li> + <li> + Select mac80211 debugging features + (<code>CONFIG_MAC80211_DEBUG_MENU</code>): N, DEV + </li> </ul> - <li>RF switch subsystem support (<code>CONFIG_RFKILL</code>): N, may be needed for some network/bt cards</li> - <li>Plan 9 Resource Sharing Support (9P2000) (<code>CONFIG_NET_9P</code>): N, VIRT</li> + <li> + RF switch subsystem support (<code>CONFIG_RFKILL</code>): N, may be + needed for some network/bt cards + </li> + <li> + Plan 9 Resource Sharing Support (9P2000) (<code>CONFIG_NET_9P</code>): + N, VIRT + </li> <li>CAIF support (<code>CONFIG_CAIF</code>): N</li> <li>Ceph core library (<code>CONFIG_CEPH_LIB</code>): N</li> <li>NFC subsystem support (<code>CONFIG_NFC</code>): N, EMB</li> <li>Packet-sampling netlink channel (<code>CONFIG_PSAMPLE</code>): N</li> - <li>Inter-FE based on IETF ForCES InterFE LFB (<code>CONFIG_NET_IFE</code>): N</li> + <li> + Inter-FE based on IETF ForCES InterFE LFB (<code>CONFIG_NET_IFE</code>): + N + </li> <li>Network light weight tunnels (<code>CONFIG_LWTUNNEL</code>): N</li> <li>Generic failover module (<code>CONFIG_FAILOVER</code>): N, VIRT</li> - <li>Netlink interface for ethtool (<code>CONFIG_ETHTOOL_NETLINK</code>): N</li> + <li> + Netlink interface for ethtool (<code>CONFIG_ETHTOOL_NETLINK</code>): N + </li> + </div> + <div id="file_systems"> + <h3>File systems</h3> + <ul> + <li> + Validate filesystem parameter description + (<code>CONFIG_VALIDATE_FS_PARSER</code>): N + </li> + <li> + Second extended fs support (<code>CONFIG_EXT2_FS</code>): N, covered + by ext4 + </li> + <li> + The Extended 3 (ext3) filesystem (<code>CONFIG_EXT3_FS</code>): N, + covered by ext4 + </li> + <li> + The Extended 4 (ext4) filesystem (<code>CONFIG_EXT4_FS</code>): Y, + assuming ext4 is used + </li> + <li> + Use ext4 for ext2 file systems + (<code>CONFIG_EXT4_USE_FOR_EXT2</code>): Y, STD + </li> + <li> + Ext4 POSIX Access Control Lists + (<code>CONFIG_EXT4_FS_POSIX_ACL</code>): N + </li> + <li> + Ext4 Security Labels (<code>CONFIG_EXT4_FS_SECURITY</code>): Y, SEC + </li> + <li>Ext4 debugging support (<code>CONFIG_EXT4_DEBUG</code>): N, DEV</li> + <li> + JBD2 (ext4) deubgging support (<code>CONFIG_JBD2_DEBUG</code>): N, DEV + </li> + <li>Reiserfs support (<code>CONFIG_REISERFS_FS</code>): N, OLD</li> + <li>JFS filesystem support (<code>CONFIG_JFS_FS</code>): N</li> + <li> + XFS filesystem support (<code>CONFIG_XFS_FS</code>): N, for server + </li> + <li>GFS2 file system support (<code>CONFIG_GFS2_FS</code>): N</li> + <li> + Btrfs filesystem support (<code>CONFIG_BTRFS_FS</code>): N, + unreliable... + </li> + <li>NILFS2 file system support (<code>CONFIG_NILFS2_FS</code>): N</li> + <li>F2FS filesystem support (<code>CONFIG_F2FS_FS</code>): N</li> + <li> + bcachefs filesystem support (<code>CONFIG_BCACHEFS_FS</code>): N + </li> + <li> + Enable filesystem export operations for block IO + (<code>CONFIG_EXPORTFS_BLOCK_OPS</code>): N + </li> + <li> + Enable POSIX file locking API (<code>CONFIG_FILE_LOCKING</code>): Y + </li> + <li> + FS Encryption (Per-file encryption) + (<code>CONFIG_FS_ENCRYPTION</code>): N + </li> + <li> + FS Verity (read-only file-based authenticity protection) + (<code>CONFIG_FS_VERITY</code>): N + </li> + <li>Dnotify support (<code>CONFIG_DNOTIFY</code>): Y, STD</li> + <li> + Inotify support for userspace (<code>CONFIG_INOTIFY_USER</code>): Y, + STD + </li> + <li> + Filesystem wide access notification (<code>CONFIG_FANOTIFY</code>): Y, + STD + </li> + <li>Quota Support (<code>CONFIG_QUOTA</code>): N</li> + <li> + Kernel automounter support (<code>CONFIG_AUTOFS_FS</code>): Y, if + using systemd + </li> + <li> + FUSE (Filesystem in Userspace support) (<code>CONFIG_FUSE_FS</code>): + Y + </li> + <li> + Character device in Userspace support (<code>CONFIG_CUSE</code>): N + </li> + <li>Virtio Filesystem (<code>CONFIG_VIRTIO_FS</code>): N, VIRT</li> + <li>Overlay filesystem support (<code>CONFIG_OVERLAY_FS</code>): N</li> + <li>CD-ROM/DVD Filesystems</li> + <ul> + <li> + ISO 9660 CDROM file system support (<code>CONFIG_ISO9660_FS</code>): + N, unless you intend to mount ISO images + </li> + <li> + UDF file system support (<code>CONFIG_UDF_FS</code>): N, unless DVD + hardware is present + </li> + </ul> + <li>DOS/FAT/EXFAT/NT Filesystems</li> + <ul> + <li>MSDOS fs support (<code>CONFIG_MSDOS_FS</code>): N, OLD</li> + <li> + VFAT (Windows-95) fs support (<code>CONFIG_VFAT_FS</code>): Y, + commonly used by USB storage + </li> + <li> + Default codepage for FAT (<code>CONFIG_FAT_DEFAULT_CODEPAGE</code>): + 437, unless in Russia/Asia + </li> + <li> + Default iocharset for FAT + (<code>CONFIG_FAT_DEFAULT_IOCHARSET</code>): ios8859-1 + </li> + <li> + Enable FAT UTF-8 option by default + (<code>CONFIG_FAT_DEFAULT_UTF8</code>): N + </li> + <li>exFAT filesystem support (<code>CONFIG_EXFAT_FS</code>): N</li> + <li> + NTFS file system support (<code>CONFIG_NTFS_FS</code>): N, Windows + disks + </li> + <li> + NTFS debugging support (<code>CONFIG_NTFS_DEBUG</code>): N, DEV + </li> + <li>NTFS writesupport (<code>CONFIG_NTFS_RW</code>): N</li> + <li> + NTFS Read-Write file system support (<code>CONFIG_NTFS3_FS</code>): + N + </li> + </ul> + <li>Pseudo filesystems</li> + <ul> + <li> + /proc file system support (<code>CONFIG_PROC_FS</code>): Y, STD + </li> + <li>/proc/kcore support (<code>CONFIG_PROC_KCORE</code>): N, SEC</li> + <li> + Sysctl support (/proc/sys) (<code>CONFIG_PROC_SYSCTL</code>): Y + </li> + <li> + Enable /proc page monitoring + (<code>CONFIG_PROC_PAGE_MONITOR</code>): Y + </li> + <li>sysfs file system support (<code>CONFIG_SYSFS</code>): Y</li> + <li> + Tmpfs virtual memory file system support (former shm fs) + (<code>CONFIG_TMPFS</code>): Y, STD + </li> + <li> + Tmpfs POSIX Access Control Lists + (<code>CONFIG_TMPFS_POSIX_ACL</code>): Y + </li> + <li> + Tmpfs extended attributes (<code>CONFIG_TMPFS_XATTR</code>): Y, STD + </li> + <li> + Use 64-bit ino_t by default in tmpfs + (<code>CONFIG_TMPFS_INODE64</code>): N + </li> + <li>Tmpfs quota support (<code>CONFIG_TMPFS_QUOTA</code>): N</li> + <li> + HugeTLB file system support (<code>CONFIG_HUGETLBFS</code>): N, + irrelevant due to THP + </li> + <li> + Userspace-driven configuration filesystem + (<code>CONFIG_CONFIGFS_FS</code>): N + </li> + <li> + EFI Variable filesystem (<code>CONFIG_EFIVAR_FS</code>): Y, STD + </li> + </ul> + <li> + Miscellaneous filesystems (<code>CONFIG_MISC_FILESYSTEMS</code>): N + </li> + <li> + Network File Systems (<code>CONFIG_NETWORK_FILESYSTEMS</code>): N, + unless needed + </li> + <li>Native language support (<code>CONFIG_NLS</code>): Y</li> + <ul> + <li>Default NLS Option (<code>CONFIG_NLS_DEFAULT</code>): utf8</li> + <li> + Codepage 437 (United States, Canada) + (<code>CONFIG_NLS_CODEPAGE_437</code>): Y + </li> + <li>ASCII (United States) (<code>CONFIG_NLS_ASCII</code>): Y</li> + <li>NLS UTF-8 (<code>CONFIG_NLS_UTF8</code>): Y</li> + <li>Select others as needed</li> + </ul> + <li> + UTF-8 normalization and casefolding support + (<code>CONFIG_UNICODE</code>): N + </li> + </ul> </div> - <br>This is a WIP... + <br />This is a WIP... </body> </html> |