Add a section on finding the hardware and matching them to device drivers.
PR: 112684 Reviewed by: brueffer
This commit is contained in:
parent
a27da864d9
commit
cf40f34793
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=31351
1 changed files with 84 additions and 0 deletions
|
@ -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, µsoft;'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 µsoft.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: <PS/2 Mouse> 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>
|
||||
|
|
Loading…
Reference in a new issue