FreeBSD handbook中文版 9 配制FreeBSD 的内核

目录
9 配制FreeBSD 的内核
9.1 概要
第3 页9.2 为什么要定制一个内核?
9.3 建立和安装一个定制的内核
9.4 配置文件
9.5 建立设备的节点
9.6 如果出现问题怎么办
=============================================================


(翻译中出现的任何问题或错误,请广大读者及时反馈给我:freebsdhandbook@163.com)
9.1 概要
时你需要重新配置和编译你的内核 。
.
.
.
.
.
.
9.2 为什么要定制一个的内核?
带来很多好处 。不象GENERIC 内核,它需要支持很广泛的硬件设备,而定制的内核将只支持
你机器的硬件设备,这样会带来很多好处:
FreeBSD 使用手册
第9章配置FreeBSD 的内核
内核是FreeBSD 的核心 。它用来管理内存,执行安全控制,网络,磁盘访问等等 。而有
读完这章,你将了解到:
为什么需要建构一个定制的内核 。
如何写一个内核配置文件,或修改已存在的配置文件 。
如何使用内核配置文件创建和建构一个新的内核 。
如何安装一个新内核 。
如何在/dev 中创建设备文件的入口 。
如何解决一些常见的问题 。
定制内核基本上是每一个Unix 用户必须经历的一关 。这样做将会对你的FreeBSD 系统
1. 快速启动 。既然系统内核只检测你机器上的硬件,那它所花费的启动时间将大大减
少 。
2. 较少的内存使用 。一个定制的内核会比GENERIC 内核使用较少的内存 。这一点非常
重要,因为内核在处理时必须经常使用内存 。所以,一个定制的内核对于内存较少的机
器来说是非常有用的 。
3. 额外的硬件支持 。一个定制的内核允许你加入象声卡之类设备的支持,而这恰恰是
GENERIC 内核所做不到的 。
第1 页FreeBSD 使用手册
9.3 建立并安装一个定制的内核
首先,让我们先来看一下建立内核的目录 。所有提到的目录都在/usr/src/sys 中,也
可以通过/sys 访问 。有许多子目录充当了内核的不同部分 。但最重要的是/arch/conf,你
可以在这儿配置内核,然后进行编译 。这里的arch 也可能是i386,alpha,pc98 。在一个特
殊的架构目录内,所有的东西都是为这个架构服务的;其它部分的代码是与所有平台共享的 。
注意一下这个目录的逻辑结构,所有支持的硬件驱动程序、文件系统、参数选项,都放在各
自的目录下 。另外,所有放在i386 目录下的是只跟PC 硬件有关的,而i386 目录之外的其
它目录,则是FreeBSD 可能移植到的平台会共享到的部分 。
注意:如果你的系统没有这个/usr/src/sys 目录,那么内核源代码就没有被安装 。最
快速的安装方式是以root 登陆, 然后运行/stand/sysinstall , 选择
configure Distributions src sys 。
接着,切换到arch/conf 目录,拷贝GENERIC 配置文件,并给这个文件起一个容易辨认的名
称,它就是你的内核名称 。例如:
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
通常,这个名称是大写的,如果正维护着多台不同硬件的FreeBSD 机器,以你机器的域
名来命名是非常好的主意 。我们把它命名为MYKERNEL 就是这个原因 。
注意:你必须以root 帐户登陆再执行下面的命令,否则你会没有权限,而导致错误 。
现在,用你喜欢的文本编辑器编辑MYKERNEL 。如果你是初学者,那唯一能用的编辑器
可能就是vi,它由于太复杂而不在这儿介绍了,但在参考书目中有许多书会介绍到它 。然
而,FreeBSD 中最容易的编辑器是ee,如果你是一个工程师,它是一个非常好的选择 。你可
以很自由地改变注释行来反映你的配置情况,或你在GERNERIC 中已经做的变化 。如果你在
Sunos 或其它BSD 系统下定制过内核,那这个文件中的绝大部分将对你非常熟悉 。如果你使

推荐阅读