Fedora Core 4 内核安装配置手记

原文:Fedora Core 4 Kernel Notes
 
 
原文作者:Mauriat Miranda ( http://www.mjmwired.net/contact.php )
 
叶清翻译
 
感谢Mauriat Miranda允许我翻译其作品,并允许我将自己的翻译进行有条件发布。
Special Thanks To The Original Author: Mauriat Miranda.
 
Revision: 24 June 2005
修订:2005年6月24日
编译一个自定义的内核
这个指南介绍了我是如何编译我的内核的。我的FC4的安装手记可以在“个人FC4安装指南”中找到。你可以找到关 于FC3和FC2的类似指导。本页包含“技术性和棘手的过程”。时刻记得,这个只是对于我来说运行的很好,所以,请在尝试操作的时候,对重要的文件进行适 当的备份。
编译你自己的内核可以让你完全调制你的linux系统。这个过程包含了添加使你的系统运行的更好或者加速你的系统运行的特征,删除那些影响你系统运行或者拖慢你的系统的某些特征。
我的计算机系统是速龙XP(Athlon XP)的系统,以及NV(nVidia)的显卡,我没有使用任何额外的内核补丁和nVidia的显卡驱动。
完成这些操作你可能需要有大约350-400MB的空闲空间。
内核版本
kernel.org提供的官方的内核,通常被称为vanilla kernel(香草内核),而大多数的发行版会修改他们的内核。对于Redhat,Fedora,SuSE等都是如此。大多数修改的发行版内核通常是已经 安装了改变某些功能的补丁。某些硬件可能需要内有修改过的内核才能工作。在这个指南中,我将同时编译vanilla内核和Fedora内核。选择你觉得适 合你的一种。
Fedora 内核源代码
我使用的是Fedora的内核的源RPM提供的.config文件来编译内核。不管我编译的是哪一种内核,我都会保留一份安装的Fedora内核源代码拷贝。
确定你是不是已经正确安装了FC4的kernel.src.rpm,请参考:FC4: Install Kernel Source.
为了方便,我把内核源代码移动到/usr/src/
[root@charon src]# cd /usr/src
[root@charon src]# mv /usr/src/redhat/BUILD/kernel-2.6.11/linux-2.6.11 /usr/src/linux-2.6.11
Vanilla Kernel
如果你想编译一个Vanilla内核,到kernel.org获取最新的2.6内核源代码(FC4使用2.6内核)。请选择一个竞相站点获取源代码。
最新的稳定版linux内核版本是:2.6.12.1   2005-06-22 22:00 UTC
以root身份,将其解压缩到/usr/src/
[root@charon download]# bzip2 -cd linux-2.6.12.1.tar.bz2 | tar xvf - -C /usr/src/
转移到新内核目录
[root@charon download]# cd /usr/src/linux-2.6.12.1/
如果你想使用一些内核补丁,请在进行后续步骤之前按照如下方法应用补丁
[root@charon linux-2.6.12.1]# patch -p0 < kernel.patch
使内核处于proper/clean 状态:
[root@charon linux-2.6.12.1]# make mrproper
建立/usr/src/linux的软连接
注意:不管你编译哪种内核,确信你已经建立了一个正确的/usr/src/linux 的软连接。这个指南的所有操作都将在那里进行。你不能让同一个软连接指向两个不同的目录。
[root@charon ~]# cd /usr/src/
[root@charon src]# pwd
/usr/src
(以下针对Fedora内核)
[root@charon src]# ln -s linux-2.6.11 linux
(以下针对vanilla内核)
[root@charon src]# ln -s linux-2.6.12.1 linux
建立初始的.config文件
.config文件包含了你所编译的内核的所有的特定配置。你必须有一个可以开始配置的.config文件,否则,这将会使对不同的选项进行正确的设定变得非常的困难。
可以使用在先前在fedora的kernel.src.rpm中的.config文件,它将成为你自定义内核的起点。
一些名词:SMP:并行多处理器(2个CPU以上),PPC:Motorola PowerPC处理器,x86_64: Athlon 64,xen:Xen虚拟机。确信你找到了合适自己的那个配置文件。
[root@charon src]# ls /usr/src/redhat/BUILD/kernel-2.6.11/linux-2.6.11/configs/
kernel-2.6.11-i586.config       kernel-2.6.11-ppc64iseries.config
kernel-2.6.11-i686.config       kernel-2.6.11-ppc.config
kernel-2.6.11-i686-smp.config   kernel-2.6.11-ppc-smp.config
kernel-2.6.11-i686-xen0.config  kernel-2.6.11-s390.config
kernel-2.6.11-i686-xenU.config  kernel-2.6.11-s390x.config
kernel-2.6.11-ia64.config       kernel-2.6.11-x86_64.config
kernel-2.6.11-ppc64.config      kernel-2.6.11-x86_64-smp.config
[root@charon src]# uname -m
i686
[root@charon src]# cd /usr/src/linux
[root@charon linux]# cp /usr/src/redhat/BUILD/kernel-2.6.11/linux-2.6.11/configs/kernel-2.6.11-i686.config .config
注意:如果已经存在一个.config文件,并且不是你自己创建的,你可以用新文件覆盖它。
注意:如果你有另一个内核源代码,不管是来自另一个RPM还是先前下载的内核源代码,你可以使用那个.config,而不用Fedora的。例如:
[root@charon linux]# cp /usr/src/linux-2.6.10/.config /usr/src/linux/.config
内核名称
最为一个可选项,你可以改变连接在内核主版本号之后的那个额外的名字,例如:1.1369_FC4。使用任何一种文本编辑(gedit,kwrite,nano等)打开 /usr/src/linux/Makefile,找到第四行:
对于Fedora内核:
EXTRAVERSION = -prep
对于vanilla内核:
EXTRAVERSION = .1
你可以把这个值改称任何你喜欢的名字。最后,你的内核名称,将会像这样的:2.6.11-prep or 2.6.12.1有时为了测试,我会使用 -mjm。当你如下文安装NV驱动的时候,确信你已经注意到了所有的改变。
配置.config文件
让.config文件更新以适合新内核。下面将出现许多新的选项。如果你知道它们到底是什么,请正确选择,否则,直接按下“回车”。如果你没有看到提示,就OK了。
[root@charon linux]# make oldconfig
一旦完成,就可以通过下面的任何一个命令,配置必要的内核选项了:
基于文字界面的对话形式: make config
基于文字界面的GUI:  make menuconfig
基于GTK的GUI:  make gconfig
基于QT的GUI:  make xconfig (推荐)
注意:要运行make xconfig,你必须安装有qt-devel的RPM包。
禁用或启用任何你不想要或者你想要的特征。当你对你不熟悉的选项作出改变的时候,你一定要“非常小心”。如果你不知道你修改的时什么,请保持其默认值。下面是一些我个人所做的修改:
* Processor type and features (重要!)
 - Processor family: Athlon/Duron/K7 (MK7)
* Power management options (ACPI, APM)
 - Enable: Software Suspend
 - Disable: CPU Frequency scaling (我的速龙不支持这个)
* 我没有的硬件或者我不能安装的硬件,我禁用了所有下面的这些:
 - PCCARD (PCMCIA/CardBus) support
 - PCI Hotplug Support
 - Memory Technology Devices (MTD)
 - Fusion MPT device support
 - IEEE 1394 (FireWire) support
 - Amateur Radio Support
 - Bluetooth subsystem support
 - Token Ring devices
 - ATM drivers
 - ISDN subsystem
 - Watchdog Cards
 - Digital Video Broadcasting Devices
 - InfiniBand support
* 一些我强烈推荐的选项:
 - "File systems > DOS/FAT/NT Filesytems > NTFS file system support (NTFS_FS)"
 (不要启用NTFS read/write)
 - 像"NFS", "SMB" and "CIFS"之类的对网络的文件存取是必须的。(如Samba, 等)
* Kernel Hacking and Kernel Debugging
 -Disable Kernel debugging (DEBUG_KERNEL)
 这个选项是不能启用的,但是我发现它打开着,请确信它已经被禁用了。
        如果你启用了这个选项,内河将变得非常的巨大。
注意:如果你是从较新的内核(例如: 2.6.10 to 2.6.11)升级过来的,而且,你的正确拷贝了那个.config文件,那么,大多数的选项都不用修改了,你只要修改一些新的特征。保存.config文件,编译。
编译和安装
这个步骤可能需要15分钟到2小时不等,取决于你的系统的运行速度。
[root@charon linux]# make all
如果这样没有用,请重新检查错误,试着在上面的配置步骤中禁用一些惹麻烦的模块。如果一切顺利,你就可以安装了。
[root@charon linux]# make modules_install
[root@charon linux]# make install
安装nVidia驱动
你必须在新内核中安装nVidia驱动,否则,X-server在你重启到新内核的时候将无法启动。获取和你安装在你当前使用的FC4系统中完全相同的nVidia驱动(FC4: Nvidia Driver)。下面的步骤将告诉安装程序为你的新内核编译nVidia驱动
[root@charon fc4]# sh NVIDIA-Linux-x86-1.0-7667-pkg1.run -a -n -K -k [内核名字]
你必须首先知道上面的“内核名字”。如果你使用Fedora内核,这已经包含在上面提到的Makefile中了。如:2.6.11-prep。如果你使用vanilla内核,内核版本号将是这个:2.6.12.1。如果你不能确定,请查看/lib/modules/
[root@charon fc4]# ls /lib/modules/
2.6.11-1.1369_FC4  2.6.11-prep  2.6.12.1
(对Fedora内核)
[root@charon fc4]# sh NVIDIA-Linux-x86-1.0-7667-pkg1.run -a -n -K -k 2.6.11-prep
(对vanilla内核)
[root@charon fc4]# sh NVIDIA-Linux-x86-1.0-7667-pkg1.run -a -n -K -k 2.6.12.1
在重新引导系统之前先用modinfo检查nVidia模块。下面我列出两种内核的不同的输出:
[root@charon fc4]# modinfo -F vermagic /lib/modules/2.6.11-prep/kernel/drivers/video/nvidia.ko
2.6.11-prep K7 REGPARM gcc-4.0
[root@charon fc4]# modinfo -F vermagic /lib/modules/2.6.12.1/kernel/drivers/video/nvidia.ko
2.6.12.1 K7 REGPARM gcc-4.0
注 意:如果上面的方法对你不起作用,或者你得到了一个不同的nVidia驱动的版本号,那你就必须使用在“FC3内核安装配置手记”中提到的方法了(滚动到 接近结束的地方阅读)。不同的是你需要在用新内核重新引导的时候,强制X-server不要启动,然后再手动安装驱动。
重新引导到新内核
重新引导到新内核。但是在做这个之前,你得确信你的nVidia驱动(或者其他的任何驱动)易于取得。如果新内核引导失败,阅读错误信息,回到以前的内核。回到配置的那一步,试着改变那些可能导致问题的器件或者特征。
一旦进入新内核,任何其他已经安装过的驱动都必须重新按装。所有Fedora默认内核不包含的驱动,大都需要重新安装。
编辑Grub
将新内核作为默认内核,编辑/boot/grub/grub.conf,修改:default=1行为default=0。这个值对于不同的计算机可能有微小的差异
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值