Finished moving most of the bullet points over to examples with minor revisions to fix up the text flow and remove contractions.

This commit is contained in:
emmajane 2004-07-23 04:30:55 +00:00
parent 3dfa0d0ceb
commit 7dab3ddb71
1 changed files with 203 additions and 174 deletions

View File

@ -135,12 +135,12 @@
<sect2 id="preface">
<title>Preface</title>
<para>When I first started the switch from <xref linkend="APM" /> to <xref linkend="ACPI" /> I didn't realize the
<para>When I first started the switch from <xref linkend="APM" /> to <xref linkend="ACPI" /> I did not realize the
kernel needed to be patched. My problem (very loud fan) was fixed just
by upgrading to 2.4.20 (<xref linkend="debian" /> packaged <xref linkend="kernel" /> with an earlier <xref linkend="patch" /> from
<ulink url="http://acpi.sourceforge.net">acpi.sourceforge.net</ulink>).
Unfortunately after the first upgrade I wasn't able to correctly power down my computer.
It wasn't until later that
Unfortunately after the first upgrade I was not able to correctly power down my computer.
It was not until later that
I realized I had an old, ineffectual ACPI patch. This HOWTO was
written to summarize the install process for myself, and hopefully help others who
are also having a hard time finding information about ACPI. Please note:
@ -165,7 +165,7 @@ of doing things. There is also generic information in the
lists</ulink> (discuss and docbook)
</para></listitem>
<listitem><para>Sebastian Henschel for reminding me I'd promised to write
<listitem><para>Sebastian Henschel for reminding me I had promised to write
it all down</para></listitem>
<listitem><para>Erich Schubert for writing the section on DSDTs when I could not</para></listitem>
@ -315,7 +315,7 @@ url="http://tuxmobil.org/Mobile-Guide.db/mobile-guide-p2c1-hardware-in-detail.ht
system only supported ACPI. Pretty easy decision really. If you are switching
to get <ulink
url="http://acpi.sourceforge.net/documentation/sleep.html">S3</ulink> (suspend
to RAM) support and you are using a 2.4.x kernel, don't bother. It is <ulink
to RAM) support and you are using a 2.4.x kernel, do not bother. It is <ulink
url="http://lists.debian.org/debian-laptop/2003/debian-laptop-200304/msg00418.html">not supported</ulink>.</para>
<para><ulink url="http://acpi.sf.net">ACPI4Linux</ulink> has a list of <ulink
@ -384,7 +384,7 @@ the fixed table into your kernel source with a special filename (or
modifying the filename in the patch supplied at the <ulink
url="http://acpi.sourceforge.net/dsdt/index.php">DSDT page</ulink>)
This override is quite easy: instead of loading the DSDT table from
BIOS, the kernel uses the compiled-in DSDT table. That's all.</para>
BIOS, the kernel uses the compiled-in DSDT table. That is all.</para>
</sect2>
<sect2 id="kernelchoice">
@ -433,27 +433,27 @@ grasp of reality so it is not covered in this document.</para></warning>
one you are about to patch I recommend creating a fresh
directory for the newly patched kernel. You should create a backup of all important kernel configuration and kernel-related files that may be affected by your work. Remember that backups are <emphasis>never</emphasis> a bad thing and can be easily deleted after your system has been successfully patched.</para>
<example id="ex-backups">
<title>Files to Backup</title>
<procedure>
<step><para><filename>/etc/lilo.conf</filename></para></step>
<step><para><filename>/usr/src/*.deb</filename>
(Debian-specific)</para></step>
<step><para><filename>/etc/modules</filename></para></step>
<step><para><filename>/etc/modutils/aliases</filename></para></step>
<step><para><filename>/usr/src/linux/.config</filename></para></step>
</procedure>
<example id="ex-backups" xreflabel="Files to backup">
<title>Files to backup</title>
<itemizedlist>
<listitem><para><filename>/etc/lilo.conf</filename></para></listitem>
<listitem><para><filename>/usr/src/*.deb</filename>
(Debian-specific)</para></listitem>
<listitem><para><filename>/etc/modules</filename></para></listitem>
<listitem><para><filename>/etc/modutils/aliases</filename></para></listitem>
<listitem><para><filename>/usr/src/linux/.config</filename></para></listitem>
</itemizedlist>
<para>If you are <emphasis>not</emphasis> doing things The Debian Way you should also back up the following files:</para>
<procedure>
<step><para><filename class="directory">/lib/modules</filename> (the entire directory)</para></step>
<step><para><filename>/boot/vmlinuz</filename></para></step>
<step><para><filename>/usr/src/linux/arch/i386/boot/bzImage</filename></para></step>
<step><para><filename>/usr/src/System.map</filename></para></step>
</procedure>
<itemizedlist>
<listitem><para><filename class="directory">/lib/modules</filename> (the entire directory)</para></listitem>
<listitem><para><filename>/boot/vmlinuz</filename></para></listitem>
<listitem><para><filename>/usr/src/linux/arch/i386/boot/bzImage</filename></para></listitem>
<listitem><para><filename>/usr/src/System.map</filename></para></listitem>
</itemizedlist>
<para>It's possible the location of these files differs on your system. Use <application>locate</application> as follows if the files are not in the locations specified above: <cmdsynopsis><command>locate</command> <replaceable>&lt;file&gt;</replaceable></cmdsynopsis></para>
<para>It is possible the location of these files differs on your system. Use <application>locate</application> as follows if the files are not in the locations specified above: <cmdsynopsis><command>locate</command> <replaceable>&lt;file&gt;</replaceable></cmdsynopsis></para>
</example>
@ -464,11 +464,21 @@ directory for the newly patched kernel. You should create a backup of all import
<sect3 id="requiredpackages">
<title>Required packages</title>
<para>The following is a list of packages required to patch a 2.4.x series
kernel. I am still working on the full notes for a 2.6.x series install.</para>
<para>The following is a list of packages required to patch a kernel.</para>
<example id="ex-requiredpackages">
<example id="ex-requiredpackages" xreflabel="Packages required for patching your kernel">
<title>Packages required for patching your kernel</title>
<itemizedlist>
<title>2.6.x series kernels</title>
<listitem><para>kernel source files</para></listitem>
<listitem><para>ACPI patch that exactly matches the kernel
version</para></listitem>
<listitem><para>debian packages: binutils, e2fsprogs, gcc, make, module-init-tools, procps, util-linux (see also the list from 2.4)</para></listitem>
</itemizedlist>
<caution><title>Learn more about the 2.6 kernel before you upgrade</title>
<para>This HOWTO does not include information on how to migrate from a 2.4 series kernel to a 2.6 series kernel. Please read the resources listed in <xref linkend="ref-upgrade-26" /> before attempting a kernel upgrade.</para></caution>
<itemizedlist>
<title>2.4.x series kernels</title>
<listitem><para>kernel source files</para></listitem>
@ -480,13 +490,40 @@ kernel. I am still working on the full notes for a 2.6.x series install.</para>
</example>
</sect3>
<sect3 id="unpack">
<title>Unpack</title>
<para>We need to unpack the bz2 file (bzip2) and move the directories into place.
<filename class="directory">/usr/src/linux</filename> probably points
to your current kernel. We need it to point to the new kernel, so we will update that link now as well.</para>
<sect3 id="get-kernel-source">
<?dbhtml filename="get-kernel-source.html"?>
<title>Getting the Source Files</title>
<para>Download a fresh kernel from <ulink
url="http://www.kernel.org">www.kernel.org</ulink>. You need to make sure you
get a full kernel. Find the <quote>latest stable version of the Linux kernel</quote>
and click on <option>F</option> for FULL. Wait patiently. A bzipped kernel
is about 26M. If you are feeling particularly geeky you could also grab the file from the command line with <application>wget</application>.</para>
<example id="ex-unpack">
<tip><para>You may or may not want the latest stable version. For more information
read the <xref linkend="kernelchoice" /> section of
this document. If you decide to use a version of the kernel that is not
published on the front page, use the <ulink
url="http://www.kernel.org/pub/linux/kernel/">/pub/linux/kernel</ulink>
directory on the <ulink url="http://www.kernel.org">kernel.org</ulink>
site to find the kernel you would like.</para></tip>
<example id="ex-downloadkernel" xreflabel="Download the kernel and patch">
<title>Download the kernel and patch</title>
<procedure>
<step><cmdsynopsis><command>wget</command> <filename>http://kernel.org/pub/linux/kernel/v2.4/linux-&kernel-version;.tar.bz2</filename></cmdsynopsis></step>
<step><para>Download the latest patch for your kernel. This may or may not be the newest patch available. Please look carefully. For example: if you are using the 2.4.20 kernel you would get <filename>acpi-20021212-2.4.20.diff.gz</filename>. The patches can be downloaded from: <ulink url="http://prdownloads.sourceforge.net/acpi"/>.</para></step>
<step><para>Note the revision date. In this example above the date is 20021212 (December 12, 2002), but it will almost certainly be different for your kernel. You will need to know this number when you check to make sure the patch worked.</para></step>
</procedure>
</example>
</sect3>
<sect3 id="unpack" xreflabel="Unpack">
<title>Unpack</title>
<para>You will need to unpack the bz2 file (bzip2) and move the directories into place.
<filename class="directory">/usr/src/linux</filename> probably points
to your current kernel. This link must point to the new kernel, you will update that link now as well.</para>
<example id="ex-unpack" xreflabel="Unpacking your kernel source files">
<title>Unpacking your kernel source files</title>
<procedure>
<step><para>
@ -502,7 +539,7 @@ to your current kernel. We need it to point to the new kernel, so we will update
<step><para>
<command>rm <filename>linux</filename></command>
(assuming that's a link to your old kernel)
(assuming it is a link to your old kernel)
</para></step>
<step><para>
@ -515,7 +552,7 @@ to your current kernel. We need it to point to the new kernel, so we will update
</example>
<para>If your kernel needs to be patched, do so now.
Instructions are available from <xref linkend="howto-patch" />.</para>
Full instructions are available from <xref linkend="howto-patch" /> or you can skip right to the step-by-step instructions at <xref linkend="ex-patch" />.</para>
</sect3>
</sect2>
@ -530,12 +567,12 @@ Instructions are available from <xref linkend="howto-patch" />.</para>
from <xref linkend="howto-patch" />. Always check to see if your kernel should be patched.</para>
</note>
<para>We will use <command>make <parameter>oldconfig</parameter></command> to configure your new kernel. Using <parameter>oldconfig</parameter> instead of <parameter>menuconfig</parameter> allows us to start with the options you have selected in your current kernel and prompts you to select your preference for all new kernel options. This is much easier than looking for all of the new options by hand. For everything specific to ACPI and your
<para>Use <command>make <parameter>oldconfig</parameter></command> to configure your new kernel. Using <parameter>oldconfig</parameter> instead of <parameter>menuconfig</parameter> allows you to start with the options you have selected in your current kernel and prompts you to select your preference for all new kernel options. This is much easier than looking for all of the new options by hand. For everything specific to ACPI and your
hardware (if you use a Toshiba choose the Toshiba options, Asus choose the Asus
options) choose <option>M</option> for module. There are about ten
different ACPI related options that you will need to select.</para>
<example id="ex-configure">
<example id="ex-configure" xreflabel="Configuring your kernel">
<title>Configuring your kernel</title>
<para>Please also read the list of <xref linkend="known-issues" />.</para>
@ -560,14 +597,14 @@ different ACPI related options that you will need to select.</para>
ACPI--you can also say <quote><option>Y</option></quote> if you prefer to compile it directly into your kernel)
</para></step>
<step><para>Now we will confirm the kernel is properly configured.</para>
<step><para>Please confirm the kernel is properly configured:</para>
<procedure>
<step><para><command>make <parameter>menuconfig</parameter></command></para></step>
<step><para>Select <quote><menuchoice><guimenu>General Setup</guimenu></menuchoice></quote></para></step>
<step><para>Confirm <menuchoice><guimenuitem>Power Management Support</guimenuitem></menuchoice>
is ON</para></step>
<step><para>Confirm <menuchoice><guimenuitem>APM (Advanced Power Management)</guimenuitem></menuchoice> is OFF (this is the old style of power management that we are replacing)</para></step>
<step><para>Confirm <menuchoice><guimenuitem>APM (Advanced Power Management)</guimenuitem></menuchoice> is OFF (this is the old style of power management that is being replaced)</para></step>
<step><para>Check everything to do with ACPI. Options related to your hardware should be <option>M</option> (modules) or <option>*</option> (compiled directly into the kernel). Read the list <emphasis>carefully</emphasis>. Some options will not apply to your hardware.</para></step>
<step><para>Exit and save the new configuration</para></step>
</procedure>
@ -583,11 +620,11 @@ different ACPI related options that you will need to select.</para>
<para>It is now time to compile the kernel. These instructions are for Debian users. If you are not using Debian, or you do not like compiling your kernel The Debian Way, please read <xref linkend="nodebkernel" /> for more help.</para>
<para>If you have additional modules that are not part of the main source
tree, you will need to add modules_image when you make your Debian
tree, you will need to add <parameter>modules_image</parameter> when you make your Debian
packages. This is almost inevitable if you are using a laptop and an older
kernel. I still need this option even in the 2.6.6 kernel due to my nVidia graphics card.</para>
<example id="ex-compile-deb">
<example id="ex-compile-deb" xreflabel="Compiling the kernel The Debian Way">
<title>Compiling the kernel The Debian Way</title>
<para>Each of these steps should be performed as the root user.</para>
@ -598,13 +635,13 @@ kernel. I still need this option even in the 2.6.6 kernel due to my nVidia graph
<step><para><command>make-kpkg <option>--append-to-version=.&kernel-name;</option> <parameter>kernel_image</parameter> <parameter>modules_image</parameter></command></para></step>
</procedure>
<para>I no longer use .<replaceable>date</replaceable> to distinguish
<para>I no longer use <replaceable>.date</replaceable> to distinguish
kernel builds. It was too frustrating to have 030627a, 032627b (etc) as I tried to figure things out. I now use names, in alphabetical order, starting with the kernel build <quote>alien</quote>. My current kernel build is <quote>Ulairi.</quote> (The machine itself is <quote>Smeagol</quote>--a name it has earned.)</para>
</example>
<para>Now that the kernel is compiled, we will <quote>install</quote> it. For Debian users this means installing the Debian package file you created in the last step and then loading the new kernel into <application>lilo</application>. I like to configure lilo on my own and have provided the instructions here, but I leave that decision up to you.</para>
<para>Now that the kernel is compiled it can be <quote>installed.</quote> For Debian users this means installing the Debian package file you created in the last step and then loading the new kernel into <application>lilo</application>. I like to configure lilo on my own and have provided the instructions here, but I leave that decision up to you.</para>
<example id="ex-kernel-install">
<example id="ex-kernel-install" xreflabel="Install the new kernel">
<title>Install the new kernel</title>
<para>Each of these steps should be performed as the root user.</para>
@ -648,51 +685,45 @@ read-only
</sect2>
<sect2 id="finishinstall">
<sect2 id="finishinstall" xreflabel="Reboot and test">
<title>Reboot and test</title>
<para>At this point you should reboot your machine. When your system comes
back up (assuming of course that everything went well and you still have a
system), check to see what kernel you are running with <command>uname
<option>-a</option></command>.
It should show you the one you just built. You also need to make
sure the correct patch was installed.</para>
system), you will need to check that you are running the new kernel with the correct patch.</para>
<example id="ex-check-revision">
<title>Check the version of ACPI that you are using</title>
<example id="ex-check-revision" xreflabel="Confirm installed kernel and ACPI patch version">
<title>Confirm installed kernel and ACPI patch version</title>
<para>The
revision is the date the patch was released and will be different for each kernel release. This number is for the 2.6.6 series kernel only. Assuming everything has gone well you can check the ACPI's revision date with the following command.</para>
<para>First you need to make sure you are running the correct kernel. This can be done with the command line tool <application>uname</application>. The
revision is the date the patch was released and will be different for each kernel release.</para>
<userinput>
<prompt>$ </prompt><command>cat <filename>/proc/acpi/info</filename></command>
&prompt; <command>uname <option>-a</option></command>
</userinput>
<para>Assuming you are indeed running the new kernel, you can now check the ACPI's revision date with the following command.</para>
<userinput>&prompt; <command>cat <filename>/proc/acpi/info</filename></command>
</userinput>
<para>This may give you only a version number, or a more detailed list. You are looking for the line that starts with <parameter>version:</parameter>.</para>
<para>If for some reason that gives you no information, you can also check the message printed when ACPI was first loaded as the system was booting.</para>
<para>If for some reason that gives you no information, you can also check the message printed when ACPI was first loaded as the system was booting. This information can be printed to a terminal window with the application <application>dmesg</application>.</para>
<userinput>
<prompt>$ </prompt>
<command>dmesg</command> |
<command>grep <parameter>ACPI.*Subsystem\ revision</parameter></command>
<userinput>&prompt; <command>dmesg</command> | <command>grep <parameter>ACPI.*Subsystem\ revision</parameter></command>
</userinput>
<para>It should give the output:
<computeroutput>ACPI: Subsystem revision 20040326</computeroutput>.
To look at all ACPI-related bits that
were loaded/started when your system rebooted, do this:
<userinput><command>dmesg</command> |
<command>grep <parameter>ACPI</parameter></command>
</userinput>.
<command>dmesg</command> prints your boot messages and <command>grep
<parameter>ACPI</parameter></command> makes sure that only ACPI-related
messages are printed.</para>
<computeroutput>ACPI: Subsystem revision 20040326</computeroutput>. The revision number is the date the patch was originally released by the development team. If you patched your kernel according to <xref linkend="howto-patch"/> this number will match the patch that you installed in <xref linkend="ex-patch" />.</para>
<para>To read all the ACPI-related information, you can expand the pattern that <application>grep</application> matches and selectively print all ACPI messages:</para>
<userinput>&prompt; <command>dmesg</command> | <command>grep <parameter>ACPI</parameter></command> </userinput>
</example>
</sect2>
<sect2 id="loadmodules">
<sect2 id="loadmodules" xreflabel="Load related modules">
<title>Load related modules</title>
<para>Check to see that each of the ACPI modules have been loaded after
your machine boots. You can do this with the command
@ -716,7 +747,7 @@ NVdriver 945408 11
is why I have a <quote>P</quote> next to Tainted on the top line.</para>
<para>If you compiled ACPI support in as <quote>M</quote>odules and you
don't see the ACPI modules listed you will need to load the modules by
do not see the ACPI modules listed you will need to load the modules by
hand. The modules should be in
<filename
class="directory">/lib/modules/&kernel-version;.
@ -759,13 +790,13 @@ matters.</para>
<para>The first time I tried this the modules were all in separate
directories and were ospm_&lt;name&gt;. This was probably because I was
using an old patch, but it is something to be aware of. The OSPM modules
are now deprecated so hopefully you won't see them.</para>
are now deprecated so hopefully you will not see them.</para>
</note>
<para>To prevent having to load
the modules each time you reboot you can do one of two things: compile them
directly into the kernel (bit late for that though, eh?), or add them to
your <filename>/etc/modules</filename> file. If you don't already have a copy of the
your <filename>/etc/modules</filename> file. If you do not already have a copy of the
file just create a new one and add each module name (remember, no
dot-o) on a separate line. You can also try running
<command>update-modules</command> which should automatically update your
@ -773,7 +804,7 @@ dot-o) on a separate line. You can also try running
</sect2>
</sect1>
<sect1 id="apm2acpi">
<sect1 id="apm2acpi" xreflabel="Switching from APM to ACPI">
<?dbhtml filename="apm2acpi.html"?>
<title>Switching from APM to ACPI</title>
<para>Do not let <application>apmd</application> and
@ -782,21 +813,18 @@ what you are doing. Debian will <emphasis>not</emphasis> make sure only one is r
at a time. You will have to check.
APM will try to put your system into S3. On the 2.4.x (and before) series
kernels this will quite probably hang your machine. S3 is not supported
until at least 2.5.x. Even the patch won't provide support for S3 in the
until at least 2.5.x. Even the patch will not provide support for S3 in the
2.4.x series kernels. I personally did an <command>apt-get remove apmd</command>
to solve the hanging problem.</para>
</sect1>
<sect1 id="usingacpi">
<sect1 id="usingacpi" xreflabel="Using ACPI">
<?dbhtml filename="usingacpi.html"?>
<title>Using ACPI</title>
<para>There are a few different applications/daemons you will want to install
on your system: <application>acpid</application> (the daemon that will control your hardware states), and <application>acpi</application> (the interface to monitor events and states) are the base install. The
<application>acpi</application> Debian package is only available in testing and is unstable. If
you are running stable you won't be able to install it without playing
you are running stable you will not be able to install it without playing
around with apt and your <filename>list.sources</filename> file. You can probably
also compile from source. If you do get <application>acpi</application>
installed you can use it to monitor your system like this: <command>acpi
@ -809,7 +837,7 @@ system. Mine looks like this:</para>
AC Adapter 1: on-line &lt;-- running off AC power
</screen>
<para>Unfortunately, the <option>-V</option> <quote>full version</quote> doesn't work for me.
<para>Unfortunately, the <option>-V</option> <quote>full version</quote> does not work for me.
Fortunately I can still look in each of the acpi files individually for
information about my system. Check in the <filename
class="directory">/proc/acpi</filename> directory
@ -863,7 +891,7 @@ battery type: Lion
OEM info: Acer
</screen>
<para>You're smart people. You can probably figure it out from here. :)</para>
<para>You are smart people. You can probably figure it out from here. :)</para>
</sect1>
@ -875,72 +903,50 @@ before you can add ACPI support. Although ACPI is included in the 2.6.x
series kernels you should check to see if any patches have been released
to fix bugs. You can find this information on the ACPI4Linux site.</para>
<sect1 id="get-kernel-source">
<?dbhtml filename="get-kernel-source.html"?>
<title>Getting the Source Files</title>
<para>Download a fresh kernel from <ulink
url="http://www.kernel.org">www.kernel.org</ulink>. You need to make sure you
get a full kernel. Find the <quote>latest stable version of the Linux kernel</quote>
and click on <option>F</option> for FULL. Wait patiently. A bzipped kernel
is about 26M. If you are feeling particularly geeky you could also
<command>wget</command>
<filename>http://kernel.org/pub/linux/kernel/v2.4/linux-&kernel-version;.tar.bz2</filename>.
</para>
<tip><para>You may or may not want the latest stable version. For more information
read the <xref linkend="kernelchoice" /> section of
this document. If you decide to use a version of the kernel that is not
published on the front page, use the <ulink
url="http://www.kernel.org/pub/linux/kernel/">/pub/linux/kernel</ulink>
directory on the <ulink url="http://www.kernel.org">kernel.org</ulink>
site to find the kernel you'd like.</para></tip>
<para>While you are waiting, grab a copy of the latest patch for your kernel. This may or may not be the newest patch available. Please look carefully. For example: if you are using the 2.4.20 kernel you would get <ulink
url="http://prdownloads.sourceforge.net/acpi/acpi-20021212-2.4.20.diff.gz?download" />. Note the revision date. In this case it is 20021212 (December 12, 2002), but it will almost certainly be different for your kernel. You will need to know this number when we check to make sure the patch worked.</para>
<para>Once you've got those two files (the kernel and the patch) unpack them
and patch the kernel.</para>
</sect1>
<sect1 id="kernelpatch">
<sect1 id="kernelpatch" xreflabel="Patch">
<?dbhtml filename="kernelpatch.html"?>
<title>Patch</title>
<para>Now we're going to actually patch the kernel. I take one extra step from
<para>Now you are going to actually patch the kernel. I take one extra step from
<ulink url="http://acpi.sourceforge.net/download.html">the instructions</ulink> at
ACPI4Linux. Instead of gunzipping and patching in the same line, I use two lines.
This is purely a matter of preference. When you patch the kernel you want
to make sure there are no error messages. (There is no <quote>yay</quote> line, instead
look for the absence of errors.)</para>
<itemizedlist>
<listitem><para>
<example id="ex-patch" xreflabel="Patching your kernel">
<title>Patching your kernel</title>
<para>These steps should be performed as the root user.</para>
<procedure>
<step><para>
<command>cd
<filename class="directory">/usr/src/linux</filename></command>
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>cp
<filename>acpi-20021212-2.4.20.diff.gz</filename>
<filename>/usr/src/linux/.</filename>
</command>
(Your patch filename will be different if you are not using the
2.4.20 kernel.)
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>gunzip
<filename>acpi-20021212-2.4.20.diff.gz</filename></command>
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>patch <option>-p<parameter>1</parameter></option> &lt;
<filename>acpi-20021212-2.4.20.diff</filename>
</command>
(this is the actual patching part)
</para></listitem>
</itemizedlist>
</para></step>
</procedure>
</example>
<para>Once you've finished patching your kernel, continue reading at <xref
<para>Once you have finished patching your kernel, continue reading at <xref
linkend="kernelconfig"/>.
</para>
</sect1>
@ -950,88 +956,97 @@ linkend="kernelconfig"/>.
<?dbhtml filename="nodebkernel.html"?>
<title>Compiling Kernels the Non-Debian Way</title>
<para>There is very little difference between The Debian Way and the
generic way. In fact it's probably only 10 or so lines of difference.</para>
generic way. In fact it is probably only 10 or so lines of difference.</para>
<sect1 id="nodebcompile">
<sect1 id="nodebcompile" xreflabel="Compile the kernel">
<?dbhtml filename="nodebcompile.html"?>
<title>Compile the kernel</title>
<para>The <quote>normal</quote> way of compiling a kernel does not use
<command>make-kpkg</command>. Instead, it uses the following steps:</para>
<itemizedlist>
<listitem><para>
<example id="ex-compilenodeb" xreflinkend="Compile the kernel">
<title>Compile the kernel</title>
<procedure>
<step><para>
<command>cd
<filename class="directory">/usr/src/linux</filename>
</command> which should point to the kernel (unzipped) files
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>make <parameter>dep</parameter></command>
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>make <parameter>clean</parameter></command>
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>make <parameter>bzImage</parameter></command>
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>make <parameter>modules</parameter></command>
(remember to unpack your modules first)
</para></listitem>
</itemizedlist>
</para></step>
</procedure>
</example>
</sect1>
<sect1 id="nodebinstall">
<sect1 id="nodebinstall" xreflabel="Install the new kernel">
<?dbhtml filename="nodebinstall.html"?>
<title>Install the new kernel</title>
<para>In <citetitle>The Debian Way</citetitle>, you create a deb file which contains information about where the kernel is (and makes the kernel and yada-yada). In the <quote>normal</quote> way, you put things where they need to be right away. You need to install your modules and then configure lilo to point to the new kernel and then run
lilo. If you are not doing things <citetitle>The Debian Way</citetitle> your <quote>install</quote> will look like this:</para>
<itemizedlist>
<listitem><para>
<example id="ex-nodebinstall" xreflabel="Install the new kernel">
<title>Install the new kernel</title>
<procedure>
<step><para>
<command>cd
<filename class="directory">/usr/src/linux</filename>
</command>
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>make
<parameter>modules_install</parameter></command>
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>cp
<filename>arch/i386/boot/bzImage</filename>
<filename>/boot/vmlinuz.&kernel-name;</filename>
</command>
</para></listitem>
</para></step>
<listitem><para>
<step><para>
<command>vi <filename>/etc/lilo.conf</filename></command> and copy the structure of your
existing kernel. Do NOT delete the reference to your existing kernel! You need
to point lilo to the <quote>vmlinuz</quote> file that was created when you compiled the
kernel above
</para></listitem>
</para></step>
<listitem><para><command>lilo</command> (yup, just exactly like that.)
<xref linkend="LILO" /> will let you know if it's going to have major problems loading
<step><para><command>lilo</command> (yup, just exactly like that.)
<xref linkend="LILO" /> will let you know if it is going to have major problems loading
the new kernel.
</para></listitem>
</itemizedlist>
</para></step>
</procedure>
</example>
<warning>
<para>Do NOT forget to run lilo before rebooting. Type
<command>lilo</command>. It's that easy (and that easy to forget).</para>
<command>lilo</command>. It is that easy (and that easy to forget).</para>
</warning>
</sect1>
<sect1 id="nodebsoftware">
<sect1 id="nodebsoftware" xreflabel="Software packages">
<?dbhtml filename="nodebsoftware.html"?>
<title>Software packages</title>
<para>You can still use all of the software mentioned in this HOWTO even if
you are not using Debian. Unfortunately it will take a little more effort on
your part to download and install everything. Fortunately it's really not
your part to download and install everything. Fortunately it is really not
that difficult. Most software packages include a README file when you
gunzip them which will explain what you need to do to get things working on
your system.</para>
@ -1040,7 +1055,7 @@ your system.</para>
<title>Software downloads</title>
<para>
For more information about software for ACPI, please use the
<xref linkend='software' />.
<xref linkend="ref-software" />.
</para>
</tip>
</sect1>
@ -1064,31 +1079,31 @@ your system.</para>
<listitem><para>touch pad/mouse or keyboard freezes</para></listitem>
</itemizedlist>
<sect1 id="known-issues-24">
<sect1 id="known-issues-24" xreflabel="2.4 series kernels">
<?dbhtml filename="known-issues-24.html"?>
<title>2.4 series kernels</title>
<sect2 id="dpms">
<title>Energy Star features</title>
<sect2 id="dpms-features" xreflabel="DPMS features">
<title>DPMS features</title>
<para>This is not a bug exactly, but it is something to be aware of. The
<application>XFree86</application> server has an option for <xref linkend="DPMS"/> (Energy Star) features. The DPMS states can be one of standby, suspend, off or on. Since the 2.4.x kernels
cannot suspend to disk, this can cause problems. I fixed my system by doing
two things:</para>
<itemizedlist>
<listitem><para>
<procedure>
<step><para>
<command>xset <option>-dpms</option></command> (disables DPMS features)
</para></listitem>
</para></step>
<listitem><para>
<step><para>
In <filename>/etc/X11/XF86Config-4</filename> I commented out
the line <option>Option "DPMS"</option> under Section "Monitor".
</para></listitem>
</itemizedlist>
the line <option>Option "DPMS"</option> under Section "Monitor".</para></step>
</procedure>
</sect2>
</sect1>
<sect1 id="known-issues-26">
<sect1 id="known-issues-26" xreflabel="2.6 series kernels">
<?dbhtml filename="known-issues-26.html"?>
<title>2.6 series kernels</title>
@ -1096,23 +1111,22 @@ two things:</para>
<title>acpi_power_off hangs in 2.6</title>
<para>There are a couple of solutions to this problem, depending on your laptop.</para>
<para>The easiest option to try is to remove the local <xref linkend="APIC"/> options at boot time. This has been reported to work on a Sony TR2. In the <filename>/etc/lilo.conf</filename> file look for a line that has <parameter>append=""</parameter>. Inside the quotes add the words <option>nolapic</option> and <option>noapic</option>.</para>
<para>The easiest option to try is to remove the <xref linkend="APIC"/> options at boot time. This has been reported to work on a Sony TR2. In the <filename>/etc/lilo.conf</filename> file look for a line that has <parameter>append=""</parameter>. Inside the quotes add the words <option>nolapic</option> and <option>noapic</option>.</para>
<example id="ex-appendlilo">
<example id="ex-appendlilo" xreflabel="Updating the append directive in LILO">
<title>Updating the append directive in LILO</title>
<para>Open and edit the <filename>/etc/lilo.conf</filename> configuration file as root. Add the appropriate instructions to the existing append statement. If there is not an append statement you can add one right before the list of boot disk images.</para>
<para>Open and edit the <filename>/etc/lilo.conf</filename> configuration file as root. Add the appropriate instructions to the existing append statement. If there is not an append statement you can add one right before the list of boot disk images. In my <filename>/etc/lilo.conf</filename> it would look like this:</para>
<screen>
<parameter>append="<option>nolapic</option> <option>noapic</option>"</parameter>
default="ulairi"
default="&kernel-name;"
image=/vmlinuz
label=ulairi
label=&kernel-name;
read-only
</screen>
<para>After editing the configuration file, load the new information by running the command <command>lilo</command> as root.</para>
@ -1121,7 +1135,7 @@ read-only
</example>
<para>You can also remove these two modules from the kernel completely by removing the following kernel options: <option>CONFIG_X86_UP_APIC</option>, <option>CONFIG_X86_UP_IOAPIC</option>. This is what I've done with my Acer TravelMate.</para>
<para>You can also remove these two modules from the kernel completely by removing the following kernel options: <option>CONFIG_X86_UP_APIC</option>, <option>CONFIG_X86_UP_IOAPIC</option>. This is what I have done with my Acer TravelMate.</para>
<para>Acer TravelMates should also disable the <xref linkend="RTC" />-related modules. They are not needed for <quote>normal</quote> operation.</para>
@ -1149,10 +1163,10 @@ read-only
keys sticking, touch pad pointer jumping suddenly across the screen,
lockups under heavy network I/O [was] caused by
polling the battery state via ACPI and the proc file system.</quote> This
problem caused, in part, by a delay between the initial request for
problem is caused by a delay between the initial request for
information about the battery's status and the response. In that delay
interrupts may be locked out and synchronization with the keyboard and
touch pad may be lost. <quote>The overnight solution is to either turn off
communication with the keyboard or touch pad may be temporarily interrupted causing the device to become out of sync (jumpy) or the communication lost (freeze).
<quote>The overnight solution is to either turn off
the battery applet, or reduce its polling frequency.</quote> Karl also
notes that a BIOS update was also able to solve the problem. Thanks Karl!</para>
@ -1859,7 +1873,7 @@ of this license document, but changing it is not allowed.</para>
</biblioentry>
</bibliodiv>
<bibliodiv id="software" xreflabel="ACPI packages and related software">
<bibliodiv id="ref-software" xreflabel="ACPI packages and related software">
<title>ACPI packages and related software</title>
<biblioentry>
<title>The Kernel</title>
@ -1906,6 +1920,21 @@ of this license document, but changing it is not allowed.</para>
battery slots.</para></abstract>
</biblioentry>
</bibliodiv>
<bibliodiv id="ref-upgrade-26" xreflabel="Migrating to the 2.6 series kernels">
<title>Migrating to the 2.6 series kernels</title>
<biblioentry>
<title>HowTo Upgrade to the 2.6 Kernel</title>
<bibliosource><ulink url="http://kerneltrap.org/node/view/799" /></bibliosource>
</biblioentry>
<biblioentry>
<title>The post-Halloween document</title>
<bibliosource><ulink url="http://www.codemonkey.org.uk/post-halloween-2.5.txt"/></bibliosource>
</biblioentry>
</bibliodiv>
</bibliography>
</article>