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>
|
</itemizedlist>
|
||||||
</sect1>
|
</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">
|
<sect1 id="kernelconfig-building">
|
||||||
<title>Building and Installing a Custom Kernel</title>
|
<title>Building and Installing a Custom Kernel</title>
|
||||||
<indexterm>
|
<indexterm>
|
||||||
|
|
Loading…
Reference in a new issue