Linux内核定制优化配置

2020-06-03 11:27

五、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.conf

这个脚本程序会读取原配置文件modules.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.38.4.tar.gz -----解压缩.

II. 将名为linux的符号链接删掉,这是旧版本内核的符号链接. #ln -s linux-2.6.38.4 linux ------建立linux-2.6.38.4的符号链接linux.

(4)设置内核. # cd /usr/src/linux

# make mrproper -----删除不必要的文件和目录. #make menuconfig 生成一个.config文件

Linux 内核的裁剪与编译看上去是个挺简单的过程。只是对配置菜单的简单选择。但是内核配置菜单本身结构庞大,内容复杂。具体如何选择却难住了不少人。因此熟悉与了解该菜单的各项具体含义就显得比较重要。我们现在就对其作一些必要介绍: Linux 内核的编译菜单有好几个版本,运行:

1)make config:进入命令行,可以一行一行的配置,这不好使用所以我们不具体介绍。 2)make menuconfig:进入我们熟悉的 menuconfig 菜单,相信很多人对此都不陌生。 3)make xconfig:在2.4.X 以及以前版本中 xconfig 菜单是基于 TCL/TK 的图形库的。 所有内核配置菜单都是通过 Config.in 经由不同脚本解释器产生.config。而目前刚刚推出的 2.6.X 内核用 QT 图形库。由 KConfig 经由脚本解释器产生。这两版本差别还挺大。从我

个人角度就是爱用新东西。2.6.X的 xconfig菜单结构清晰,使用也更方便。但基于目前2.4.X 版本比较成熟,稳定,用的最多。所以这里我还是以 2.4.X 版本为基础介绍相关裁剪内容。同时因为 xconfig 界面比较友好,大家容易掌握。但它却没有 menuconfig 菜单稳定。有些人机器跑不起来。所以考虑最大众化角度,我们以较稳定,且不够友好的menuconfig为主进行介绍,它会用了,Xconfig 就没问题。 2.4.X 版本 xconfig 配置菜单,2.4.X 版本menuconfig 配置菜单,2.6.X 版本 xconfig 配置菜单分别如图 4.1.4,4.1.5,4.1.6 所示:

图4.1.4 2.4.menuconfig配置菜单

在选择相应的配置时,有三种选择方式,它们分别代表的含义如下: Y--将该功能编译进内核 N--不将该功能编译进内核

M--将该功能编译成可以在需要时动态插入到内核中的模块

如果你是使用的是 make xconfig,那使用鼠标就可以选择对应的选项。这里使用的是 make menuconfig,所以需要使用空格键进行选取。在每一个选项前都有一个括号, 有的是中括 号有的是尖括号,还有圆括号。用空格键选择时可以发现,中括号里要么是空,要么是\, 而尖括号里可以是空,\和\这表示前者对应的项要么不要,要么编译到内核里;后者 则多一样选择,可以编译成模块。而圆括号的内容是要你在所提供的几个选项中选择一项。 (注:其中有不少选项是目标板开发人员加的,对于陌生选项,自己不知道该选什么时建议 使用默认值)

下面我们来看看具体配置菜单,进入内核所在目录,键入 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-) 1.3、Local version - append to kernel release

内核显示的版本信息,填入 64字符以内的字符串,你在这里填上的字符口串可以用uname -a命令看到。

1.4、 Automatically append version information to the version string

自动在版本字符串后面添加版本信息,编译时需要有perl以及git仓库支持 1.5、Kernel compression mode (Gzip) --->

有四个选项,这个选项是说内核镜像要用的压缩模式,回车一下,可以看到gzip,bzip2,lzma,lxo,一般可以按默认的gzip,如果要用bzip2,lzma,lxo要先装上支持

1.6、Support for paging of anonymous memory (swap) 使用交换分区或交换文件来做为虚拟内存,一定要选上。 1.7、System V IPC

表示系统的进程间通信Inter Process Communication,它用于处理器在程序之间同步和交换信息,如果不选这项,很多程序运行不起来,必选。 1.8、POSIX Message Queues

POSIX标准的消息队列,它同样是一种IPC。建议你最好将它选上 1.9、BSD Process Accounting

用户进程访问内核时将进程信息写入文件中。通常主要包括进程的创建时间/创建者/内存占用等信息。建议最好选上。

BSD Process Accounting version 3 file format

使用新的第三版文件格式,可以包含每个进程的PID和其父进程的PID,但是不兼容老版本的文件格式。

1.11、Export task/process statistics through netlink (EXPERIMENTAL)

通过netlink接口向用户空间导出任务/进程的统计信息,与BSD Process Accounting的不同之处在于这些统计信息在整个任务/进程生存期都是可用的

Enable per-task delay accounting (EXPERIMENTAL)

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

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

1.12、Auditing support

审记支持,用于和内核的某些子模块同时工作,例如Security Enhanced Linux。只有选择此项及它的子项,才能调用有关审记的系统调用。 1.13、Enable system-call auditing support 支持对系统调用的审计 1.14、IRQ subsystem ---> 中断子系统

Support sparse irq numbering <=== 支持稀有的中断编号,关闭

1.15、RCU Subsystem --->


Linux内核定制优化配置.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小微企业 产品创新

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: