对于大多数用户来说,编译内核是一件轻松而又高兴的事。通过编译安装新的内核可以提高系统的性能,一定程度上增强安全性。而对于新手来说,编译内核似乎似乎又是很高深的事,是高手与菜鸟的门槛。这几乎是每个爱好者都经过的历程。前不久Con Kolivas发布了Brain Fuck Scheduler ,在某种程度上说这个patch对Linux的桌面带来了重大的变革。它对桌面环境的提速受到了大家的好评。具体内容参考http://linuxtoy.org/archives/bfs-intro-future-of-linux-desktop-kernel.html,本文旨在介绍在Fedora 11环境下,在标准2.6.31内核的基础上安装BFS补丁。
一、Linux内核源代码及BFS补丁的获取:
从http://www.kernel.org下载标准2.6.31内核,注意不是2.6.31.***之类的添加了其它补丁的内核(至于为什么,请Google有关安装内核补丁的内容)。再去:http://ck.kolivas.org/patches/bfs/ 下第一个 patch,现在是 2.6.31 开头的,表示适用该版本。
二、编译内核:
编译内核需要root权限,以下操作均以root用户完成。为了方便大家将编译的步骤做成bash脚本形式,并加以注解。
#! /bin/bash # AutoCpl_Kel_2.6.31_bfs.sh # This basic script is used to complie the standard kernel 2.6.31 with patch of bfs-310 automatedly # Created on : 2009-11-22 # Arthor : 沧之声 cd ~/Desktop/ #用户应保证内核源码和BFS均在当前用户的桌面目录下 cp linux-2.6.31.tar.bz2 /usr/src/kernels/ #把2.6.31内核拷贝到/usr/src/目录下 cd /usr/src/kernels/ #解压内核源码,并进入源码目录 tar -xvjf linux-2.6.31.tar.bz2 cd linux-2.6.31/ cp 2.6.31-sched-bfs-310.patch /usr/src/kernels/linux-2.6.31/ #将BFS补丁移动到源码目录 patch -p1 < 2.6.31-sched-bfs-310.patch #将BFS补丁打入标准内核中,以便编译使用 #** 以下内容为编译内核的通用步骤,在编译其它内核时可借鉴** # make mrproper #清除以前编译产生的文件,新下过来的可以跳过,安全期间再做一次 make menuconfig #执行完此步,等待用户自行配置内核参数,待结束后继续运行 cp .config /home/config #将配置文件备份,以供后用 make bzImage #生成内核 make modules #生成内核模块 make modules_install install #自动initrd文件,自动安装内核模块以及修改启动文件menu.lst等, chmod 755 /boot/vmlinuz-2.6.31-bfs310 #修改权限,使其可以被运行(使用默认权限可能导致无法启动问题) vim /boot/grub/menu.lst #查看启动文件,确认启动配置 ls -l /boot/ #确认内核文件及权限。包括System.map-2.6.31-bfs310(644) #initrd-2.6.31-bfs310.img (600),vmlinuz-2.6.31-bfs310(755) |
如果以上步骤都没有问题,可以重启机器了。在GRUB启动引导的时候就可以看见 2.6.31-bfs310 字样的选项。新的内核需要重新安装显卡驱动。该脚本只是简单的将每一个步骤罗列出来,如不能按照
本文所涉及到的内容有2.6内核的编译方法,内核补丁的安装,内核参数的配置。由于笔者所参考文章无法一一列举,故将相关内容列出,给读者以索引。
No related posts.

#1 by kn at 十一月 22nd, 2009
| Quote
好啊 !!!
别忘了什么时候讲美化grub2的方法!!
[回复]
沧之声 回复:
十一月 29th, 2009 at 11:14
呵呵,可能得有一阵了。我还没有到GRUB2现在。还是多谢你对桃源的关注了。
[回复]
#2 by oyea9le at 十一月 27th, 2009
| Quote
A good article for our freshes, But how can I get 2.6.31 kernel? I only find 2.6.31.6 in the http://www.kernel.org/ today, can you tell me where to download 2.6.31.
And I want to know whether it can done when I use 2.6.31.6.
Thanks.
[回复]
沧之声 回复:
十一月 29th, 2009 at 11:12
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/
http://www.kernel.org/pub/
这两个地方有过去的内核下载。
给内核上补丁的时候都是从标准内核往上升级。如果是从2.6.30.2住2.6.30.11这样打补丁是需要将2.6.30.2降级到2.6.30然后才能升级2.6.30.11。
具体内定可参见有关安装内核补丁内容。呵呵。
[回复]
oyea9le 回复:
十一月 30th, 2009 at 19:33
Thanks for you reply.
I will be have a try.
[回复]
#3 by Goure at 十二月 26th, 2009
| Quote
对我等新手有帮助.娃哈哈.
[回复]
沧之声 回复:
一月 15th, 2010 at 18:56
呵呵,慢慢来,打好基础才是上策。
[回复]