系统核心 自订 FreeBSD Kernel

Contributed by Jake Hamby .
6 October 1995. 这个略大的章节会讨论如何自订你的 FreeBSD kernel 。
这个章节适合初学者以及经验丰富的管理者 。
5.1. 为何要自订 kernel ?
5.2. 建⒁约鞍沧耙桓鲎远┑?nbsp;kernel
5.3. kernel 设定档
5.3.1. 一定要有的关键字
5.3.2. 一般的参数
5.3.3. 档案系统的参数
5.3.4. 基本控制卡以及介面卡
5.3.5. SCSI 装置支援
5.3.6. Console,滑鼠,及 X Server 支援
5.3.7. Serial 跟 Parallel Ports
5.3.8. 网路
5.3.9. 音效卡
5.3.10. 虚拟装置 (Pseudo-devices)
5.3.11. 摇杆、PC 喇叭及其他杂七杂八的
5.4. 建立 device nodes
5.5. 发生问题的解决方法

_________________________________________________________________
5.1. 为何要自订 kernel ?
建立一个自订的 kernel 是每个 Unix 系统管理者所必须学习的重要课题 。
这个过程虽然耗时,但是将会对你的 FreeBSD 系统带来许多好处 。一个自订的
kernel,只会包含支援你硬体的驱动程式, 而一个 GENERIC kernel
却包含大多数的硬体驱动程式以便在各种机器上执行 。自订的 kernel
将包含下列优点:
* 开机时只需要花较少的时间,因为 kernel 不需花额外的时间去侦测
你没有的硬体是否存在 。
* 自订的 kernel 通常占较少的记忆体,这是很重要的 。因为 kernel
本身是一个常驻在记忆体中的程式,那些没有用到的 程式码 (如 GENERIC
kernel) 将会占去你其他程式执行时的记忆体空间 。
因此,在一个记忆体较小的机器上,建立一个自订的 kernel
将是相当重要的 。
* 最後,有你可以调整许多的 kernel 参数来符合你的需求, 以及奶J其他
(如音效卡的驱动程式) ,这些是 GENERIC kernel 所没有的 。

_________________________________________________________________
5.2. 建立以及安装一个自订的 kernel
首先,我们先浏览一下编译 kernel 的目录 。所有的 kernel
原始程式都是放在 /usr/src/sys 以下的 (而通常我们会将 /sys 连结 (link)
到 /usr/src/sys) 。Kernel 原始程式有许多不同的目录,比方说
/sys/i386/conf, 你将会把你的 kernel 设定档放在此目录下; 还有例如
/sys/compile, 你将会在此编译你的 kernel 。
注意: 如果你的系统中 没有 /usr/src/sys, 表示你尚未安装 kernel
原始程式,请参照系统安装过程来安装 kernel 原始程式 。
接下来,进入 /sys/i386/conf 并且拷贝 GENERIC 档
成为你想要的档名 。例如:
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
传统上这个档名都是用大写字母,如果你有许多的 FreeBSD 机器, 用大写的
hostname 来命名是区分不同机器设定的好方法 。
注意: 你必须以 root 的身份执行所有的命令,否则你会得到 "permission
denIEd" 的错误 。
现在,以你最习惯的编辑器编辑 MYKERNEL (如果你不知道用什麽好,
你可以试试 vi,虽然要解释如何使用它太过杂, 但是至少大部份的 书
都会提到它 。你必须修改或新增此档案中的设定以符合你系统的需求 。
如果你曾经在 SunOS 或是其他的 BSD 系统上建立过 kernel,
那麽你将会对这个 kernel 设定档的内容十分熟悉 。
如果你较熟悉其他的作业系统 (如 Dos),你可能会看不懂 kernel
设定档,麻烦你仔细阅读 kernel 设定档。
注意: 如果你是从较旧版本的 FreeBSD 升级上来的, 你可能必须一更新
config(8) 。如果你是从 FreeBSD 原始程式升级的, 你可以在
/usr/src/usr.sbin/config 中找到 config 的原始程式 。
当你完成建立或修改 kernel 设定档时,执行以下命令来编译你的 kernel:
# /usr/sbin/config MYKERNEL

推荐阅读