Add a section on finding the hardware and matching them to device drivers.

PR:		112684
Reviewed by:	brueffer
This commit is contained in:
Tom Rhodes 2008-01-24 09:50:06 +00:00
parent a27da864d9
commit cf40f34793
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=31351

View file

@ -127,6 +127,90 @@
</itemizedlist>
</sect1>
<sect1 id="kernelconfig-devices">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Finding the System Hardware</title>
<para>Before venturing into kernel configuration, it would be wise
to get an inventory of the machine's hardware. In cases where
&os; is not the primary operating system, the inventory list may
easily be created by viewing the current operating system
configuration. For example, &microsoft;'s
<application>Device Manager</application> normally contains
important information about installed devices. The
<application>Device Manager</application> is located in the
control panel.</para>
<note>
<para>Some versions of &microsoft.windows; have a
<application>System</application> icon which will display a
screen where <application>Device Manager</application> may
be accessed.</para>
</note>
<para>If another operating system does not exist on the machine,
the administrator must find this information out manually. One
method is using the &man.dmesg.8; utility and the &man.man.1;
commands. Most device drivers on &os; have a manual page, listing
supported hardware, and during the boot probe, found hardware
will be listed. For example, the following lines indicate that
the <devicename>psm</devicename> driver found a mouse:</para>
<programlisting>psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0</programlisting>
<para>This driver will need to be included in the custom kernel
configuration file or loaded using &man.loader.conf.5;.<para>
<para>On occasion, the data from <command>dmesg</command> will
only show system messages instead of the boot probe output. In
these situations, the output may be obtained by viewing the
<filename>/var/log/dmesg.today</filename> and
<filename>/var/log/dmesg.yesterday</filename> files.</para>
<para>Another method of finding hardware is by using the
&man.pciconf.8; utility which provides more verbose output.
For example:</para>
<programlisting>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</programlisting>
<para>This bit of output, obtained using
<command>pciconf <option>-lv</option></command> shows that the
<devicename>ath</devicename> driver located a wireless Ethernet
device. Using
<command>man <replaceable>ath</replaceable></command> will return
the &man.ath.4; manual page.</para>
<para>The <option>-k</option> flag, when passed to &man.man.1;
can also be used to provide useful information. From the
above, one can issue:</para>
<screen>&prompt.root; man -k <replaceable>Atheros</replaceable></screen>
<para>To get a list of manual pages which contain that particular
word:</para>
<programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
<para>Armed with a hardware inventory list, the process of building
a custom kernel should appear less daunting.</para>
</sect1>
<sect1 id="kernelconfig-building">
<title>Building and Installing a Custom Kernel</title>
<indexterm>