Linux3.0.8 kernel configure (make menuconfig configuration 1)

Source: Internet
Author: User
Tags posix
General setup General settings

[] Prompt for development and/or incomplete code/Drivers

Config_experimental = y shows code and drivers that are still under development or not yet completed. Unless you are a tester or developer, please
Do not select

() Cross-compiler tool prefix

Config_cross_compiler = "cross-compilation tool prefix"

For example: Arm-Linux-

() Local version-append to kernel release
Config_localversion = "" append the specified version information to the kernel version, which can be seen in the uname-a command.

[] Automatically append version information to the version string

Config_localversion_auto = y automatically adds version information after the version string. Perl and git repository support are required during compilation.

Kernel compression mode (gzip) --->
This option indicates the compression mode used by the kernel image. Press enter to see gzip, lzma, and lxo. Generally, you can press the default gzip. If
To use Bzip2, lzma, and lzo, install the relevant decompression tools first,

(X) gziphave_kernel_gzip = y is used to compress files in UNIX systems.

() Bzip2have_kernel_bzip2 = y Bzip2 is a lossless compression software based on the Burrows-wheeler transformation. The compression effect is better than the traditional lz77/lz78 compression algorithm. Bzip2 is more efficient than traditional gzip or zip compression, but its compression speed is slow.
() Lzmahave_kernel_lzma = y is an improved and optimized Compression Algorithm for deflate and lz77 algorithms. It uses a dictionary encoding mechanism similar to lz77. In general, the compression ratio is higher than Bzip2, and the variable dictionary used for compression can be up to 4 GB.
() Xzhave_kernel_xz = Y is a lossless data compression file format using lzma compression algorithm. Same as gzip and Bzip2, multiple files can be compressed, but more than one target file cannot be compressed into the same file. On the contrary, xz is usually used as a compression format of the archive file itself, for example, an archive created using tar or cpiounix programs.
() Lzohave_kernel_lzo = Y is a data compression algorithm dedicated to decompression speed. lzo is short for Lempel-Ziv-oberhumer.

(None) default hostname
Config_localversion_auto = yconfig_default_hostname = "(none)" specifies a default host name. The
You can use the sethostname command to set the host name. It is useful when creating a minimum system.

[*] Support for paging of anonymous memory (SWAP)

Enable your kernel to support virtual memory. Does config_swap = y support swap partitions?

[*] System V IPC

Provides a communication mechanism for processes, which enables information exchange and synchronization between processes in the system. Some programs only select y.
So you don't have to consider it. You must select it here.

Config_sysvipc = y supports System v ipc. This is mainly set to be compatible with Unix programs using System v ipc. If
You can ignore this parameter when considering compatibility.

[*] POSIX message queues

This is a POSIX message queue, which is also an IPC. We recommend that you select it.

Whether config_posix_mqueue = y supports POSIX message queues, which is set to be compatible with POSIX standards. This is only
Displayed when config_experimental = y.
[*] BSD process accounting

This allows user processes to access the kernel and write account information to a file. This is generally considered a good idea. It is recommended that you select it. Set
User-level system calls for writing process statistics to files, including the Process Creation Time, creator, and memory usage.

Config_bsd_process_acct = Y: Write process statistics to a file and use the accton command to enable this function.
[*] BSD process accounting version 3 File Format

If selected, the statistics will be written in the new format (V3), which contains the process ID and parent process. Note the format and the previous
The V0/V1/V2 format is not compatible, so you need to upgrade the related tools to use it. Optional.

Config_bsd_process_acct_v3 = y process Statistics file is in V3 format.

[*] Open by fhandle syscils
Config_fhandle = Y. To open a file, you can call it through the handle subsystem.

[*] Export task/process statistics through Netlink (experimental)
Functions in the experiment stage. Output the corresponding data of the Work/process through a common network. Unlike BSD, the data is run in the process
You can access it through related commands. Similar to BSD, data is sent to the user space at the end of the process. If not, select n.

The Netlink interface is used to export task/process statistics to the user space. Netlink is a bidirectional data count between the kernel and the user application.
The data transmission method is very good. Users can use the powerful functions provided by Netlink by using standard socket APIs.

[*] Enable per-task delay accounting (experimental)

The statistical information includes the time spent by the process waiting for system resources (such as CPU, Io synchronization, and memory switching ).

Config_task_delay_acct = y statistics include the latency of each task/process

[*] Enable extended accounting over taskstats (experimental)

Include the time spent by the scaling process in the statistics

Config_task_xacct = y statistics include the time when the extended task reads and sends data

[*] Enable per-task storage I/O accounting (experimental)

Time taken by the I/O storage process in the statistics

 
Config_task_io_accounting = y statistics include the number of bytes produced by the I/O device

[] Auditing suppor

Audit support. Some kernel modules (such as SELinux) need it. Only the sub-items selected at the same time can audit system calls.
Select. Config_audit = y supports audit, which is required by some kernel modules (SELinux, security-enhanced Linux)

IRQ subsystem --->

Interrupt Subsystem
[*] Support sparse IRQ numbering
Config_sparse_irq = y supports rare interrupt numbers

RCU subsystem --->

The asymmetric read/write lock system is a new kind of kernel lock mechanism, which is suitable for read-write-less environments. For the shared data structure protected by RCU, the reader can access it without getting any locks, but the writer first copies a copy when accessing it and then modifies the copy, finally, a callback mechanism is used to re-point the pointer to the original data to the new modified data at an appropriate time. At this time, all CPUs that reference the data exit the sharing data operation.

(1) RCU implementation (tree-based hierarchical RCU) ---> RCU Implementation Mechanism
(X) tree-based hierarchical RCU: config_tree_rcu = y tree-based hierarchy
(2) [] Enable tracing for RCU: config_rcu_trace = y enable RCU Tracing
(3) (32) tree-based hierarchical RCU fanout value config_rcu_fanout = number of branches of the 32rcu tree
(4) [] disable tree-based hierarchical RCU auto-balancing config_rcu_fanout_exact = y disable RCU auto average
Balance Function
(5) [*] Accelerate last non-dyntick-idle CPU's grace periods
Config_rcu_fast_no_hz = y to increase non-sleep CPU usage time

<> Kernel. config support
Config_ikconfig = Y | M used to compile the kernel. The config file is saved in the compiled kernel.

(19) kernel log buffer size (16 => 64kb, 17 => 128kb)
Config_log_buf_shift = 17 kernel log cache size. This value is calculated by the square of 2 and ranges from 12 to 21.

-*-Control group support --->

[*] Namespaces support --->

[*] Automatic process group scheduling

[] Enable deprecated sysfs features to support old userspace tools

In some file systems (such as debugfs), interfaces are provided to transmit large amounts of data from the kernel space to the user space.

-*-Kernel-> User Space Relay Support (formerly relayfs)

[*] Initial Ram filesystem and RAM disk (initramfs/initrd) Support

The initial RAM file and RAM disk (initramfs/initrd) Support (if you want to start with initrd, You need to select; otherwise, you can
(Optional), no, no need to select.

 

() Initramfs source file (s)

Initrd has been replaced by initramfs. If you do not understand what it means, leave it blank.

[] Optimize for size

Optimize the kernel size during compilation (use the "-OS" instead of "-O2" parameter for compilation), and sometimes produce incorrect binary code

() Default panic timeout ()

[] Configure standard kernel features (expert users) (new) --->

Configure standard kernel features (for small systems)

Enable 16-bit uid system CILS

Allows outdated 16-bit packaging for uid system calls

Sysctl syscall support

You can modify some kernel parameters and variables without restarting the kernel. If you also select support/proc, the access from/proc/sys can be affected.
Core Behavior parameters or variables

Load all symbols for debugging/kksymoops

Load all the debugging symbol table information, which is only available for debugging.

Include all symbols in kallsyms

If kallsyms contains all the symbols known by the kernel, the kernel will increase by 300 K.

Do an extra kallsyms pass

This option is enabled unless you find a bug in kallsyms and need to report the bug.

[] Enable the anonymous shared memory subsystem (new)

[] Embedded System

Kernel performance events and counters --->

[] Disable heap randomization

Disable random heap (heap is an application layer concept, that is, the heap is invisible to the CPU. It can be implemented in multiple ways by operating system instances.
Now, it can also be implemented by the Runtime Library. If you want to, you can also implement a heap in a stack)

Choose Slab allocator (slab) --->

Select the memory allocation Manager (slub is strongly recommended)

() Slab
Memory Allocation manager for various environments

(X) slub (unqueued Allocator)
Better Memory Allocation Manager

[*] Profiling support

<M> oprofile system profiling

Profile support. You can use a tool to scan and provide a computer profile. Support System Evaluation (not required for most users)

[*] Kprobes

Debug the kernel unless the developer does not select

Gcov-Based Kernel profiling --->

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.