FreeBSD 5-CURRENT的内核配置与优化

2009-05-13 13:06:09来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在本文针对4-STABLE的那个版本中已经讨论了削减系统功能的意义。在某种程度上,对于FreeBSD 5-CURRENT而言,配置内核是必需的。
[本文是预期的,对《FreeBSD服务器的安装与优化》进行的修订的一部分。由于时间限制,以及一些读者的要求,这篇文章首先发表。它将在未来的某个时间成为 FreeBSD服务器的安装与优化(3) 的第二版,原先针对FreeBSD 4-STABLE的版本将继续与此系列并存]
FreeBSD 5.x是一个充满新特性的系统。目前,5.0-RELEASE已经正式推出,但第五版本这个分支仍然是CURRENT分支,在它成为5-STABLE之前,我们可能还需要等待数个月的时间,这可能意味着一个到两个RELEASE版本。
这篇文章将主要着眼于FreeBSD 5.0-CURRENT的内核配置。据我所知,这篇文章的内容至少在2003年3月以前应该是完全适合的,而在FreeBSD 5-STABLE正式标注之后,也不应该再出现什么本质的变化。当然,保险起见,我个人建议您在进行改动,并将其应用到自己的系统上之前,首先备份内核:
cd /boot
cp -R kernel kernel.good

这样,一旦出现意外情况,您将可以通过在启动时选择/boot/kernel.good/kernel来正确地引导系统。
说到这里,我不得不指出FreeBSD 5在内核文件放置方面的一个非常显著的变化。在5.0之前,内核及模块分别在/kernel和/modules/文件夹中;5-CURRENT为了便于管理,将内核及其模块都放到了/boot/kernel/文件夹。这一变化使得旧版的loader(8)程序在默认情况下不能正确加载内核文件,当然,指定正确的文件名仍然可以保证4.x的loader(8)程序正确加载FreeBSD 5内核,但我依旧倾向于按照UPDATING所说的那样,把升级boot, loader这一系列初启程序作为系统升级的一部分。
在正式开始介绍FreeBSD 5的内核配置之前,我还必须介绍5.0新的device.hints配置文件。device.hints配置文件位于/boot/文件夹,对于没有ISA设备的系统,这个文件基本上是没用的。这个文件取代了FreeBSD 4.x一直沿用的user config机制。FreeBSD开发组期待将来的某个时间重新加入user config机制,以让loader更加人性化,但直到笔者撰写这篇文章的时候为止,这一机制的新实现仍然没有完成。
device.hints由一系列符合下面句法的语句组成:
hint...=

如果你熟悉4.x上的loader(8)配置指令,那么只需要做少量的转换就可以解决问题:
iomem 改为 maddr iosiz 改为 msize
当然,世界是美好的,FreeBSD提供了一个awk脚本来解决问题。这个脚本位于src/sys/i386/conf/,它的名字是gethints.awk。
贫了这么多,一些读者可能已经等急了。但我还得说一个FreeBSD 5和4的重大区别,那就是LINT没了。
拿掉LINT这事儿跟device.hints有关,为了不把话题扯得太远,我不打算详细描述关于这个文件的故事;先说要紧的:首先,类似4.x风格的LINT文件现在叫NOTES;其次,如果你一定要获得LINT的话,在src/sys/i386/conf里面执行下面的指令:
make LINT
即可。下面我继续“传统上”的那个内核配置文件。这个配置文件是由GENERIC改过来的,当然,删除了一些没必要的注释。红色表示我删除的东西,而蓝色表示我添进去,或做了修改的那些设置。绿色表示我没添进去,但在NOTES中曾出现过的有用的配置。
#
# DELPHIJ -- Kernel configuration file for FreeBSD/i386
#
machine i386
cpu I486_CPU       # 默认已经没有i386了,但i486...
cpu I586_CPU       # 还有这个i586都不适应我的情况

cpu I686_CPU

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:BSD小技巧---分摘自几家台湾网站

下一篇:在FreeBSD上安装Linuxigd