Linux内核定制优化配置
五、Linux内核裁减
(1)安装module-init-tools-3.0.tar.gz: # tar -zxvf module-init-tools-3.0.tar.gz # cd module-init-tools-3.0 # ./configure --prefix=/sbin # make # make install # ./generate-modprobe.conf /etc/modprobe.confmodules.conf的内容,经过格式转化后,生成新的配置文件/etc/modprobe.conf。
不知道为什么,我用module-init-tools-3.1时make出错。如果改用3.0的就没事了。 (2)安装modutils-2.4.25-8.9.i386.rpm: # rpm -Uvih modutils-2.4.25-8.9.i386.rpm 对modutils进行升级。 -U, --upgrade=+ upgrade package(s)(3)安装新内核: 将新内核copy到/usr/src下, #tar xzvf linux-2.6..tar.gz 解压缩. II. 将名为linux的符号链接删掉,这旧版本内核的符号链接. #ln -s linux-2.6. linux 建立linux-2.6.的符号链接linux. 设置内核. # cd /usr/src/linux # make mrproper 删除不必要的文件和目录.#make menuconfig生成一个.config文件
图4.1.4 2.4.menuconfig配置菜单
在选择相应的配置时,有三种选择方式,它们分别代表的含义如下:
Y--将该功能编译进内核
N--不将该功能编译进内核
M--将该功能编译成可以在需要时动态插入到内核中的模块
如果你是使用的是 make xconfig,那使用鼠标就可以选择对应的选项。这里使用的是 make
menuconfig,所以需要使用空格键进行选取。在每一个选项前都有一个括号, 有的是中括
号有的是尖括号,还有圆括号。用空格键选择时可以发现,中括号里要么是空,要么是"*",
而尖括号里可以是空,"*"和"M"这表示前者对应的项要么不要,要么编译到内核里;后者
则多一样选择,可以编译成模块。而圆括号的内容是要你在所提供的几个选项中选择一项。
(注:其中有不少选项是目标板开发人员加的,对于陌生选项,自己不知道该选什么时建议
使用默认值)
下面我们来看看具体配置菜单,进入内核所在目录,键入 make menuconfig 你就会看到配
置菜单具有如下一些项:
内核编译选项
1、General setup
代码成熟度选项,它又有子项:
1.1、prompt for development and/or incomplete code/drivers
该选项是对那些还在测试阶段的代码,驱动模块等的支持。一般应该选这个选项,除非你只是想使用 LINUX 中已经完全稳定的东西。但这样有时对系统性能影响挺大。
1.2、Cross-compiler tool prefix
交叉编译工具前缀,例如:Cross-compiler tool prefix 值为: (arm-linux-)Local version - append to kernel release
内核显示的版本信息填入 64字符以内的字符串,你在这里填上的字符口串可以用uname -a命令看到?Automatically append version information to the version string
自动在版本字符串后面添加版本信息,编译时需要有perl以及git仓库支持Kernel compression mode (Gzip) >
有四个选项,这个选项是说内核镜像要用的压缩模式,回车一下,可以看到gzip,bzip2,lzma,lxo,一般可以按默认的gzip,如果要用bzip2,lzma,lxo要先装上支持Support for paging of anonymous memory (swap)
?使用交换分区或交换文件来做为虚拟内存,一定要选上。System V IPC
表示系统的进程间通信Inter Process Communication,它用于处理器在程序之间同步和交换信息,如果不选这项,很多程序运行不起来,必选。POSIX Message Queues
POSIX标准的消息队列,它同样是一种IPC。建议你最好将它选上BSD Process Accounting
用