8.3 探測系統硬體

Written by Tom Rhodes.

在進行 kernel 設定的探索之旅前, 先把該機器各項硬體資訊作點調查會是明智之舉。 若 FreeBSD 並非主要的作業系統,那麼也可以輕鬆透過目前所使用的作業系統, 來查看相關硬體資訊表。 舉例來說,Microsoft® 的 裝置管理員(Device Manager) 內通常會有目前有裝的硬體資訊。 而 裝置管理員 是在控制台。

Note: Microsoft Windows® 某些版本則是先透過 系統(System) 再進入 裝置管理員

若該機器尚未安裝任何作業系統,那麼就要親自找出相關硬體資訊。 其中一種方式是透過 dmesg(8) 以及 man(1)。 FreeBSD 上大多硬體都會有相關的 man 說明有支援的規格型號, 並且開機的偵測過程中,也會列出有找到的硬體。 舉個例子, 下面這幾行是說有偵測到滑鼠,並且是以 psm 驅動程式:

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

驅動程式必須要在自訂的 kernel 設定檔內加入,或者是用 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) 的相關說明。

在使用 man(1) 時,加上 -k 參數也可以提供比較精準的資訊。 以上述例子而言,可以改為打:

# man -k Atheros

就會列出有含上述關鍵字的相關 man 說明:

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

知己知彼,先瞭解相關硬體環境,才能讓接下來的自訂 kernel 打造過程更為順利。

本文及其他文件,可由此下載:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

若有 FreeBSD 方面疑問,請先閱讀 FreeBSD 相關文件,如不能解決的話,再洽詢 <questions@FreeBSD.org>。
關於本文件的問題,請洽詢 <doc@FreeBSD.org>。