Linux内核配置具体过程

Linux内核配置的方法很多,make config、make xconfig、make menuconfig、make oldconfig等等,它们的功能都是一样的,区别应该从名字上就能看出来,只有make oldconfig是指用系统当前的设置(./.config)作为缺省值。这里用的是make menuconfig。

需要牢记:不必要的驱动越多,内核就越大,不仅运行速度慢、占用内存多,在少数情况下、还会引发其他问题。具体过程如下:

首先确定shell是bash。

然后

$make menuconfig

有一些默认的符号其含义如下:

y:加载

n:不加载

m:作为模块加载

可以配置的选项有以下一些:

1)code maturity level option 代码成熟度

prompt for development and/or incomplete code/drivers [N/y/?]

如果有兴趣测试一下内核中尚未最终完成的某些模块,就选y,否则选N,想知道更详细的信息选?会看到联机帮助(以下?的含义相同),N大写表示缺省值。

2)processor type and features 处理器类型及特性

Processor family(386,486/Cx486,586/K5/5x86/6x86,Pentium/K6/TSC, PPro/6x86MX)[PPro/6x86MX]

[]内的是缺省值,我们可以根据前面介绍的uname 命令执行的结果选择。此项如果高于386,那么生成的内核在386机器上将不能启动。

Math emulation(CONFIG_MATH_EMULATION)[N/y/?]

需要进行协处理器模拟吗?一般的机器都回n。如果机器已经有硬件的协处理器,那么内核仍将使用硬件,而忽略软件的math-emulation,这将使内核变大变慢。

MTRR(Memory Type Range Register)support(CONFIG_MTRR)[N/y/?]

在Pentium、Pro/Pentium II类的系统中可以提高图像写入速度。

Symmetric multi-processing support(CONFIG_SMP)[Y/n/?]

如果您的机器有多个处理器,就选y。此时要选中下面的Enhanced Real Time Clock Support

3)loadable model support 可加载模块支持

Enable loadable module support(CONFIG_MODULES)[Y/n/?]

最好选y,不然许多仅供动态加载的模块就不能用了。

Set version information on all symbols for modules(CONFIG_MODVERSIONS)[N/y/?]

选N

Kernel module loader(CONFIG_KMOD)[N/y/?]

4)general setup 一般设置

Networking support(CONFIG_NET)[Y/n/?]

选y吧,现在还有几台计算机不用上网呢?

PCI support (CONFIG_PCI)[Y/n/?]

PCI 总线和设备总该有吧。

PCI access mode(BIOS,Direct,Any)[Any]

缺省值比较保险,但如果您对您的主板很有信心,就选BIOS。

PCI quirks (CONFIG_PCI_QUIRKS)[Y/n/?]

用于修补BIOS中对PCI有影响的BUG,同样,如果您对主板很有信心,就选n。

Backward-compatible /proc/pci〉(CONFIG_PCI_OLD_PROC)[Y/n/?]

以前的内核使用/proc/pci,新版内核使用/proc/bus/pci,要保持兼容性就选y。

MCA support(CONFIG_MCA)[N/y/?]

查看帮助吧。

SGI Visual Workstation support(CONFIG_VISWS)[N/y/?]

您的机器是SGI的吗?是就选y。

System V IPC(CONFIG_SYSVIPC)[Y/n/?]

进程间通信函数和系统调用。Linux内核的五大组成部分之一,一定要选。

BSD Process Accounting(CONFIG_BSD_PROCESS_ACCT)[N/y/?]

用于启动由内核将进程信息写入文件的用户级系统调用。就看您想不想用它了。

Sysctl support(CONFIG_SYSCTL)[Y/n/?]

在内核正在运行的时候修改内核。用8KB空间换取某种方便。别选吧,除非你真的想试试。

Kernel support for a.out binaries(CONFIG_BINFMT_AOUT)[Y/m/n/?]

为了能使用以前编译的程序,选y。

Kernel support for ELF binaries(CONFIG_BINFMT_ELF)[Y/m/n/?]

为了能使用现在编译的程序,选y。

Kernel support for MISC binaries(CONFIG_BINFMT_MISC)[Y/m/n/?]

一般选y,用于支持java等代码的自动执行。

Parallel port support(CONFIG_PARPORT)[N/y/m/?]

并口设备,如打印机。

相关推荐