ubuntu linux内核编译

一)准备工作  
      在编译linux内核时首先要安装一些tools,如:gcc,make,make-kpkg等; 
      安装软件包有:build-essential,kernel-package,qt库等 
      1)build-essential :里面有gcc,make等; 
      2)kernel-package:里面有make-kpkg等; 
      3)qt库:主要是为了用make xconfig图形界面配置,需安装libqt3-headers,libqt3-mt-dev 
      4)libncurses5-dev:主要是为了用make menuconfig; 
      5)qtk库:主要用于make gconfig;  
      对于3,4,5一般选择其中一个就行,我是选择make xconfig来配置内核; 
      安装方法: 
      sudo apt-get install build-essential  安装build-essential 
      sudo apt-get install kernel-package  安装kernel-package 

      sudo apt-get install  libncurses5-dev 安装libncurses5-dev  

      sudo apt-get install libqt3-headers libqt3-mt-dev libqt3-mt libqt3-compat-headers  

二)源码准备 
      1)下载 linux的源代码:http://www.kernel.org/ 下载full版本

三) 进入Linux内核源码所在的目录(cd Linux内核),解压该内核代码到/usr/src下: 

      sudo tar -xjvf linux-2.6.33.1.tar.bz2 -C /usr/src 

四) 进入Linux内核源码解压后的目录/usr/src/linux-2.6.33.1

      sudo make mrproper         净化解压后的源代码 
      sudo make menuconfig     对内核选项进行配置


五) 编译内核

     1)传统方式

      sudo make dep         建立模块间的依赖信息 
      sudo make clean       删除配置时留下的一些不用的文件 

      sudo make bzImage     编译内核,内核较小时可以用make zImage 

         

      sudo make modules    编译内核模块
      sudo make modules_install   安装内核模块 
      sudo make install           安装内核

         1、配置内核
            最常用的配置内核的方法是“make menuconfig”。“make config”太简陋,“make xconfig”虽然更加直观,但需要庞大的qt类库支持,menuconfig            应该是最佳的折中。
         2、编译内核和模块
            依次执行“make”、“make modules”、“make modules_install”、“make install”,如果前面的配置没有问题的话,耐心等待一段时间就可以得到               编译好的内核和模块了。
         3、生成initramfs并配置Grub
           经过第二个步骤的“make install”,kbuild系统会把生成的内核镜像拷贝到INSTALL_PATH路径下(默认这个路径是/boot),但这时并不能使                  用,我们必须配置手动Grub才可以。另外,很多发行版会使用initramfs来做引导之用(还有部分发行版采用initrd),我们还需要为我们的新内              核手动生成initramfs镜像(请参考制作initramfs/initrd镜像)。

    编译的另外方法

       如果您是Ubuntu/Debian的用户,可以使用make-kpkg简化这个流程,而且还能带来其他额外的好处。
        在Ubuntu下,安装kernel-package这个包之后,就可以使用make-kpkg了。
        sudo apt-get install kernel-package

      ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单
   相关命令:
      $sudo make-kpkg clean   这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。
      $sudo make-kpkg --initrd --append-to-version=t61 kernel_image kernel_headers

      上述命令中的t61可以用自己喜欢的字符代替

      在此我修改为:$sudo make-kpkg --initrd --append-to-version=qinmy1 kernel_image kernel_headers

      a、--initrd选项会让make-kpkg自动帮我们生成initramfs;
      b、--revision会给生成的deb文件加上一个版本信息。这个参数只是影响到文件名,如果不指定,默认会是“10.00.Custom”
      c、--append-to-version也是一种版本信息,它不仅出现在deb安装包的文件名里,也会影响到kernel的名称,比如下例中,内核更新完成之后,               用“uname -r”察看会得到“2.6.36-20110107”;
      d、kernel_image表示生成内核和默认模块的安装包,另外您也可以加上kernel_headers,这样make-kpkg会再生成一个内核头文件的安装包。

        如果:

         sudo make-kpkg  --initrd --revision wwang.001 --append-to-version -20110107 kernel_image
         编译过程执行完毕之后,会在上层目录里生成一个deb安装包,本例中生成的安装包的文件名是“linux-image-2.6.36-
20110107_wwang.001_i386.deb”。

        编译过程执行完毕之后,会在上层目录里生成一个deb安装包。


六) 内核安装:

       之后我们就可以用dpkg命令或者在文件浏览器中双击安装了,安装完毕之后,直接重启就可以选择进入新的内核

      cd ..    返回上级目录  
      sudo dpkg -i   linux-image-(按tab键) 文件名很长,如果不用tab自动补足是不可能的。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

minyuanxiani

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值