LINUX学习笔记20—内核配置与编译

来源:互联网 发布:淘宝信誉等级怎么看 编辑:程序博客网 时间:2024/06/08 06:52
 

1.         清除临时文件,中间文件和配置文件:在顶层目录下执行

a)         Make clean:删除产生文件,保存配置文件

b)         Make mrproper:删除产生文件和配置文件

c)         Make distclean:删除mrproper+编辑文件和补丁文件

2.         确定目标系统的软硬件配置情况:比如CPU的类型、网卡的型号,所需支持的网络协议等

3.         配置内核方式:会生成.config文件,保存配置文件

a)         Make config:基于文本模式的交互式配置,问答形式

b)         Make menuconfig:基于文本模式的菜单型配置(推荐)

                                                     i.              *:对应Y:在编译的基础上,进行连接

                                                   ii.              m:对应m:进行编译不连接,将该功能编译成可以在需要时动态插入到内核中的模块。

                                                  iii.              空:对应N:不进行编译

c)         Make oldconfig:要求回答的配置项比较少,大部分默认

d)         Make xconfig:图形化的配置

4.         内核配置项选择方法:参考内核配置文档

a)         方法:利用已有的内核配置参考文件,在这基础上进行配置

b)         找到配置文件:

                                                     i.              如arm开发板的:进入arch—arm—config目录中有很多

                                                   ii.              如红帽企业版5的内核:/boot/

c)         拷贝文件到.CONFIG所在的目录层次

d)         再进行上一步的配置内核,修改自己需要的内容,

5.         编译内核:这步编译的是内核核心文件

a)         Make zImage(大写i):在X86平台,只能用于小于512K的内核

b)         Make bzlmage:

c)         Make zlmage V=1:能获取详细的编译信息,便于查错

d)         编译好的内核位于:arch/<cpu>/boot/目录下

e)         需要的时间挺久的

6.         编译内核模块:make modules  :这步编译的是刚才配置的内核模块

7.         安装内核模块:make modules_install

a)         作用:将编译好的内核模块从内核源代码目录copy至/lib/modules下

8.         制作Init ramdisk  内存盘

a)         Mkinitrd initrd-$version $version 前一个变量可自己取,后一个变量是/lib/modules下的目录名,这个目录是安装内核时产生的

b)         例:Mkinitrd initrd-2.6.29 2.6.29   当前使用的内核版本号

9.         虚拟机中安装内核

a)         Cp arch/x86/boot/bzlmage  /boot/vmlinuz-$version版本号

b)         Cp $initrd  /boot/

c)         修改/etc/grub.conf或者/etc/lilo.conf

                                                     i.              注意是否多系统启动:

                                                   ii.              注意拷贝后修改TITLE后面的内容,一个TITLE代表一个启动项

                                                  iii.              TITLE后面的是名字,可以改

                                                  iv.              修改/vmlinuz-2.6.29

修改/initrd-2.6.29
原创粉丝点击