10.3.浏览系统硬件

在编辑内核配置文件之前,建议对机器的硬件进行一次清点。在双系统中,可以从另一个操作系统中创建清单。例如,Microsoft Windows 的设备管理器包含了关于已安装设备的信息。

如果 FreeBSD 是唯一被安装的操作系统,使用 dmesg(8) 来确定在启动探测过程中发现并列出的硬件。FreeBSD 上的大多数设备驱动程序都有一个手册页,列出了该驱动程序所支持的硬件。例如,下面几行表示驱动 psm(4) 找到了一个鼠标:

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

由于这个硬件的存在,不应该从定制内核配置文件中删除这个驱动。

如果 dmesg 的输出没有显示启动探针输出的结果,请改为读取 /var/run/dmesg.boot 的内容。

另一个查看硬件的工具是 pciconf(8),它提供了更多粗略的输出。例如:

% pciconf -lv

输出应该和下面类似:

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

这个输出表示驱动 ath 找到了一个无线以太网设备:

man(1)-k 参数可以用来提供有用的信息。例如,它可以用来显示包含一个特定设备品牌或名称的手册页面的列表:

# man -k Atheros

输出应该和下面类似:

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

在创建硬件清单之后,需要参考它来确保在编辑定制内核配置时,不会删除已安装硬件的驱动程序。