9.3. 发现系统硬件

作者 Tom Rhodes.

在尝试配置内核以前,比较明智的做法是先获得一份机器硬件的清单。 当 FreeBSD 并不是主操作系统时,通过查看当前操作系统的配置可以很容易的 创建一份机器硬件的配置清单。举例来说, Microsoft® 的 设备管理器 里通常含有关于已安装硬件的重要信息。 设备管理器 位于控制面板。

注意:

某些版本的 Microsoft® Windows® 有一个 系统 图标会指明 设备管理器 的位置。

如果机器上并不存在其他的操作系统, 系统管理员只能手动寻找这些信息了。其中的一个方法是使用 dmesg(8) 工具以及 man(1) 命令。FreeBSD 上大多数的驱动程序都有一份手册页(manual page)列出了所支持的硬件, 在系统启动的时候,被发现的硬件也会被列出。举例来说, 下面的这几行表示 psm 驱动找到了一个鼠标:

psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0

这个驱动需要被包含在客户制定的内核配置文件里, 或着使用 loader.conf(5) 加载。

有时,dmesg 里只会显示来自系统消息的数据, 而不是系统启动时的检测信息。在这样的情况下,你可以查看文件 /var/run/dmesg.boot

另一个查找硬件信息的方法是使用 pciconf(8) 工具, 它能提供更详细的输出,比如:

ath0@pci0:3:0:0:        class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
    vendor     = 'Atheros Communications Inc.'
    device     = 'AR5212 Atheros AR5212 802.11abg wireless'
    class      = network
    subclass   = ethernet

这个片断取自于 pciconf -lv 命令的输出,显示 ath 驱动找到了一个无线以太网设备。输入命令 man ath 就能查阅有关 ath(4) 的手册页(manual page)了。

还可以传给 man(1) 命令 -k 选项, 同样能获得有用的信息。例如:

# man -k Atheros

能得到一份包含特定词语的手册页(manual page):

ath(4)                   - Atheros IEEE 802.11 wireless network driver
ath_hal(4)               - Atheros Hardware Access Layer (HAL)

手头备有一份硬件的配置清单, 那么编译制定内核的过程就显得不那么困难了。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.