Linux-3.2.6内核升级

1、下载内核源代码

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

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

3、进入Linux内核源码解压后的目录/usr/src/linux-2.6.34(cd /usr/src/linux-2.6.34)

4、sudo make mrproper         净化解压后的源代码,清除.config文件

5、sudo make menuconfig     对内核选项进行配置

cp /usr/src/linux-headers-2.6.32-21-generic/.config /usr/src/linux-2.6.34

接着cd /usr/src/linux-2.6.34进入内核所在目录,再次输入sudo make menuconfig就好了

6、对于配置可选择General Setup或者选择其他的自定义选项,注意主菜单最后有两项:

load a kernel configuration…

save a kernel configuration…

先选第一项load ….,意思是,利用当前的内核配置详单来设置将要编译的内核,然后选save这一项保存,最后退出配置界面。

7、sudo make dep         建立模块间的依赖信息

8、sudo make clean       删除配置时留下的一些不用的文件

(7、8两步可能对于一些PC没有作用)

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

10、sudo make modules    编译内核模块

当然,在编译内核时,可通过make-j<n>来加速内核的编译,n一般等于CPU数量的两倍。单核,n=2;双核,n=4.即执行 sudo make -j4就可以编译了!

11、sudo make modules_install   安装内核模块

12、sudo make install           安装内核

13、cd / 后在终端输入:sudo mkinitramfs 2.6.34 -o /boot/initrd.img-2.6.34-generic

14、到此为止,构建内核完毕,第十二步把内核映象和System.map拷贝到/boot/下

#sudo cp /usr/src/linux-2.6.34/arch/i386/boot/bzImage /boot/vmlinuz-2.6.34-generic

#sudo cp System.map /boot/System.map-KERNEL_VERSION

#sudo ln -s /boot/System.map-KERNEL_VERSION /boot/System.map

15、

(1)修改grub配置文件

在终端输入:sudo update-grub2,就会把刚才编译的内核加入了Grub;(此时就可以重启了,重启后在Grub启动项里多了Ubuntu, Linux 2.6.34-generic)

若还需修改(在Ubuntu10.04中没有采用menu.lst,而是用的grub.cfg(/boot/grub/)),则修改 grub.cfg就可以了,

在终端中输入:sudo gedit /boot/grub/grub.cfg    用root账户进入grub.cfg并编辑

(或用sudo chmod +w /boot/grub/grub.cfg改变grub.cfg的权限后在进行编辑)

如将Grub中的menuentry "Ubuntu, Linux 2.6.34-generic"{...}修改为menuentry "Ubuntu, Linux 2.6.34-liqiong"{...}(Linux 2.6.34-generic是我们刚才编译的内核)

(2)修改default变量

在/boot/grub/grub.cfg中,设置set default="【某个数字】"(设置Grub启动项里的默认启动项)

在Grub启动项里,从0数起,我的XP在第10项,所以set default="10",即XP就是默认的启动项了。

最后重启一切都OK了!