FreeBSD 使用手册
上一页 | 第9章 　配置FreeBSD的内核 | 下一页

# 9.4 内核驱动，子系统和模块

在编译一个制定的内核之前请三思一下这么做的理由， 如果仅是需要某个特定的硬件支持的话， 那么很可能已经存在一个现成的模块了。

内核模块存放在目录 `/boot/kernel` 中，并能由 kldload(8) 命令加载入正在运行的内核。 基本上所有的内核驱动都有特定的模块和手册页。比如， 下面提到的 `ath` 无线以太网驱动。 在这个设备的联机手册中有以下信息：

    Alternatively, to load the driver as a module at boot time, place the
    following line in loader.conf(5):

        if_ath_load="YES"

遵照示例，在 `/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>.