一、Linux配置与编译
Linux具有可定制的优点,具体步骤如下:
1、清除临时文件、中间文件和配置文件
(1)make clean : 删除大部分产生的文件,但是保留配置文件
(2)make mrproper : 删除全部产生的文件和配置文件
(3)make distclean : 在make mrproper基础上再删除编辑器的补丁和备份文件
2、确定目标系统的软硬件配置情况,比如CPU的类型、网卡的型号、所需支持的网络协议
3、使用如下命令之一配置内核:
(1)make config : 基于文本模式的交互式配置
(2)make menuconfig : 基于文本模式的菜单型配置,(推荐使用)
(3)make oldconfig : 使用已有的配置文件(.config),
(4)make xconfig : 图形化的配置
使用配置命令后,会在内核源码的根目录下生成一个.config文件
注:实际应用中,并不需要我们对所有的配置选项逐一阅读,而是在某个已有的的配置上再配置
4、编译内核:
I、(1)make zimage (2)make bzimage
区别:在X86平台,zimage 只能用于小于512K的内核;另外如果想获取详细的编译信息则可以加上参数
make zimage V=1; make bzimage V=1;
II、编译好的内核位于 arch/<cpu>/boot 目录下
5、编译内核模块 : make modules
6、安装内核模块 : make modules_install,将编译好的内核模块从内核源代码目录 copy 至 /lib/modules 下
7、制作 init ramdisk:
mkinitrd initrd-$vsersion $version ,注意这个命令有两个参数,第一个参数我们一般习惯上取名方式是:initrd-$version, 第2个参数,就必须是 实际的内核版本号了,,eg:make
initrd-2.6.29 2.6.29
8、内核安装(eg:X86平台)
(1)cp arch/x86/boot/bzimage /boot/vmlinuz-$version //将bzimage文件拷贝到boot目录下,vmlinuz-$version 名字随便起,但我们一般以这种形式
(2)cp $initrd /boot/ //将rimdisk 也拷贝到/boot目录下
(3)修改/etc/grub.conf 或者 /etc/lilo.conf