linux 下升级新内核

最近开始着手学习linux 内核编程,作为初学linux ,内核编译可谓是第一步,中间我也是碰见不少问题,下面将我的的编译过程贴出来,给大家做一个参考

1.首先,我们需要安装一切必要工具,为了一下方便,先切到root 用户

apt-get install build-essential kernel-package libncurses5-dev libqt3-headers 


kernel-package   (Debian 系统里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev  (meke menuconfig要调用的)
libqt3-headers   (make xconfig要调用的)
其他工具在升级过程中可以按提示安装


2.下面就要准备好需要的内核源码,可以在https://www.kernel.org/pub/linux/kernel/ 找到你想要的版本我的是linux-3.18.12.tar.gz

3.下载好后移动到一个空间较大的地方(至少10G),因为中间会生成大量中间文件,容量不够的话编译肯定失败!我就是开始不够后来有给虚拟机添加了一块磁盘

这里我放在/work/sourcecode/下

4.解压源码文件  tar -zxvf linux-3.18.12.tar.gz 若你下的是.tar.bz2需要tar -jxvf 文件名 的方式来解压

5.配置  这里就是定制内核的功能的,作为新手,建议还是默认即可。

make menuconfig 这是图形配置界面  直接save exit

6.开始编译安装新内核

make  //此过程会相当漫长,大概2-3个小时吧

make modules  //编译模块

make modules_install //安装模块

make install  //安装内核

最后创建 initrd文件:
mkinitramfs -o /boot/initrd.img-3.18.12  //这个是系统启动是需要的

7.将新内核和System.map移动到/boot下

# cp /work/sourcecode/linux-3.18.12/arch/x86/boot/bzImage /boot/vmlinuz-3.18.12

# cp /work/source/linux-3.18.12/System.map /boot/System.map-3.18.12   //注意上边的目录根据自己实际而定

# cd /boot (进入boot目录)

# rm –rf System.map (删除原来的连接)

# ln -s System.map-2.6.18 System.map (重新建立连接)

8.修改grub启动管理器

#vim  /boot/grub/grub.cfg  //不同的系统可能位置不太一样,但是大部分都是这个位置

menuentry 'Ubuntu 14.04,Linux 3.18.12' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867
linux /boot/vmlinuz-3.18.12 root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro   quiet splash
initrd /boot/initrd.img-3.18.12    //一定要确保以上两个文件存在否则无法启动
}


//这一步一般可以先复制原来内核的启动代码,然后吧后两行的路径改成新内核的就可以了。。。。。


还有你需要设置default = 0 目的是不让默认启动   set timeout = 10目的是10s的等待时间

ok现在重启吧


接下来很可能会出现save up waiting for root device  的错误而进不去新内核

不要着急  选择就内核进入,然后打开命令行

depmod -a
update-initramfs -k 3.18.12 -c
这个也许又会提示你不存在什么文件,无需理会,再次重启   成功进入了。。。。。恭喜你!!!


//以上过程若提示缺少什么工具,,直接安装即可!!!

以上过程主要参考两个帖子

http://www.cnblogs.com/devil-91/archive/2012/07/23/2605568.html

http://www.blogjava.net/badboyryan/archive/2007/04/27/114044.html



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值