参考文献:
http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=316814&start=0
http://forum.ubuntu.org.cn/viewtopic.php?t=269633
下载kernel源码
mkdir kernel
cd kernel
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.27.tar.bz2
下载bfs补丁
wget http://ck.kolivas.org/patches/bfs/2.6.32/2.6.32.27-sched-bfs-363.patch
安装必要的编译工具
sudo apt-get install build-essential kernel-package libncurses5-dev
进入linux内核源码目录
cd linux-2.6.32.27
对需要编译的源码打下补丁
patch -p1 < ../2.6.32.27-sched-bfs-363.patch
make mrproper
载入当前的内核模块配置,将为接下来的配置节约大量时间
make localmodconfig
期间会提示未配置过的项目(新功能)的选择,不明白的输入"?"可以看说明。
提示(N/y/?)时N掉即可(绝大多数);
提示(Y/n/?) 时最好先看一下,比如第一个问题“是否开启BFS”当然要选Y;
有些不确定的可以选"m"将其编译为模块,但并不是所有选项都有"m"可选;还有些选项会提示输入数值,一般会提供默认值作参考。
make menuconfig
打BFS补丁,这几个是必须注意的
* Processor type and features -> Tickless System (Dynamic Ticks) 留空(不选)
* Processor type and features -> Preemption Model -> 选 Preemptible Kernel (Low-Latency Desktop)
* Processor type and features -> Timer frequency -> 选1000Hz
(这里我觉得选300Hz也可以,体会不出和1000Hz的差别,而1000Hz会让CPU发热量更大一些,对于笔记本而言则是耗电量明显增加。反正用的是老机器,愿不愿意折腾就看个人了)
清理
sudo make-kpkg clean
9、编译
sudo make-kpkg --initrd --append-to-version -abc kernel_image kernel_headers
"-abc"换成你自己的
编译之前最好把不用的程序通通关掉,乃至注销,按Ctrl+Alt+F1进入命令行界面(Alt+F7回到图形界面)
可以使用fakeroot代替sudo,我比较懒,直接用sudo了
在我的机器上,编译耗时约一小时
10、安装
cd ../
sudo dpkg -i *.deb
11、安装完毕,重启
sudo reboot
与其它教程中所述不同的是,按上述步骤Ubuntu 10.04会自动mkinitramfs并update-grub,所以直接重启即可使用
GRUB引导时默认使用新内核,因此在远程机器上也可轻松操作。
跟原来的“通用”内核比,个人感觉,GNOME快了,刚好超过了一个感觉上的临界点,一下子舒适了许多;KDE也快了不少,但是开了特效依然有点卡;XFCE和LXDE就不用说了,本来就很快