Ubuntu 10.10编译2.6.37内核+BFS补丁

系统:KUbuntu 10.10(Ubuntu、Lubuntu、Xubuntu都一样)

我古老的硬件:P4 2.0A,QDI 845E,2 x 1G DDR,GF FX5200,40G PATA硬盘x2,无光驱、软驱

1、下载内核源码包,linux-2.6.37.tar.bz2

代码:mkdir kernel

cd kernel

wget

2、下载传说中的BFS补丁,2.6.37-sched-bfs-363.patch

代码:wget

3、安装编译工具

代码:sudo apt-get install build-essential kernel-package libncurses5-dev

4、解压源码,打上BFS补丁

代码:tar -jxf linux-2.6.37.tar.bz2

cd linux-2.6.37

patch -p1 < ../2.6.37-sched-bfs-363.patch

注:解压到任何目录都可以,不一定是教程中常用的/usr/src,但可用空间要达到2.5G

5、确保源代码目录是“干净的”,可省略

代码:make mrproper

6、载入当前的内核模块配置,将为接下来的配置节约大量时间

代码:make localmodconfig

期间会提示未配置过的项目(新功能)的选择,不明白的输入"?"可以看说明。

提示(N/y/?)时N掉即可(绝大多数);

提示(Y/n/?) 时最好先看一下,比如第一个问题“是否开启BFS”当然要选Y;

有些不确定的可以选"m"将其编译为模块,但并不是所有选项都有"m"可选;还有些选项会提示输入数值,一般会提供默认值作参考。

7、开始详细配置

代码: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发热量更大一些,对于笔记本而言则是耗电量明显增加。反正用的是老机器,愿不愿意折腾就看个人了)

第一次我精简得比较凶,连SCSI驱动都去掉了,直接导致提示无法进系统(找不到UUID xxxx/找不到sda),这才想起来Linux的磁盘策略,添加回来后重新编译一切正常。

对于我的古董机,我把多核支持、SATA、PCI-E,以及大量的驱动去掉了,编译后header和image的deb包加起来不到11M。感觉还是有精简的空间。

8、清理

代码: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.10会自动mkinitramfs并update-grub,所以直接重启即可使用

GRUB引导时默认使用新内核,因此在远程机器上也可轻松操作。

跟原来的“通用”内核比,个人感觉,GNOME快了,刚好超过了一个感觉上的临界点,一下子舒适了许多;KDE也快了不少,但是开了特效依然有点卡;XFCE和LXDE就不用说了,本来就很快。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25074.html