ubuntu12.04下编译更新linux3.12.6内核

     上次编译并运行了3.0.4的内核,已经过去两年多了,这次更新了12.04的ubuntu,但是12.04版本的ubuntu内核支持仅停留在3.8系列上面,所以从kernel官网下载了最新的稳定版本3.12.6来进行编译替换。

     1.首先还是应该先下载内核,经典的kernel.org,选择最新的长期支持稳定版本3.12.6,linux-3.12.6.tar.xz。

         下载后解压 tar  xvf linux-3.12.6.tar .xz,然后cd 进入源代码目录

  

     2.配置内核,使用make  menuconfig,这个图形化界面需要一些库的支持,详情见http://blog.csdn.net/gexueyuan/article/details/6923938,选择我们需要的配置。一个简单有效的方法就是,使用cp  /boot/config-`uname -r`  ./.config,这个简单命令把当前使用的内核配置拷贝到源代码目录,并且保存为.config。


   3.编译内核,使用make命令,如果电脑具有多线程,可以使用多线程编译,比如四线程:make -j4,这里的make命令其实相当与手工执行了make bzImage和make modules。

    make  bzImage 会在源代码目录的arch/x86/boot下生成名为bzImage的压缩内核镜像文件

    make  modules则会在各个目录生成大量的*.ko文件,是模块化的内核驱动


4.安装内核和内核模块,这时候需要使用root权限。

    sudo  make modules_install    安装内核模块,就是把刚才编译好的内核模块从散落在的各个子目录拷贝到系统文件夹/lib/modules/3.12.6下,以供内核调用

    sudo  make install    会把生成的内核拷贝到/boot目录下更名为vmlinux-3.12.6,并且把System.map文件也拷贝到/boot目录下,并且更名为System.map-3.12.6,然后自动生成引导菜单,更新grub2

    sudo mkinitramfs -o /boot/initrd-linux3.12.6.img  3.12.6   建立ramdisk映像文件,后面的数字3.12.6是指定的内核版本,要和/lib/modules,目录下的对应内核模块文件夹名字相同


   以上三个命令,没有一定顺序,可以随意执行,执行完毕。重新启动,在ubuntu的启动菜单就能看见我们的内核选项。

   ubuntu这个系统已经帮我门做了很多工作,包括自动更新grub等,所以在ubuntu下更新自制内核还是一件很傻瓜式的事情。














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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值