参照2.6.34的升级方法,原地址如下http://wenku.baidu.com/view/cc0bbd4ce518964bcf847cee.html
1.准备工作
安装编译内核时需要的工具:
sudo apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential (基本的编程库(gcc, make等)
kernel-package (Debian 系统里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig要调用的)
libqt3-headers (make xconfig要调用的)
2.下载内核
www.kernel.org官网下载最新版本linux-2.6.38.tar.bz2内核,
在linux-2.6.38.tar.bz2的根目录下执行下面的命令:
tar xvfj /root/linux-2.6.38.tar.bz2 -C /usr/src
3.拷贝配置文件
#cd /usr/src
#cp /usr/src/linux-headers-2.6.32-21-general/.config .config
#make menuconfig
4.之后出现如下界面:
(利用当前的内核配置详单来设置将要编译的内核),然后选save这一项保存,最后退出配置界面。
5 .# sudo make -j4(编译,可以加-j2*N,N是你CPU的核数)
# sudo make install
# sudo make modules (编译模块)
# sudo make modules_install (安装模块)
# mkinitramfs -o /boot/initrd.img-2.6.38
更新配置GRUB引导列表
sudo gedit /boot/grub/grub.cfg
我的grub.cfg添加如下:
menuentry ‘Ubuntu 10.04,Linux 2.6.38′ –class ubuntu –class gnu-linux –class gnu –class os {
recordfail
insmod ext2
set root=’(hd1,9)’
search –no-floppy –fs-uuid –set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.38 root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash
initrd /initrd.img-2.6.38
}
#以下是原2.6.32内核启动项
menuentry ‘Ubuntu,Linux 2.6.32-21-generic’ –class ubuntu –class gnu-linux –class gnu –class os {
recordfail
insmod ext2
set root=’(hd1,9)’
search –no-floppy –fs-uuid –set 501d3a42-1d52-4438-99bf-e679da605867
linux /vmlinuz-2.6.32-21-generic root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splash
initrd /initrd.img-2.6.32-21-generic
}
7.sudo su (保证获得root权限,否则会提示权限不够,不能成功完成任务哦)
cd /boot
cp initrd.img-2.6.38 initrd-2.6.38.old (先做一个备份以防万一,哈哈)
depmod -a
update-initramfs -k 2.6.38 -c
cd /tmp
gzip -dc /boot/initrd.img-2.6.38| cpio -id
touch lib/modules/2.6.38/modules.dep
find ./ | cpio -H newc -o > /boot/initrd.img-2.6.38.new
gzip /boot/initrd.img-2.6.38.new
cd /boot
mv initrd.img-2.6.38.new.gz initrd.img-2.6.38
8.设置/boot/grub/grub.cfg中的set default="[x]",x代表你所选择的内核顺序,以0开始。