日期:2014-05-16  浏览次数:20607 次

在ubuntu10.10上编译安装linux-2.6.36.1 kernel

terminal进入root模式

$sudo -s
?

?

安装编译内核所需的deb

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

?

下载内核源码llinux-2.6.36.1.tar.bz2

到kernel官网 上下载。解压到/usr/src/linux-2.6.36.1目录

?

Configuration

?

cp /usr/src/linux-headers-2.6.35-22-generic/.config /usr/src/linux-2.6.36.1

cd /usr/src/linux-2.6.36.1

make menuconfig
?

终端会弹出一UI,先选Load an Alternate Configuration File, 然后Save an Alternate Configuration File.

?

Compile & Install

?

#make mrproper

#make (make -j4 if your cpu is dual core)

#make install

#make modules

#make modules_install

?and then, create initrd,

#mkinitramfs -o /boot/initrd.img-2.6.36.1
?

?

?

配置grub

#gedit /boot/grub/grub.cfg
?

新增如下:

menuentry 'Ubuntu, with Linux 2.6.36.1' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set 46a069d5-912f-41a2-8a49-fa90df6ecd88
	linux	/boot/vmlinuz-2.6.36.1 root=UUID=46a069d5-912f-41a2-8a49-fa90df6ecd88 ro   quiet splash
	initrd	/boot/initrd.img-2.6.36.1
}

?

重启

可能会提示FATAL: Could not load /lib/modules/2.6.36.1/modules.dep: No such file or directory

?

解决办法:选择从原先的2.6.35进入

?

$sudo -s
#cd /boot
#cp initrd.img-2.6.36.1 initrd.img-2.6.36.1.backup
#depmod -a
#update-initramfs -k 2.6.36.1 -c
#cd /tmp
#gzip -dc /boot/initrd.img-2.6.36.1 | cpio -id
#touch lib/modules/2.6.36.1/modules.dep
#find ./ | cpio -H newc -o > /boot/initrd.img-2.6.36.1.new
#gzip /boot/initrd.img-2.6.36.1.new
#cd /boot
#mv initrd.img-2.6.36.1.new.gz initrd.img-2.6.36.1

?

再重启,选择新的kernel登陆。

原kernel截图:

?

new kernel screenshot: