LINUX

linux 2.6内核配置选项注解

日期:2015/6/28来源: IT猫扑网

  inux 2.6.15.6内核配置(unfinished)

  注意: 不同的内核版本配置选项(或组织)可能不同, 但原理都是一样的!

  另外, 关于compile in, compile as module的选择: 根文件系统, 根文件系统所处的设备, PS/2鼠标驱动不能编译为模块!

  Code maturity level options --->

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

  ; 选择尚未完全测试的代码(alpha-test态),事实上它是安全的,建议选择.

  [*] Select only drivers expected to compile cleanly  (y)

  ; 隐藏可能存在问题的驱动,建议选择,如果没找到对应设备的驱动,将它取消试试.

  General setup --->

  ()  Local version - append to kernel release (enter,输入字符窜)

  ; 从2.6.8的版本起,可以在内核版本号后面添加个性化字符窜.

  [ ] Automatically append version information to the version string (NEW)  (n)

  ; 这个没看懂,先不选上.

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

  ; 如果使用了swap分区提供虚拟内存,一定要选上它.

  [*] System V IPC (y)

  ; System V 的进程间通信, 选上.

  [*] POSIX Message Queues (y)

  ; POSIX消息队列, 选上.

  [*] BSD Process Accounting (y)

  ; 如果选上,user process可以通过系统调用使内核在它退出时将相关信息写入某个文件(如进程创建时间,拥有者,命令,内存使用量...)

  选上它,可以在应用程序中利用这些信息.

  [*] BSD Process Accounting version 3 file format (y)

  ; 将前面所述的进程信息记录到v3格式的文件中, 选上它

  [*] Sysctl support (y)

  ; 提供动态更改内核参数与变量的接口, 而不需要重新启动系统. 打开这个选项将会增加内核的体积至少8KB。

  如果你的内核仅用制作安装与恢复系统系统盘那么可以不选, 以减少对内存的占用.

  [ ] Auditing support  (n)

  ; 允许其他内核子系统的内核审查,不知道什么鸟意思,不选上.

  [*] Kernel Userspace Events  (y)

  ; 开启内核-用户空间事件层,它是比socket简单的kernel-user通信机制. 这样应用程序就可以通过监听不用轮询系统设备或文件

  [ ] Kernel .config support  (n)

  ; 将.config文件编译到内核中, 以显示运行中的内核使用哪个选项.不要选择.

  ()  Initramfs source file(s)  (n)

  ; 好像是RAM FS初始化的吧,不知道什么鸟东西,不选!

  [ ] Optimize for size (Look out for broken compilers!)  (n)

  ; 用gcc编译内核时,优化选项是 -O2,选择它将改为-Os, 生成比较小的内核.(老版本的gcc可能因此产生错误代码)

  [ ] Configure standard kernel features (for small systems)  ---> (n)

  ; 针对小系统 (embedded)裁减内核, 桌面系统不用选择.

  Loadable module support  --->

  [*] Enable loadable module support   (y)

  ; 使内核支持模块,当然要选择! (使用modprobe, lsmod, modinfo, insmod, rmmod工具...)

  [*] Module unloading (y)

  ; 卸载模块,选择!(有些模块一旦加载就不能卸载, 不管是否选择了这个选项)

  [*] Forced module unloading  (y)

  ; 强制卸载内核, 即便内核认为该行为不安全的时候.( rmmod -f 强制卸载,不等停止使用模块)

  [ ]  Module versioning support (EXPERIMENTAL)  (n)

  ; 一般地,我们编译的模块是用于当前运行的内核, 选择该选项可以针对其他的内核编译模块. 先不选择.

  [ ] Source checksum for all modules (n)

  ; 查看模块中是哪些代码的,不选

  [*]  Automatic kernel module loading   (y)

  ; 内核在任务中要使用一些被编译为模块的驱动或特性时, 先使用modprobe命令来加载它

  该选项自动调用modprobe加载需要的模块.当然选择!

  Block layer  --->

  [ ] Support for Large Block Devices (n)

  ; 如果有超过2T的块设备,则选择它以支持大容量块设备

  [ ] IO Schedulers  --->

  <*> Anticipatory I/O scheduler   (y)

  <*> Deadline I/O scheduler  (y)

  <*> CFQ I/O scheduler    (y)

  Default I/O scheduler (Anticipatory)  --->

  (X) Anticipatory

  上述3中调度方式都选择,默认的调度方式选为anticipatory (按空格选择)

  Processor type and features  --->

  Subarchitecture Type (PC-compatible)  --->

  ; 用的PC,选PC-compatible

  Processor family (Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon)  --->

  ; 选择CPU类型, 可通过 cat /proc/cpuinfo查看

  [ ] Generic x86 support   (n)

  ; 如果没有列出你所使用的CPU类型,而你的CPU又是X86的,选上它,否则不选.它增加了通用性却降低了特定CPU的性能.

  [*] HPET Timer Support   (y)

  ; 这也是一个新的特性,HPET是intel制定的新的用以代替传统的8254(PIT)中断定时器与RTC的定时器,全称叫作高精度事件定时器。如果你有一台较新的机器就选它吧,一般它是一个安全的选项, 即使你的硬件不支持HPET也不会造成问题,因为它会自动用8254替换。

#p#副标题#e#

  [ ] Symmetric multi-processing support  (n)

  ; 只有一个CPU,SMP不用选择

  Preemption Model (Preemptible Kernel (Low-Latency Desktop))  --->

  (X) Preemptible Kernel (Low-Latency Desktop)

  ; 2.6内核的特点:抢占式内核.选择可抢占式内核以提升桌面系统的交互性能或实时性.

  [*] Preempt The Big Kernel Lock (NEW)  (y)

  ; 抢占大内核锁?不清楚,不过选择了可加强桌面系统性能.

  [*] Local APIC support on uniprocessors  (y)

  ; 单CPU的本地APIC (advanced programmable interrupt controller)支持,它内嵌在cpu中支持cpu自身产生的中断.建议选择,就算cpu不支持APIC,也没有影响.

  [*] IO-APIC support on uniprocessors  (y)

  ; 同上,支持I/O高级可编程中断控制器.

  [*] Machine Check Exception  (y)

  ; 如果系统出现问题, 内核采取一定的措施,比如打印警告信息或挂起系统.

  cat /proc/cpuinfo | grep mce 若CPU flags中有mce,

  这个功能是需要硬件支持的。你可以查看/proc/cpuinfo看看是否有mce标志,则说明CPU支持该选项.

  启动时加nomce参数可关闭它.

  < > Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4  (n)

  ; 启动一个5秒的定时器,跟踪非致命错误并更正,记录它.如果不是特定的CPU,不要选择.(我的本本是Pentium M,不选择)

  [ ] check for P4 thermal throttling interrupt.

  ; P4的CPU温度过高时会在屏幕上显示出相关的信息,只适用于Pentium 4

  < > Toshiba Laptop support  (n)

  < > Dell laptop support     (n)

  ; 上述两项都针对东芝和戴尔IInspire 8000笔记本,不选.

  < > Enable X86 board specific fixups for reboot (n)

  ; 修正主板/芯片组以正确重启或工作,目前只针对 GX1, CS5530A, TROM2.1

  lspci -v | grep CX1 ...若系统不支持,则不用选择. (?我说错了好像)

  < > /dev/cpu/microcode - Intel IA32 CPU microcode support  (n)

  ; 更新intell IA32 cpu的微码(内核是不自带的,需要另外下载)

  < > /dev/cpu/*/msr - Model-specific register support   (n)

  ; 让privileged进程访问X86的MSRs(model-specific registers),一般用于intel的Embedded cpu.

  < > /dev/cpu/*/cpuid - CPU information support  (n)

  ; 在/dev/cpu中建立一系列的设备文件, 以使过程访问指定的CPU.

  Firmware Drivers  --->

  < > BIOS Enhanced Disk Drive calls determine boot disk (EXPERIMENTAL)  (n)

  ; 可以打开实模式下BIOS中的增强磁盘设备服务,以决定从哪个磁盘上启动.一般的BIOS不支持.

  < > BIOS update support for DELL systems via sysfs  (n)

  ; 戴尔的BIOS更新系统,需要一些应用软件的支持.

  < > Dell Systems Management Base Driver   (n)

  ; 为上述的DELL BIOS更新系统提供sysfs借口,先不设,以后再研究.我的本本是Dell D600.

  High Memory S

相关文章

相关下载

网友评论

我要评论...
    没有更早的评论了
    取消