日期:2014-05-16  浏览次数:20605 次

【转】 Gentoo Linux内核配置

(转自:http://blog.csdn.net/unsigned_/article/details/6123426)

基于Linux Kernel v2.6.36-gentoo-r5

General setup --->

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

//默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。


() Cross-compiler tool prefix
//交叉编译工具前缀,如果你要使用交叉编译工具的话输入相关前缀。默认不使用。不需要

() Local version - append to kernel release
//自定义版本,也就是uname -r可以看到的版本,可以自行修改,这里我没有使用,没多大意义。

[ ] Automatically append version information to the version string
//自动生成版本信息。这个选项会自动探测你的内核并且生成相应的版本,使之不会和原先的重复。这需要Perl的支持。由于在编译的命令make-kpkg 中我们会加入- – append-to-version 选项来生成自定义版本,所以这里选N。


Kernel compression mode (Gzip) --->
//有四个选项,这个选项是说内核镜像要用的压缩模式,回车一下,可以看到gzip,bzip2,lzma,lxo,一般可以按默认的gzip,如果要用bzip2,lzma,lzo,要先安装相关解压缩工具

?

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

//使你的内核支持虚拟内存

?

[*]System V IPC

//为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。?

?

[*]POSIX Message Queues

//这是POSIX的消息队列,它同样是一种IPC。建议你最好将它选上。

?

[*]BSD Process Accounting

//这是允许用户进程访问内核,将账户信息写入文件中。这通常被认为是个好主意,建议你最好将它选上。将进程的统计信息写入文件的用户级系统调用,主要包括进程的创建时间/创建者/内存占用等信息。

?

[*]? BSD Process Accounting version 3 file format?

//选用的话统计信息将会以新的格式(V3)写入,这格式包含进程ID和父进程。注意这个格式和以前的 v0/v1/v2 格式不兼容,所以你需要 升级相关工具来使用它。选不选均可。

?

[*]Export task/process statistics through netlink (EXPERIMENTAL)

//处于实验阶段的功能。通过通用的网络输出工作/进程的相应数据,和BSD不同的是,这些数据在进程运行的时候就可以通过相关命令访问。和BSD类似,数据将在进程结束时送入用户空间。如果不清楚,选N。

?

[*]? Enable per-task delay accounting (EXPERIMENTAL)

//在统计信息中包含进程等候系统资源(cpu,IO同步,内存交换等)所花费的时间

?

[*]? Enable extended accounting over taskstats (EXPERIMENTAL)

//在统计信息中包含扩展进程所花费的时间 ? ?

?

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

//在统计信息中包含I/O存储进程所花费的时间

[]Auditing suppor
//审计支持,某些内核模块(例如SELinux)需要它,只有同时选择其子项才能对系统调用进行审计,不选。


RCU Subsystem --->
//一个高性能的锁机制RCU 子系统,不懂不了解,按默认吧。

<*> Kernel .config support
//将.config配置信息保存在内核中,选上它及它的子项使得其它用户能从/proc中得到内核的配置,选上,重新配置内核时可以利用已有配置

?

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


(15)Kernel log buffer size:内核日志缓存的大小,使用默认值即可。12 => 4 KB,13 => 8 KB,14 => 16 KB单处理器,15 => 32 KB多处理器,16 => 64 KB for x86 NUMAQ or IA-64,17 => 128 KB for S/390。

?

[*]Control Group support --->

//信息暂无,使用默认

[ ] enable deprecated sysfs features to support old userspace tools
//在某些文件系统上(比如debugfs)提供从内核空间向用户空间传递大量数据的接口,不选吧。

-*- Kernel->user space relay support (formerly relayfs)

-*- Namespaces support
//命名空间支持,允许服务器为不同的用户信息提供不 同的用户名空间服务,如果不是很清楚的话,按照默认吧

?

[ ] UTS namespace
//通用终端系统的命名空间。它允许容器,比如Vservers利用UTS命名空间来为不同的服务器提供不同 的UTS。

?

[ ] IPC namespace
//IPC命名空间,不确定可以不选

?

[*]User namespace (EXPERIMENTAL)

?

[*]PID Namespaces (EXPERIMENTAL)

?

[ ] Network namespace

[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support
//初始RAM的文件和RAM磁盘( initramfs /initrd)支持(如果要采用initrd启动则要选择,否则可以不选),不需要,不用选。

[ ] Optimize for size
//这个选项将在GCC命令后用 “-Os” 代替 “-O2″参数,这样可以得到更小的内核。没必要选。一个编译好的内核才7-10多M。选上了可能会出一些问题。最好不选。有时会产生错误的二进制代码。当然,如果是做嵌入式开发另当别论。

[ ] Configure standard kernel features (for small systems) --->
//这是为了编译某些特殊的内核使用的,例如引导盘,通常你可以不选择这一选项,你也不用对它下面的子项操心了。

?

Kernel Performance Events And Counters --->

[ ] Disable heap randomization
//禁用随机heap(heap堆是一个应用层的概念,即堆对CPU是不可见的,它的实现方式有多种,可以由OS 实现,也可以由运行库实现,如果你愿意,你也可以在一个栈中来实现一个堆),选不选均可。

?