Chinaunix首页 | 论坛 | 博客
  • 博客访问: 302549
  • 博文数量: 68
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 706
  • 用 户 组: 普通用户
  • 注册时间: 2015-08-13 14:58
文章分类

全部博文(68)

文章存档

2021年(4)

2020年(6)

2018年(5)

2017年(13)

2016年(8)

2015年(32)

我的朋友

分类: C/C++

2017-11-30 14:21:57

1.升级环境 

  • 系统版本: Ubuntu 12.04 LTS
  • Kernel版本:3.2.0.51
  • 升级的目标kernel:3.6.0

  • 2.下载内核 
    从下载kernel源码linux-3.6.tar.gz,解码到/usr/src或工作目录下,角解码到工作目录下: 

  • tar zxvf /home/liulijun/linux-3.6.tar.gz

  • 3.清除旧的编译文件和配置文件 

  • cd linux-3.6 
  • sudo make mrproper //清除以前曾经编译过的旧文件和配置文件(第一次编译不用执行)

  • 4.配置内核 
    可以使用当前正在使用的内核的配置文件,也可以自己新创建一个内核配置文件,我使用的是当前正在使用的内核的配置文件,按如下方式操作: 

  • cd linux-3.6 
  • cp /boot/config-3.2.0-51-generic-pae ./.config 
  • make menuconfig 
    会弹出Linux/i386 3.6.0 Kernel Configuration的对话框,在该界面上选中“Load an Alternate Configuration File”,如下图: 
    这里写图片描述 
    按Enter键,弹出另一个对话框,如下图: 
    这里写图片描述 
    在红框中输入配置文件名(默认为.config),选中”ok”,按Enter键退出到上图中,然后再退出,最终会弹出是否保存配置文件的对话框,如下图: 
    这里写图片描述 
    选中“Yes”,按Enter键保存。

  • 5.编译和安装内核 

  • cd linux-3.6 
  • make –jN(其中N代表同时允许多少个任务进行编译) 
  • sudo make modules_install //安装模块,最终会将模块安装在/lib/modules/3.6.0+下,其中3.6.0代表安装的内核版本 
  • sudo make install //安装内核,会将新内核编译出的System.map, initrd.img, vmlinuz, config文件拷贝到/boot文件夹中,如下图红框中是拷贝的文件: 
    这里写图片描述 
    此外,该步骤还会更新/boot/grub/menu.list(如果没有该文件会提示生成)列表,将新安装的内核添加到该文件中。

  • 6.更新配置grub引导列表 
    grub在引导系统时是通过其配置文件grub.cfg进行引导的,为了能够让grub默认引导新安装的内核必须配置grub.cfg。 

  • cd /boot/grub 
  • sudo chmod 644 grub.cfg 
    参考grub.cfg中已有的menuentry,将新内核的menuentry放在已有内核的menuentry前面(因为grub.cfg中默认启动第一个内核set default=”0”),新增加的menuentry如下:

  • menuentry 'Ubuntu, Linux 3.6.0+' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod gzio
        insmod part_msdos
        insmod ext2 set root='(hd0, msdos1)' search --no-floppy --fs-uuid --set=root a4c8987c-6f35-4af1-b539-3617000ec73b
        linux /boot/vmlinuz-3.6.0+ root=UUID=a4c8987c-6f35-4af1-b539-3617000ec73b ro quiet splash text $vt_handoff initrd /boot/initrd.img-3.6.0+ }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    到此为止,整个新内核就配置完成,重启验证结果如下: 
    这里写图片描述

    7.帮助信息 

  • 可以参考内核源码根目录下的README文件,该文件中讲了如何配置、编译内核和一些注意事项。 
  • 在linux内核原码根目录下,使用make help命令可以查看make的帮助信息 
  • menuconfig中每个选项的说明和依赖关系,可以下图中的红色标注来查看 
    这里写图片描述
  • 阅读(1207) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~