Gentoo Linux Kernel configuration (1)

Source: Internet
Author: User

Linux Kernel v2.6.36-gentoo-r5

 

General setup --->

 

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

// It is selected by default. This will display the code and driver that are still being developed or not completed on the settings page. you should select it because many devices may have to select this option for configuration. In fact, it is safe.

 

 

() Cross-compiler tool prefix

// The prefix of the Cross-compilation tool. If you want to use the cross-compilation tool, enter the prefix. It is not used by default. No

 

() Local version-append to kernel release
// The custom version, that is, the version that can be viewed by uname-R, can be modified by myself. I didn't use it here. It doesn't make much sense.

[] Automatically append version information to the version string

// Automatically generate version information. This option will automatically detect your kernel and generate the corresponding version, so that it will not be the same as the original. This requires Perl support. Because the--append-to-version option is added to the Make-kpkg command to generate a custom version, select n here.

 

Kernel compression mode (gzip) --->
// There are four options. This option indicates the compression mode used by the kernel image. Press enter to see gzip, Bzip2, lzma, and lxo. Generally, you can press the default gzip, if you want to use Bzip2, lzma, and lzo, install the relevant decompression tool first.

 

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

// Enable your kernel to support virtual memory

[*] System V IPC

// Provides a communication mechanism for processes, which enables information exchange and synchronization between processes in the system. Some programs can run only when y is selected, so you do not need to consider it.

 

[*] POSIX message queues

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

[*] BSD process accounting

// This allows the user process to access the kernel and write account information to the file. This is generally considered a good idea. It is recommended that you select it. User-level system calls that write process statistics to files, including the Process Creation Time, creator, and memory usage.
[*] 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 that this format is not compatible with the previous V0/V1/V2 format, so you need to upgrade the related tools to use it. Optional.

 

 

[*] Export task/process statistics through Netlink (experimental)
// Functions in the experiment stage. Output the corresponding data of a job/process through a common network. Unlike BSD, the data can be accessed through commands when the process is running. Similar to BSD, data is sent to the user space at the end of the process. If not, select n.

[*] 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 ).

[*] Enable extended accounting over taskstats (experimental)

// Include the time spent by the extended process in the statistics

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

// The time spent by the I/O storage process in the statistical information

 

 

[] Auditing suppor

// Audit support. Some kernel modules (such as SELinux) Need It. You can audit system calls only when you select its subitem.

 

 

RCU subsystem --->

// A high-performance lock mechanism RCU sub-system. If you don't understand it, click the default one.

 

<*> Kernel. config support

// Set. the Config configuration information is stored in the kernel. Select it and its sub-item so that other users can get the Kernel configuration from/proc. In this case, you can use the existing configuration to reconfigure the kernel.

[*] Enable access to. config through/proc/config.gz

(15) kernel log buffer size: the size of the kernel log cache. Use the default value. 12 => 4 kb, 13 => 8 KB, 14 => 16 KB single processor, 15 => 32 KB multi processor, 16 => 64 kb for x86 numaq or IA-64, 17 => 128 kb for s/390.

 

[*] Control group support --->

// No information. Use the default

[] Enable deprecated sysfs features to support old userspace tools
// Some file systems (such as debugfs) provide interfaces for transferring large amounts of data from the kernel space to the user space.

 

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

-*-Namespaces support

// Namespace support. The server is allowed to provide different user name space services for different user information. If not, follow the default rules.
[] UTs namespace

// Namespace of the general terminal system. It allows containers. For example, vservers uses the UTS namespace to provide different UTs for different servers.
[] IPC namespace

// IPC namespace. you are not sure you can choose not to select
[*] User namespace (experimental)
[*] PID namespaces (experimental)
[] Network namespace

[] 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 choose not to select), no need, no need to select.

[] Optimize for size
// This option will replace the "-O2" parameter with "-OS" after the GCC command to get a smaller kernel. No need to select. A compiled kernel is only 7-10 MB. Some problems may occur when you select this option. It is best not to select. Sometimes, an incorrect binary code is generated. Of course, if it is embedded development, it is another matter.

[] Configure standard kernel features (for small systems) --->
// This is used to compile some special kernels, such as boot disks. You can choose not to use this option, and you do not have to worry about the sub-items below it.

Kernel performance events and counters --->

[] Disable heap randomization

// Disable random heap (heap is an application layer concept, that is, heap is invisible to the CPU. It can be implemented in multiple ways by the OS, 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 (slub (unqueued Allocator) -->

// 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

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

<> Oprofile system profiling

// Oprofile evaluation and performance monitoring tools, either of which is optional. I did not select either.

[] Kprobes

// Debug the kernel, which is not selected unless the kernel developer

Gcov-Based Kernel profiling --->

// By default

 

 

 

 

Related Article

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.