对于大多数用户来说,编译内核是一件轻松而又高兴的事。通过编译安装新的内核可以提高系统的性能,一定程度上增强安全性。而对于新手来说,编译内核似乎似乎又是很高深的事,是高手与菜鸟的门槛。这几乎是每个爱好者都经过的历程。前不久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.