现在的位置: 首页 > 综合 > 正文

Linux内核驱动(一):2、Linux内核配置与编译

2013年09月04日 ⁄ 综合 ⁄ 共 1161字 ⁄ 字号 评论关闭

一、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

抱歉!评论已关闭.