commit 76dcb59738df5b35819bc92b1a0167d741eabf58
Author: Jaromir Hradilek <jhradile(a)redhat.com>
Date: Wed Feb 2 00:18:00 2011 +0100
Various corrections and minor modifications.
Thanks to Andrew Ross for reporting these issues.
en-US/Book_Info.xml | 2 +-
en-US/Working_with_Kernel_Modules.xml | 46 +++++++++++++++++---------------
2 files changed, 25 insertions(+), 23 deletions(-)
---
diff --git a/en-US/Book_Info.xml b/en-US/Book_Info.xml
index e2ab8cc..3c6faae 100644
--- a/en-US/Book_Info.xml
+++ b/en-US/Book_Info.xml
@@ -7,7 +7,7 @@
<productname>Red Hat Enterprise Linux</productname>
<productnumber>6</productnumber>
<edition>1</edition>
- <pubsnumber>80</pubsnumber>
+ <pubsnumber>82</pubsnumber>
<abstract>
<para>The <citetitle>Deployment Guide</citetitle> documents
relevant information regarding the deployment, configuration and administration of
&MAJOROSVER;.</para>
</abstract>
diff --git a/en-US/Working_with_Kernel_Modules.xml
b/en-US/Working_with_Kernel_Modules.xml
index 74f47e0..9c4f426 100644
--- a/en-US/Working_with_Kernel_Modules.xml
+++ b/en-US/Working_with_Kernel_Modules.xml
@@ -16,14 +16,14 @@
<primary>drivers</primary>
<see>kernel module</see>
</indexterm>
- <para>The Linux kernel is modular, which means it can extend its capabilities
through the use of dynamically-loaded <firstterm>kernel modules</firstterm>. A
Kernel module can provide:</para>
+ <para>The Linux kernel is modular, which means it can extend its capabilities
through the use of dynamically-loaded <firstterm>kernel modules</firstterm>. A
kernel module can provide:</para>
<itemizedlist>
<listitem>
<para>a device driver which adds support for new hardware; or,</para>
</listitem>
<listitem>
<para>support for a file system such as <systemitem
- class="filesystem">btrfs</systemitem> or<systemitem
+ class="filesystem">btrfs</systemitem> or <systemitem
class="filesystem">NFS</systemitem>.</para>
</listitem>
</itemizedlist>
@@ -235,7 +235,10 @@ parm: EEE:Enable/disable on parts that support the feature
(array of i
</listitem>
</itemizedlist>
<para>You can list all parameters that the module supports by using the
<option>-p</option> option. However, because useful value type information is
omitted from <command>modinfo -p</command> output, it is more useful to
run:</para>
- <screen>~]# <command>modinfo e1000e |grep
"^parm" |sort</command>
+ <example
+ id="ex-Listing_module_parameters">
+ <title>Listing module parameters</title>
+ <screen>~]# <command>modinfo e1000e | grep
"^parm" | sort</command>
parm: copybreak:Maximum size of packet that is copied to a new buffer on
receive (uint)
parm: CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC
(array of int)
parm: EEE:Enable/disable on parts that support the feature (array of int)
@@ -248,6 +251,7 @@ parm: SmartPowerDownEnable:Enable PHY smart power down
(array of int)
parm: TxAbsIntDelay:Transmit Absolute Interrupt Delay (array of int)
parm: TxIntDelay:Transmit Interrupt Delay (array of int)
parm: WriteProtectNVM:Write-protect NVM [WARNING: disabling this can lead to
corrupted NVM] (array of int)</screen>
+ </example>
</listitem>
</varlistentry>
</variablelist>
@@ -292,7 +296,7 @@ parm: WriteProtectNVM:Write-protect NVM [WARNING: disabling
this can l
class="directory">scsi/</filename>, for network and SCSI
interface drivers respectively.</para>
<para>Some modules have dependencies, which are other kernel modules that must
be loaded before the module in question can be loaded. The
<command>modprobe</command> command always takes dependencies into account
when performing operations. When you ask <command>modprobe</command> to load a
specific kernel module, it first examines the dependencies of that module, if there are
any, and loads them if they are not already loaded into the kernel.
<command>modprobe</command> resolves dependencies recursively: it will load
all dependencies of dependencies, and so on, if necessary, thus ensuring that all
dependencies are always met.<!-- Because of this, there is no need to determine and
resolve module dependencies manually.-->
</para>
- <para>You can use the <option>-v</option> (i.e.
<option>--verbose</option>) option to cause
<command>modprobe</command> to display detailed information about what it is
doing, which may include loading module dependencies. Here's an example of loading the
<systemitem
+ <para>You can use the <option>-v</option> (or
<option>--verbose</option>) option to cause
<command>modprobe</command> to display detailed information about what it is
doing, which may include loading module dependencies. The following is an example of
loading the <systemitem
class="protocol">Fibre Channel over Ethernet</systemitem>
module verbosely:</para>
<example
id="ex-modprobe_-v_shows_module_dependencies_as_they_are_loaded">
@@ -375,7 +379,7 @@ insmod
/lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/fcoe/fcoe.ko</scree
<para>Refer to <xref
linkend="sec-Listing_Currently-Loaded_Modules"/> for more
information about using <command>lsmod</command> to obtain the names of the
modules which are preventing you from unloading a certain module.</para>
<para>For example, if you want to unload the <systemitem
- class="resource">firewire_ohci</systemitem> module because
(because you believe there is a bug in it that is affecting system stability, for
example), your terminal session might look similar to this:</para>
+ class="resource">firewire_ohci</systemitem> module (because
you believe there is a bug in it that is affecting system stability, for example), your
terminal session might look similar to this:</para>
<screen>~]# <command>modinfo -F depends
firewire_ohci</command>
depends: firewire-core
~]# <command>modinfo -F depends firewire_core</command>
@@ -443,7 +447,7 @@ rmmod
/lib/modules/2.6.32-71.el6.x86_64/kernel/lib/crc-itu-t.ko</screen>
</command>
</screen>
</example>
- <para>Here are some things to be aware of when loading a module with custom
parameters on the command line:</para>
+ <para>When loading a module with custom parameters on the command line, be
aware of the following:</para>
<itemizedlist>
<listitem>
<para>You can enter multiple parameters and values by separating them with
spaces.</para>
@@ -533,7 +537,7 @@ fi</programlisting>
class="resource">uinput</systemitem> module by calling
<command>exec /sbin/modprobe uinput</command>. Note that the <systemitem
class="resource">uinput</systemitem> module creates the
<filename>/dev/input/uinput</filename> file, so testing to see if that file
exists serves as verification of whether the <systemitem
class="resource">uinput</systemitem> module is loaded into
the kernel.</para>
- <para>The following <command>>/dev/null
2>&1</command> clause at the end of that line simply redirects any
output to <filename>/dev/null</filename> so that the
<command>modprobe</command> command remains quiet.</para>
+ <para>The following <command>>/dev/null
2>&1</command> clause at the end of that line redirects any output to
<filename>/dev/null</filename> so that the
<command>modprobe</command> command remains quiet.</para>
</example>
<!-- silas: most modules are autoloaded these days...
<note
@@ -634,13 +638,11 @@ fi</programlisting>
class="filesystem">sysfs</systemitem> is a virtual file
system that represents kernel objects as directories, files and symbolic links.
<systemitem
class="filesystem">sysfs</systemitem> can be used to query
for information about kernel objects, and can also manipulate those objects through the
use of normal file system commands. The <systemitem
class="filesystem">sysfs</systemitem> virtual file system
has a line in <filename>/etc/fstab</filename>, and is mounted under the
<filename>/sys/</filename> directory. All bonding interfaces can be configured
dynamically by interacting with and manipulating files under the
<filename>/sys/class/net/</filename> directory. </para>
- <para>After you have created a channel bonding interface file such as
<filename>ifcfg-bond0</filename> and inserted <parameter
- class="option">SLAVE=yes</parameter> and <parameter
- class="option">MASTER=bond0</parameter> directives in the
configuration files for each interface bonded to bond0 following the instructions in
<xref
- linkend="s2-networkscripts-interfaces-chan"/>, you can proceed
to testing and determining the best parameters for your bonding interface.</para>
- <para>First, bring up the bond you created by running
<command>ifconfig
<option>bond<replaceable><N></replaceable>
- </option> <option>up</option>
- </command> as root:</para>
+ <para>In order to determine the best parameters for your bonding interface,
create a channel bonding interface file such as
<filename>ifcfg-bond0</filename> by following the instructions in <xref
+ linkend="s2-networkscripts-interfaces-chan"/>. Then insert the
<parameter
+ class="option">SLAVE=yes</parameter> and <parameter
+ class="option">MASTER=bond0</parameter> directives in the
configuration files for each interface bonded to bond0. Once this is completed, you can
proceed to testing the parameters.</para>
+ <para>First, bring up the bond you created by running
<command>ifconfig
<option>bond<replaceable><N></replaceable>
</option> <option>up</option></command> as
root:</para>
<screen>~]# <command>ifconfig bond0 up</command>
</screen>
<para>If you have correctly created the
<filename>ifcfg-bond0</filename> bonding interface file, you will be able to
see <computeroutput>bond0</computeroutput> listed in the output of running
<command>ifconfig</command> (without any options):</para>
@@ -677,7 +679,7 @@ bond0</screen>
<para>...or, using the name of the mode:</para>
<screen>~]# <command>echo balance-alb >
/sys/class/net/bond0/bonding/mode</command>
</screen>
- <para>After configuring some options for the bond in question, you can
bring it up and test it by running <command>ifconfig
bond<replaceable><N></replaceable> <option>up</option>
+ <para>After configuring options for the bond in question, you can bring it
up and test it by running <command>ifconfig
bond<replaceable><N></replaceable> <option>up</option>
</command>. If you decide to change the options, take the interface down,
modify its parameters using <systemitem
class="filesystem">sysfs</systemitem>, bring it back up,
and re-test.</para>
<para>Once you have determined the best set of parameters for your bond,
add those parameters as a space-separated list to the <parameter
@@ -795,7 +797,7 @@ bond0</screen>
</literal>
</term>
<listitem>
- <para>...where
<replaceable><value></replaceable> is one of:</para>
+ <para>Allows you to specify the bonding policy. The
<replaceable><value></replaceable> can be one of:</para>
<itemizedlist>
<listitem>
<para>
@@ -976,27 +978,27 @@ bond0</screen>
<itemizedlist>
<listitem>
<para>
- <command>man lsmod</command> — The
<command>lsmod</command> manual page contains usage information and
explanation of all options.</para>
+ <command>man lsmod</command> — The manual page for the
<command>lsmod</command> command.</para>
</listitem>
<listitem>
<para>
- <command>man modinfo</command> — The
<command>modinfo</command> manual page contains usage information and
explanation of all options.</para>
+ <command>man modinfo</command> — The manual page for the
<command>modinfo</command> command.</para>
</listitem>
<listitem>
<para>
- <command>man modprobe</command> — The
<command>modprobe</command> manual page contains usage information and
explanation of all options.</para>
+ <command>man modprobe</command> — The manual page for the
<command>modprobe</command> command.</para>
</listitem>
<listitem>
<para>
- <command>man rmmod</command> — The
<command>rmmod</command> manual page contains usage information and
explanation of all options.</para>
+ <command>man rmmod</command> — The manual page for the
<command>rmmod</command> command.</para>
</listitem>
<listitem>
<para>
- <command>man ethtool</command> — The
<command>ethtool</command> manual page contains usage information and
explanation of all options.</para>
+ <command>man ethtool</command> — The manual page for the
<command>ethtool</command> command.</para>
</listitem>
<listitem>
<para>
- <command>man mii-tool</command> — The
<command>mii-tool</command> manual page contains usage information and
explanation of all options.</para>
+ <command>man mii-tool</command> — The manual page for the
<command>mii-tool</command> command.</para>
</listitem>
</itemizedlist>
<bridgehead