Kernel features
Kernel features
[] Kernel features
[*] Tickless System (Dynamic ticks)
Config_no_hz dynamic system frequency, power saving is also. The heartbeat system triggers scheduled interruptions based on the system's busy and idle status.
[*] High Resolution timer support
Supports high-frequency time generators. If the hardware is not compatible, this option will only increase the kernel size (not for most PCs)
Memory split (3g/1g user/kernel split) --->
How to divide 4G memory space into users and kernels
(X) 3g/1g user/kernel split
() 2g/2G user/kernel split
() 1g/3G user/kernel split
Preemption model (Voluntary kernel preemption (desktop) --->
Kernel preemption option, that is, a kernel can be preemptible, so that the event can get a faster response
() No Forced Preemption (server)
This mode is equivalent to a standard kernel without preemptible options and is mainly applicable to server environments such as scientific computing.
(X) Voluntary kernel preemption (desktop)
This mode enables voluntary preemption, but still disables the kernel preemption option. It reduces the preemption Latency by adding preemption points. Therefore, it is suitable for some environments that require better responsiveness, such as the desktop environment, of course, this kind of good responsiveness is at the cost of some throughput.
() Preemptible kernel (low-latency desktop)
This mode includes both voluntary preemption and preemptible kernel options. Therefore, there is a good response latency, which has actually achieved soft real-time performance to some extent. It is mainly applicable to desktops and some embedded systems, but the throughput is lower than that of Mode 2.
[] Compile the kernel in thumb-2 mode (experimental) (new)
Config_thumb2_kernel to enable this option, thumb-2 will be used to compile the kernel
[] Use the arm Eabi to compile the kernel (new)
Config_aeabi this option is used to compile the latest arm abi for the kernel and is only useful for user space.
[*] High memory support
Config_highmem, with memory larger than 4 GB as high memory
[*] Allocate 2nd-level pagetables from highmem
Many (larger than 4 GB) Machines place user space page tables in the high memory area to save valuable low-end memory. I only Virtualize 1 GB
[*] Enable hardware performance counter support for perf events (new)
Config_hw_perf_events enables the perf event of the hardware performance counter. If it is disabled, it can only be used by software.
Memory Model (flat memory) --->
Linear memory mode
(X) flat memory
This option allows you to change some of the kernel's internal memory management methods. Most users have only one option: flat memory. This is a common and correct option.
Some users' machines have more advanced features, such as NUMA and memory hot plugging, which will have different options. Discontiguous memory (non-contact memory mode) is a more mature and better testing system. But it is not suitable for the memory hot plugging system and will be replaced by "sparse memory. If you do not know the difference between "sparse memory" and "discontiguous memory", select the latter.
If you do not know, choose flat memory.
[*] Allow for memory Compaction
Config_compaction allows large page memory allocation
-*-Page migration
[*] Enable KSM for page merging
Config_ksm (not understanding)
Low address space to protect from user allocation
Config_default_mmap_min_addr
Protects the virtual memory insufficiency allocated by users and reduces kernel NULL pointer errors.
[] Enable cleancache driver to cache clean pages if tmem is present (new)
Config_cleancache ..............
[] Timer and CPU usage LEDs (new)
The LEDs on the config_leds machine will be used to provide useful information about the current system status.
[] Use kernel mem {CPY, set} () for {copy_to, clear} _ User () (experimental) (new)
Config_uaccess_with_memcpy
[] Enable seccomp to safely compute untrusted bytecode
Config_seccomp
[*] Enable-fstack-Protector Buffer Overflow detection (experimental)
[] Provide old way to pass kernel parameters (new)
Config_deprecated_param_struct discarded
Boot options
Startup Item
[] Flattened Device Tree support (new)
Linear tree Device Support
(0) Compressed ROM Boot Loader base address (new)
Zboot_rom_text the target zimage can be placed in the physical address of the RoM. If zboot_rom is not enabled, this value will not be affected.
(0) Compressed ROM Boot Loader BSS address (new)
Config_zboot_rom_bss has enough memory base address in the read/write area in the Rom, which must be sufficient to accommodate the entire decompressed kernel and an additional K space. This value is not affected if zboot_rom is not enabled.
(Noinitrd root =/dev/mtdblock2 init =/linuxrc console = ttysac0, 115200)
() Default kernel command string (new)
Config_cmdline_force always uses the default kernel command string, even if the boot loader uses other Kernel Parameters
1. if the bootargs of uboot is set, the default kernel command string in the boot options of kernel does not take effect. That is, bootargs overwrites the default kernel command string, the printed information is also the command string passed by bootargs.
2. If the bootargs of uboot is not set, the kernel starts with the default kernel command string setting in Boot options.
In short:
Whether it is started from NAND or nor, uboot is used to guide Linux. If the bootargs of uboot is set, uboot replaces the Linux command string with bootargs during Linux boot. Config_cmdline is useful only when bootloader cannot pass parameters to the kernel. Generally, config_cmdline cannot be used.
[] Kernel execute-in-place from Rom (new)
Run the kernel directly from the Rom, which is compiled using make xipimage.
[*] Kexec System Call (experimental)
Config_kexec kexec is a system call that disables your current kernel and starts another kernel. It is like a restart, but it is an independent system firmware. Like restarting, you can start any kernel, not just Linux.
[*] Export atags in procfs (new)
[*] Build kdump crash kernel (experimental)
[] Auto calculation of the decompressed kernel image address (new)
The physical address of config_auto_zreladdr zreladdr will be placed in the decompressed kernel image. If auto_zreladdr is selected, the current ip0xf8000000 is blocked during runtime. This is assumed that zimage memory is placed at the first 128 MB from the beginning.
CPU power management
Power Management
[*] CPU idle PM support
Config_cpu_idle CPU idle is a general framework that supports software control of idle Processor power management. If you use the ACPI function platform, you can select.
Floating Point emulation --->
Floating Point Operation options
* ** At least one emulation must be selected ***
[] Nwfpe math emulation (new)
Algorithms used by most applications.
[] Fastfpe math emulation (experimental) (new)
[] VFP-format floating point maths (new)
Userspace binary formats --->
User space binary file format options
[*] Kernel support for elf Binaries
Supported elf formats
[*] Write elf core dumps with partial segments
Supported a. Out and ecoff formats, which have been replaced by Elf
<> Kernel support for A. Out and ecoff Binaries
<*> Kernel support for MISC Binaries
<> Proteus OS personality (new)
Power Management Options --->
Power Management Options
[*] Suspend to Ram and standby
If you want your Linux to support advanced power management (that is, we usually say soft shutdown, System sleep, etc.), you need to select it and wait for the memory, that is, the memory is powered, and the hard disk and other peripherals are temporarily disabled.
[] Wake lock (new)
Powermanager: This class controls the power status of the device.
If there is a new message, even when the screen is locked, the screen will be lit up with a sound, and the user will know that a new message is coming. However, after the mobile phone lockscreen, the android system will sleep after a period of time to save power and reduce CPU consumption, in the Android system, the CPU remains in a relatively low power consumption state. In the previous example, a network request is required to receive a new message, and the network request consumes CPU. How can we lock the screen and even after the system goes to sleep, still keep the network status of the system and wake up the mobile phone through the program? The answer is the wakelock mechanism in Android.
[*] Run-Time PM core functionality
The config_pm_runtime startup function allows the IO Device to enter the energy-saving (or automatic suspension) status during runtime. After a period of time, a hardware device will wake up.
[] Power Management debug support
Do not want to debug ACPI. Do not select
<> Advanced power management emulation (new)
Config_apm_emulation
APM is a type of technical specification that saves power in BIOS. This is mainly useful for laptops powered by APM-compatible BIOS batteries. If you say y here, the system time will be reset and the operation will be resumed. The/proc/APM device will provide the battery status information and the user space program will receive a notification, APM "events" (such as changes in battery status ).
[] Log time spent in suspend (new)
Really many ...... I sprayed!