10.3.浏览系统硬件 ================= 在编辑内核配置文件之前,建议对机器的硬件进行一次清点。在双系统中,可以从另一个操作系统中创建清单。例如,Microsoft Windows 的设备管理器包含了关于已安装设备的信息。 如果 FreeBSD 是唯一被安装的操作系统,使用 `dmesg(8) `__ 来确定在启动探测过程中发现并列出的硬件。FreeBSD 上的大多数设备驱动程序都有一个手册页,列出了该驱动程序所支持的硬件。例如,下面几行表示驱动 `psm(4) `__ 找到了一个鼠标: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session psm0: 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) `__\ ,它提供了更多粗略的输出。例如: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session % pciconf -lv 输出应该和下面类似: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session 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`` 参数可以用来提供有用的信息。例如,它可以用来显示包含一个特定设备品牌或名称的手册页面的列表: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session # man -k Atheros 输出应该和下面类似: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session ath(4) - Atheros IEEE 802.11 wireless network driver ath_hal(4) - Atheros Hardware Access Layer (HAL) 在创建硬件清单之后,需要参考它来确保在编辑定制内核配置时,不会删除已安装硬件的驱动程序。