在编译一个制定的内核之前请三思一下这么做的理由, 如果仅是需要某个特定的硬件支持的话, 那么很可能已经存在一个现成的模块了。
内核模块存放在目录
/boot/kernel
中,并能由 kldload(8) 命令加载入正在运行的内核。
基本上所有的内核驱动都有特定的模块和手册页。比如,
下面提到的 ath
无线以太网驱动。
在这个设备的联机手册中有以下信息:
遵照示例,在 /boot/loader.conf
中加入
if_ath_load="YES"
则能在机器启动的时候动态加载这个模块。
某些情况下,则没有相关的模块。通常是一些子系统和非常重要的驱动, 比如,快速文件系统 (FFS) 就是一个内核必需的选项。 同样的还有网络支持 (INET)。不幸的是, 分辨一个驱动是否必需的唯一方法就是检查测试以下那个模块本身。
去除某个驱动的支持或某个选项会非常容易得到一个坏掉的内核。
举例来说,如果把 ata(4) 驱动从内核配置文件中去掉,
那么一个使用 ATA
磁盘设备的系统可能就变得无法引导,除非有在
loader.conf
中加载。当你无法确定的时候,
请检查一下那个模块并把它留在你的内核配置中。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.