ubuntu12.04 升级内核实战
    ubuntu 12.04内核是linux 3.2.0-24,其实升级到最新版本3.3.4也没什么很大意义,主要是集成了一些新的驱动和一些普通用户用不到的功能,所以基本上本文纯属折腾,但不要随便升级当班设备啊!好了,不废话了,我们开始...........
首先是准备条件:
①、有一台装有ubuntu 12.04的机器
②、先移步到/下载linux稳定版内核
③、拥有root权限
④、并将下载好的内核解压到/usr/src下,使用命令如下:
      #tar jxvf  linux-3.3.4.tar.bz2
      这样你就可以得到一个名叫linux-3.3.4
好,现在一切都准备好了,接下来就开始配置,编译,安装新内核吧!
1 进入刚才的文件夹 /usr/src/linux-3.3.4,输入命令:
    $ make mrproper
    该命令的功能在于清除当前目录下残留的.config.o文件,这些文件一般是以前编译时未清理而残留的。而对于第一次编译的代码来说,不存在这些残留文件,所以可以略过此步,但是如果该源代码以前被编译过,那么强烈建议执行此命令,否则后面可能会出现未知的问题。
2 配置编译选项
    作为操作系统的内核,其内容和功能必然非常繁杂,包括处理器调度,内存管理,文件系统管理,进程通讯以及设备管理等等,而对于不同的硬件,其配置选项也不相同,所以在编译源代码之前必须设置编译选项。其实我觉得这一步是升级内核整个过程中最有技术含量的,因为要根据自己的需要正确选择yes or no需要对计算机方方面面的知识都有所了解。但是这里的选项实在是太多了,大概有几百项之多,我以前曾尝试着一项一项的选,但是最后
还是放弃了,因为有很多选项不是很明白。
    既然这样,难道没有什么简便的方法么? 当然有!那就是make menuconfig 或者make xconfig。我使用的是make menuconfig,但是前提条件是要装ncurses
      ncurses /pub/gnu/ncurses/下载,可以放到任何目录进行安装:
                    tar zxvf  ncurses<version>.  #解压缩并且释放 文件包
cd ncurses<version>      #进入解压缩的目录(注意版本)
./configure                    #按照你的系统环境制作安装配置文件
make                          #编译源代码并且编译NCURSES
su root                        #切换到root用户环境
make install                #安装编译好的NCURSES

    另外,在make menuconfig过程中也会有一些选项需要你来设置*, y, n 或者m,选择*表示选项中的内容被直接编入内核中,选择m表示选项中的内容不编入内核,而只是编成独立的module,用到时才调用。
    ok 在当前文件路径下,输入命令:
    make menuconfig(或者用 make xconfig,我没有启用成功)
    根据菜单提示,选择编译配置选项,并保存配置文件为.config(也可以直接复制现有的.config文件,我是这样做的!!!)
3,确定依赖性
    根据以往的经验,这一步是必须的,但是这次编译的时候,系统提醒我没必须要执行这个命令:
    make dep
    如果用现有的.config文件,这里会有很多内核新增加的驱动和功能让你确认是否编入内核
中,这个你就自己看着输入y/n/m/?吧!
4,清除编译中间文件
    输入命令:make clean
5,生成新内核(这是我用的时间07:38-07:57,19分钟。这里时间的长短都取决于你机器的性能)
    就是把配置过程中,我们选中编入内核中的程序编译链接生产linux内核,输入命令:
    make bzImage
6linux内核视频教程全套,生成modules(这是我用的时间07:58-09:28
    和上步差不多,就是把配置过程中,我们选中编成modules的程序编译链接成modules,输入命令:
    make modules
7,安装modules
    就是把刚才编译生产的modules拷到系统文件夹下,以供新内核调用。输入命令:
    make modules_install
    一切都自动做好了。
8,建立要载入ramdisk的映像文件
    如果linux系统安装在scsi磁盘上,这步是必须的,否则可以跳过。我的linux是装在vmware上的,用的是虚拟的scsi磁盘,所以必须 要这一步。输入命令:
  mkinitramfs -o /boot/initrd-linux3.3.4.img  3.3.4
  如果你的linux不是ubuntu,而是其他的发行版本,那么使用的命令可能不是mkinitramfs,而是mkinitrd,但功能和用法类似。
9,按装内核
  输入命令:make install
  此时系统会把linux内核的镜像文件还有System.map考入到/boot下,然后会自动生成引导菜单。
10, 配置grub引导程序
      既然新的内核编译并安装好了,那么我们要配置系统的引导程序用新内核正确引导,这一步我的是自动添加的,如果没有自动添加进去就自动动手修改添加吧。对象是/boot/grub/grub.cfg,首先用chmod更改该文件的只读属性。然后参照里面的已有内容添加一个新启动项,我的新启动项是:

menuentry 'UbuntuLinux 3.3.4' --class ubuntu --class gnu-linux --class gnu --class os {
      recordfail
      gfxmode $linux_gfx_mode
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='(hd0,msdos1)'
      search --no-floppy --fs-uuid --set=root ee7c3a4d-5305-46b1-807e-fa9f39a5d13e

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。