第一步:下载内核源代码
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.2.tar.bz2
第二步:下载传说中的BFS补丁,2.6.37-sched-bfs-363.patch
wget http://ck.kolivas.org/patches/bfs/2.6.38/2.6.38-sched-bfs-363.patch
第三步:安装编译工具
sudo apt-get install build-essential kernel-package libncurses5-dev
第四步:解压内核,打上BFS补丁
tar -jxf linux-2.6.38.2.tar.bz2
cd linux-2.6.38.2
patch -p1 < ../2.6.32-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
第九步:编译
sudo make-kpkg -- initrd --append-to-version -lis kernel_image kernel_headers
-lis"换成你自己的
编译之前最好把不用的程序通通关掉,乃至注销,按Ctrl+Alt+F1进入命令行界面(Alt+F7回到图形界面)
可以使用fakeroot代替sudo,我比较懒,直接用sudo在我的机器上,编译耗时约一小时。
第十步:安装重启生效
cd ..
sudo dpkg -i linux*.deb
sudo reboot
新内核的在Ubuntu 10.10使用中明显速度上提升了很多,在开启compiz 3D特效的时候也非常流畅,没有原来的卡的现象,还有的有点正在发觉中.......
希望大家也来体验一下。