mirror of https://github.com/tLDP/LDP
1643 lines
66 KiB
XML
1643 lines
66 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
|
[
|
|
<!ENTITY kernel-compile "
|
|
<note>
|
|
<title>Kernel compile help</title>
|
|
<para>For non-Debian instructions see the Appendix
|
|
<quote><ulink url='#nodebkernel'>ACPI the Non-Debian
|
|
Way</ulink></quote>.</para>
|
|
|
|
<para>For more information on how to compile the kernel The Debian
|
|
Way please read <ulink
|
|
url='http://newbiedoc.sourceforge.net/system/kernel-pkg.html'>Creating
|
|
custom kernels with Debian's kernel-package system</ulink></para>
|
|
</note>
|
|
">
|
|
|
|
<!ENTITY resources-software "
|
|
<tip>
|
|
<title>Software downloads</title>
|
|
<para>
|
|
For more information about software for ACPI, please use the
|
|
<xref linkend='software' />.
|
|
</para>
|
|
</tip>
|
|
">
|
|
|
|
<!ENTITY kernel-version "<replaceable><version></replaceable>">
|
|
<!ENTITY kernel-name "<replaceable><date></replaceable>">
|
|
|
|
]>
|
|
|
|
<article id="index">
|
|
<articleinfo>
|
|
<title>ACPI: Advanced Configuration and Power Interface</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Emma Jane</firstname>
|
|
<surname>Hogbin</surname>
|
|
<authorblurb><para>Emma Jane Hogbin is a Toronto developer with
|
|
open-source credentials</para></authorblurb>
|
|
<affiliation>
|
|
<orgname>
|
|
<ulink url="http://www.xtrinsic.com">xtrinsic</ulink>
|
|
</orgname>
|
|
<address>
|
|
<email>emmajane@xtrinsic.com</email>
|
|
</address>
|
|
</affiliation>
|
|
</author>
|
|
|
|
<othercredit>
|
|
<firstname>Erich</firstname>
|
|
<surname>Schubert</surname>
|
|
<contrib>Author of the section on DSDT.</contrib>
|
|
</othercredit>
|
|
</authorgroup>
|
|
|
|
<abstract>
|
|
<para>Outlines how to patch a kernel for ACPI support.</para>
|
|
</abstract>
|
|
|
|
<revhistory>
|
|
<revision>
|
|
<revnumber>v1.2</revnumber>
|
|
<date>2003-07-08</date>
|
|
<revremark>Added the abstract.</revremark>
|
|
</revision>
|
|
|
|
<revision>
|
|
<revnumber>v1.1</revnumber>
|
|
<date>2003-07-03</date>
|
|
<revremark>Added updates for the 2.4.21 kernel, the latest stable
|
|
kernel at the time.</revremark>
|
|
</revision>
|
|
|
|
<revision>
|
|
<revnumber>v1.0</revnumber>
|
|
<date>2003-07-01</date>
|
|
<revremark>Initial release, reviewed by LDP</revremark>
|
|
</revision>
|
|
|
|
<revision>
|
|
<revnumber>v0.2</revnumber>
|
|
<date>2003-06-12</date>
|
|
</revision>
|
|
</revhistory>
|
|
</articleinfo>
|
|
|
|
<sect1 id="about">
|
|
<title>About this document</title>
|
|
<para>When I first started the switch from APM to ACPI I didn't realize the
|
|
kernel needed to be patched. My problem (insanely loud fan) was fixed just
|
|
by upgrading to 2.4.20 (Debian packaged kernel with an earlier patch from
|
|
<ulink url="http://acpi.sourceforge.net">acpi.sourceforge.net</ulink>).
|
|
Unfortunately after the first upgrade I wasn't able to
|
|
<command>halt</command> my computer without using the power switch to power-down my
|
|
computer. It wasn't 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:
|
|
the main article outlines <ulink url="http://www.debian.org">The Debian Way</ulink>
|
|
of doing things. There is also generic information in the
|
|
<xref linkend="nodebkernel" /> for those of you who prefer ... the generic way.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="copyright">
|
|
<title>Copyright and License</title>
|
|
<blockquote><para>
|
|
Copyright (c) 2003 Emma Jane Hogbin.</para>
|
|
<para>Permission is granted to copy, distribute and/or modify this
|
|
document under the terms of the GNU Free Documentation License, Version
|
|
1.1 or any later version published by the Free Software Foundation;
|
|
with no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
|
|
Texts.
|
|
A copy of the license is included in <xref linkend="gfdl"/>.
|
|
</para></blockquote>
|
|
</sect1>
|
|
|
|
<sect1 id="aboutacpi">
|
|
<title>About ACPI</title>
|
|
|
|
<para>In the world of power management ACPI is relatively new to the game.
|
|
It was first released in 1996 by
|
|
Compaq/Hewlett-Packard, Intel, Microsoft, Phoenix and Toshiba. These
|
|
developers aimed to replace the previous industry standard for power
|
|
management. Their <ulink url="http://www.acpi.info">ACPI.info</ulink> site
|
|
contains the official specifications, a list of companies that support ACPI
|
|
and a number of other goodies. This is definitely not required reading, but
|
|
may be of some interest to the insanely curious.</para>
|
|
|
|
<para>ACPI allows control of power management from within the
|
|
operating system. The previous industry standard for power management, Advanced
|
|
Power Management (APM), is controlled at the BIOS level. APM is activated
|
|
when the system becomes idle--the longer the system idles, the less power it
|
|
consumes (e.g. screen saver vs. sleep vs. suspend).
|
|
In APM, the operating system has no knowledge of when the system will
|
|
change power states.</para>
|
|
|
|
<para>ACPI can typically be configured from within the operating system.
|
|
This is unlike APM where configuration often involves rebooting and
|
|
entering the BIOS configuration screens to set parameters.</para>
|
|
|
|
<para>ACPI has several different software components:</para>
|
|
<itemizedlist>
|
|
<listitem><para>a subsystem which controls hardware states and
|
|
functions that may have previously been in the BIOS configuration</para>
|
|
|
|
<para>These states include:</para>
|
|
<itemizedlist>
|
|
<listitem><para>thermal control</para></listitem>
|
|
<listitem><para>motherboard configuration</para></listitem>
|
|
<listitem><para>power states (sleep, suspend)</para></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem><para>a policy manager, which is software that sits on top of
|
|
the operating system and allows user input on the system
|
|
policies</para></listitem>
|
|
|
|
<listitem><para>the ACPI also has device drivers that control/monitor devices such as a
|
|
laptop battery, SMBus (communication/transmission path) and EC (embedded controller).</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>If you would like more information on power management in laptops, check out
|
|
the resources on <ulink url="http://www.tuxmobil.org">tuxmobil.org</ulink>.
|
|
Specifically: <ulink url="http://tuxmobil.org/apm_linux.html">Power Management
|
|
with Linux - APM, ACPI, PMU</ulink> and the <ulink
|
|
url="http://tuxmobil.org/Mobile-Guide.db/mobile-guide-p2c1-hardware-in-detail.html">Hardware in Detail</ulink> section of the
|
|
<ulink url="http://tuxmobil.org/Mobile-Guide.db/Mobile-Guide.html">Linux
|
|
Mobile Guide</ulink>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="apmtoacpi">
|
|
<title>Why switch?</title>
|
|
<para>Not all systems support both APM and ACPI. I switched because my
|
|
system only supported ACPI. Pretty easy decision really. If you're switching
|
|
to get <ulink
|
|
url="http://acpi.sourceforge.net/documentation/sleep.html">S3</ulink> (suspend
|
|
to RAM) support and you're using a 2.4.x kernel, don't bother. It is <ulink
|
|
url="http://lists.debian.org/debian-laptop/2003/debian-laptop-200304/msg00418.html">not supported</ulink>. Period.</para>
|
|
|
|
<para>Not sure if your system is supported? ACPI4Linux has a list of <ulink
|
|
url="http://acpi.sourceforge.net/wiki/index.php/InstallationReports">supported
|
|
machines/BIOSes</ulink> started on their Wiki. Please contribute to
|
|
the list if you've installed ACPI! They also have a list of machines that
|
|
are <ulink url="http://acpi.sourceforge.net/documentation/blacklist.html">not supported</ulink>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="dsdt">
|
|
<title>DSDT: Differentiated System Description Table</title>
|
|
<para>Thanks to <ulink url="http://www.vitavonni.de/">Erich</ulink> writing this section.</para>
|
|
|
|
<para>You might need to override the DSDT when certain features like battery
|
|
status are incorrectly reported (usually causing error messages to
|
|
syslog). DELL laptops usually need this kind of override. Fixed DSDT
|
|
for many systems are available on the <ulink
|
|
url="http://acpi.sourceforge.net/dsdt/index.php">DSDT page</ulink>, along with a patch
|
|
that tells the kernel to ignore the BIOS-supplied table but use the
|
|
compiled-in fixed DSDT.</para>
|
|
|
|
<para>Basically you need to copy
|
|
the fixed table into your kernel source with a special filename (or
|
|
modifing 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>
|
|
</sect1>
|
|
|
|
<sect1 id="install">
|
|
<title>Installing from scratch</title>
|
|
<para>ACPI is constantly being revised. It is currently not available in
|
|
the 2.4.x series kernels but will be released into the
|
|
2.5.x version kernels (or possibly not until 2.6). This means all kernels
|
|
released before 2.5.x must be patched. The patches are available from
|
|
<ulink url="http://acpi.sourceforge.net">acpi.sourceforge.net</ulink>.
|
|
You need to get the patch that exactly matches the
|
|
version of the kernel that you are running. Since this is the
|
|
<quote>install from scratch</quote> section I will assume you know exactly
|
|
which kernel you will be installing.</para>
|
|
|
|
<sect2 id="kernelchoice">
|
|
<title>Choosing a kernel</title>
|
|
<para>This document was written for the 2.4.20 kernel. Since
|
|
that time the 2.4.21 kernel has been released as the latest stable kernel.
|
|
There have been mixed levels of success with 2.4.21 and the latest ACPI
|
|
patch. For now I recommend sticking to the 2.4.20 kernel and its latest
|
|
patch: 2002.12.12. Others recommend doing other things. A Google through
|
|
the debian-user, debian-laptop and acpi-support email lists will be of help
|
|
to you if you're not sure what you should do for your specific system.</para>
|
|
|
|
<note><para>For sanity's sake this document will
|
|
use the 2.4.20 kernel as an example, substitute your own kernel version as
|
|
appropriate.</para></note>
|
|
|
|
<para>It is important to use the latest version of the ACPI patch. Some
|
|
distributions have already patched their kernels. This is the case for
|
|
Debian, and may be the case for others. For more information on the
|
|
patches that have been applied to the Debian kernel source package scan through:
|
|
<filename>/usr/src/kernel-source-&kernel-version;/README.Debian</filename>. If you are not using Debian
|
|
you will probably still be able to find an equivalent file for your
|
|
distribution.</para>
|
|
|
|
<para>A user on acpi-support confirmed that I shouldn't need any of the
|
|
additional patches that have been applied to the kernel to run my laptop.
|
|
If you are running a production-level server and/or are serving web pages
|
|
to the internet, you should really apply any additional
|
|
security patches.</para>
|
|
|
|
<warning><para>If a kernel has had other patches applied to it, you may have
|
|
problems applying the ACPI patch. Of course, an ACPI patch should not be
|
|
applied to a kernel that is already patched for ACPI. As long as there has
|
|
not been an ACPI patch applied to the kernel it should be possible to apply
|
|
one now. Depending on the patches applied, you may need to modify some of
|
|
the Makefiles for your patch to be successful. This is beyond my current
|
|
grasp of reality so it is not covered in this document.</para></warning>
|
|
|
|
<sect3 id="debianizedkernel">
|
|
<title>Debian-ized pre-patched kernel</title>
|
|
<para>If you would prefer to use a Debian-ized kernel instead of a fresh one,
|
|
<ulink url="http://people.debian.org/~maxx">maxx</ulink> has provided a
|
|
pre-patched kernel-source package with the latest patch for the 2.4.20
|
|
kernel. This would be instead of downloading a
|
|
fresh (non-patched) kernel from <ulink url="http://www.kernel.org">www.kernel.org</ulink>.
|
|
He sent me an email with the following details:</para>
|
|
|
|
<blockquote>
|
|
<attribution><ulink url="http://people.debian.org/~maxx">maxx</ulink></attribution>
|
|
<para>I took the kernel-source 2.4.20-8 from unstable, removed the ACPI
|
|
changes [i.e. the old patch] and applied <filename>acpi-20021212-2.4.20.diff.gz</filename> from acpi.sf.net since the vanilla 2.4.20 <emphasis>HAS</emphasis> several security leaks (ptrace, hash table, ...).</para>
|
|
|
|
<para>You can find the package at <ulink
|
|
url="http://people.debian.org/~maxx/kernel-source-2.4.20/">http://people.debian.org/~maxx/kernel-source-2.4.20/</ulink>
|
|
(I didn't upload the .orig.tar.gz since you can get it from any debian
|
|
mirror and the .deb is already big enough)</para>
|
|
</blockquote>
|
|
|
|
<warning>
|
|
<para>I have not tested these packages. You may or may not have any luck
|
|
with them. Please don't email me asking about them, ask maxx instead.</para>
|
|
</warning>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="backups">
|
|
<title>Backups</title>
|
|
<para>If you are already running a kernel that is the same version of the
|
|
one you are about to patch I recommend creating a fresh
|
|
directory for the newly patched kernel. Remember that backups are
|
|
<emphasis>never</emphasis> a bad thing. These are the files that I back up:</para>
|
|
|
|
<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>
|
|
<listitem><para>If you are <emphasis>not</emphasis> doing things The Debian Way you should also back up the <filename class="directory">/lib/modules</filename> directory, <filename>/boot/vmlinuz</filename>, <filename>/usr/src/linux/arch/i386/boot/bzImage</filename> and <filename>/usr/src/System.map</filename>. It's possible my notes on the location of these files differs. Do a <userinput><command>locate</command> <replaceable><file></replaceable></userinput> if they're not where I've stated they should be.</para></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 id="requiredpackages">
|
|
<title>Required packages</title>
|
|
<para>Since I was starting on a brand new machine, I'm pretty sure I have the
|
|
full list of required packages to make this whole patch go smoothly. Here's
|
|
the list all in one go:</para>
|
|
<itemizedlist>
|
|
<listitem><para>kernel source files</para></listitem>
|
|
<listitem><para>ACPI patch that exactly matches the kernel
|
|
version</para></listitem>
|
|
<listitem><para>debian packages: make, bzip2, gcc, libc6-dev, tk8.3,
|
|
libncurses5-dev, kernel-package</para></listitem>
|
|
<listitem><para>after you've patched the kernel add the debian
|
|
packages: acpid, acpi (Debian testing and unstable only)</para></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 id="patch">
|
|
<title>Download and patch</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're 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're waiting, grab a copy of the patch as well. For the 2.4.20
|
|
kernel use the <ulink
|
|
url="http://prdownloads.sourceforge.net/acpi/acpi-20021212-2.4.20.diff.gz?download">2.4.20
|
|
patch</ulink>. It's dated 2002.12.12. You'll need to know that number later
|
|
when we check to make sure the patch worked. If you are using a different
|
|
kernel version make sure you take note of the date of your patch. Your
|
|
numbers will differ slightly from the one I use later on.</para>
|
|
|
|
<para>Once you've got those two files (the kernel and the patch) unpack them
|
|
and patch the kernel.</para>
|
|
|
|
<sect2>
|
|
<title>Unpack</title>
|
|
<para>First we're going to set the stage to patch the kernel. We need to
|
|
unpack the bz2 file (bzip2) and shuffle the directories around a bit.
|
|
<filename class="directory">/usr/src/linux</filename> probably points
|
|
to your current kernel. We need
|
|
it to point to the new kernel, so we'll do that as well.</para>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<command>
|
|
cd <filename class="directory">/usr/src</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>mkdir <filename
|
|
class="directory">kernel-source-&kernel-version;</filename>
|
|
</command>
|
|
(use an alternate name if you already have a version of this kernel
|
|
installed)
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>cp
|
|
<filename>linux.&kernel-version;.tar.bz2</filename>
|
|
<filename>/usr/src/kernel-source-&kernel-version;</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>cd
|
|
<filename
|
|
class="directory">/usr/src/kernel-source-&kernel-version;</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>tar <option>xjfv</option>
|
|
<filename>linux.&kernel-version;.tar.bz2</filename></command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>mv
|
|
<filename
|
|
class="directory">linux.&kernel-version;</filename>
|
|
<filename
|
|
class="directory">/usr/src/linux-&kernel-version;</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
<command>rm <filename>linux</filename></command>
|
|
(assuming that's a link to your old kernel)
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>ln <option>-s</option>
|
|
<filename>/usr/src/linux-&kernel-version;</filename>
|
|
<filename>linux</filename>
|
|
</command>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Patch</title>
|
|
<para>Now we're 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>
|
|
<command>cd
|
|
<filename class="directory">/usr/src/linux</filename></command>
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><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're not using the
|
|
2.4.20 kernel.)
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>gunzip
|
|
<filename>acpi-20021212-2.4.20.diff.gz</filename></command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>patch <option>-p<parameter>1</parameter></option> <
|
|
<filename>acpi-20021212-2.4.20.diff</filename>
|
|
</command>
|
|
(this is the actual patching part)
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="kernelconfig">
|
|
<title>Configure the new kernel</title>
|
|
<para>Now instead of using <command>make <parameter>menuconfig</parameter></command>, I have a godsend of an option. Check
|
|
this out: copy your current <filename>.config</filename> file into
|
|
<filename class="directory">/usr/src/linux</filename>.
|
|
Now use <quote><command>make <parameter>oldconfig</parameter></command></quote>. It will run through your old config file and see
|
|
what's been updated so that you don't have to find all the new options.
|
|
For <emphasis>everything</emphasis> to do with ACPI (about the first 5 questions for me, but
|
|
possibly more for you if you've never configured a pre-patched kernel) say
|
|
<option>M</option> for module. There are an extra 3 or so things after that
|
|
which I said <quote>no</quote> to.</para>
|
|
|
|
<para>In point form, this is how the kernel should be configured:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<command>cd
|
|
<filename class="directory">/usr/src/linux</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>cp
|
|
<filename>/usr/src/<replaceable><oldkernel-source-directory></replaceable>/.config</filename>
|
|
<filename>.config</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>make <parameter>oldconfig</parameter></command>
|
|
(say <option>M</option> to all new options for
|
|
ACPI--you can also say <quote><option>Y</option></quote> if you prefer to compile it directly
|
|
into your kernel)
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Now go in to the config file with <command>make
|
|
<parameter>menuconfig</parameter></command>. I want you do check
|
|
and make sure you have your APM (the old stuff) turned off. Under
|
|
<quote><menuchoice><guimenu>General Setup</guimenu></menuchoice></quote>, make sure that:</para>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<menuchoice><guimenuitem>Power Management Support</guimenuitem></menuchoice>
|
|
is ON</para></listitem>
|
|
<listitem><para>
|
|
<menuchoice><guimenuitem>APM (Advanced Power
|
|
Management)</guimenuitem></menuchoice> is OFF (this is the old one--you
|
|
don't even want it as a module unless you really know what you're
|
|
doing. And if you really know what you're doing you're probably not
|
|
reading this.)</para></listitem>
|
|
<listitem><para>everything to do with ACPI should be
|
|
<option>M</option> (modules) or <option>*</option> (compiled
|
|
directly into the kernel)</para></listitem>
|
|
</itemizedlist>
|
|
<para>exit and save the new configuration</para>
|
|
</sect1>
|
|
|
|
<sect1 id="kernelcompile">
|
|
<title>Compile the new kernel</title>
|
|
<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
|
|
packages. This is almost inevitable if you're using a laptop. I have three
|
|
things are not part of the stock kernel that I
|
|
install separately: my graphics card (nvidia); sound (ALSA); and my
|
|
wireless card (PCMCIA).</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<command>cd
|
|
<filename class="directory">/usr/src/linux</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>make-kpkg <parameter>clean</parameter></command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>make-kpkg
|
|
<option>--append-to-version=.<date></option>
|
|
<parameter>kernel_image</parameter>
|
|
<parameter>modules_image</parameter>
|
|
</command>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<note>
|
|
<title>Naming kernel builds</title>
|
|
<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>. I'm going to leave the date option in though as I
|
|
still think it's a good way to do things.</para></note>
|
|
|
|
&kernel-compile;
|
|
</sect1>
|
|
|
|
<sect1 id="kernelinstall">
|
|
<title>Install the new kernel</title>
|
|
<para>I like to configure lilo on my own, but do whatever tickles your fancy.</para>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<command>cd
|
|
<filename class="directory">/usr/src</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>dpkg <option>-i</option>
|
|
kernel-image-&kernel-version;.&kernel-name;_10.00.Custom_i386.deb</command>
|
|
At this point I decline <emphasis>all</emphasis> the lilo updates and configure
|
|
it myself by hand.
|
|
</para></listitem>
|
|
|
|
<listitem><para>configure lilo by hand: <command>vi
|
|
<filename>/etc/lilo.conf</filename></command>
|
|
</para></listitem>
|
|
|
|
|
|
<listitem><para>
|
|
load the new kernel into lilo: <command>lilo</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
If you have any other deb files for your modules you should
|
|
install them now as well. If you're not sure check
|
|
<filename class="directory">/usr/src</filename> for additional
|
|
<filename class="extension">.deb</filename> files.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
&kernel-compile;
|
|
</sect1>
|
|
|
|
<sect1 id="finishinstall">
|
|
<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're 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. You can do that with
|
|
<userinput>
|
|
<command>dmesg</command> |
|
|
<command>grep <parameter>ACPI.*Subsystem\ revision</parameter></command>
|
|
</userinput>. It should give the output:
|
|
<computeroutput>ACPI: Subsystem revision 20021212</computeroutput>. The
|
|
revision is the date the patch was released. This number will be different
|
|
than mine if you are not using the 2.4.20 kernel.
|
|
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>
|
|
|
|
<para>You can also check to see what version you're using with <command>cat
|
|
<filename>/proc/acpi/info</filename></command>. Don't believe everything
|
|
you read though. My output
|
|
says that S3 is a supported state, but we already know it's not. It does
|
|
give the correct version though, which is useful.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="loadmodules">
|
|
<title>Load related modules</title>
|
|
<para>If you compiled ACPI support in as "M"odules you'll probably need to
|
|
load the modules by hand. You'll need to hunt around a bit to see what
|
|
modules are there. Mine are in
|
|
<filename
|
|
class="directory">/lib/modules/&kernel-version;.
|
|
&kernel-name;/kernel/drivers/acpi/</filename>, and are as
|
|
follows:</para>
|
|
|
|
<screen>
|
|
-rw-r--r-- 1 root root 4.1k Jun 3 23:57 ac.o
|
|
-rw-r--r-- 1 root root 9.5k Jun 3 23:57 battery.o
|
|
-rw-r--r-- 1 root root 5.2k Jun 3 23:57 button.o
|
|
-rw-r--r-- 1 root root 3.7k Jun 3 23:57 fan.o
|
|
-rw-r--r-- 1 root root 14k Jun 3 23:57 processor.o
|
|
-rw-r--r-- 1 root root 11k Jun 3 23:57 thermal.o
|
|
-rw-r--r-- 1 root root 6.2k Jun 3 23:57 toshiba_acpi.o
|
|
</screen>
|
|
|
|
<para>The first time I rebooted I loaded them all by hand, typing
|
|
<command>insmod <replaceable><modulename></replaceable></command>.
|
|
I personally load processor
|
|
first, although there are mixed feelings on whether or not the order
|
|
matters.</para>
|
|
|
|
<note>
|
|
<title>Kernel modules</title>
|
|
<para>The module name is the bit
|
|
before <filename class="extension">.o</filename> extension on a module
|
|
filename. <filename>processor.o</filename> is the file, and processor is
|
|
the module name. To install a loadable kernel module use:
|
|
<command>insmod <replaceable>processor</replaceable></command>.
|
|
</para></note>
|
|
|
|
<para>You can check to see which modules are loaded with
|
|
<command>lsmod</command>. My output of <command>lsmod</command>
|
|
(with most of the extras removed) looks like this:</para>
|
|
|
|
<screen>
|
|
Module Size Used by Tainted: P
|
|
button 2420 0 (unused)
|
|
battery 5960 0 (unused)
|
|
ac 1832 0 (unused)
|
|
fan 1608 0 (unused)
|
|
thermal 6664 0 (unused)
|
|
processor 8664 0 [thermal]
|
|
NVdriver 945408 11
|
|
</screen>
|
|
|
|
<para>The last one is my graphics card, which uses proprietary drivers. This
|
|
is why I have a <quote>P</quote> next to Tainted on the top line.</para>
|
|
|
|
<note>
|
|
<title>Operating System Power Management (OSPM)</title>
|
|
<para>The first time I tried this the modules were all in separate
|
|
directories and were ospm_<name>. 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>
|
|
</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
|
|
file just create a new one and add each module name (remember, no
|
|
dot-o) on a separate line.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="daemons">
|
|
<title>Switching from APM to ACPI</title>
|
|
<para>Don't let apmd and acpid run at the same time unless you REALLY know
|
|
what you're doing. Debian will <emphasis>not</emphasis> make sure only one is running
|
|
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 2.5.x. Even the patch won't provide support for S3. I personally did
|
|
an <command>apt-get remove apmd</command> to solve the hanging problem.</para>
|
|
|
|
<para>You should also be aware of another little glitch I discovered. The
|
|
XFree86 server has an option for DPMS (Energy Star) features. The DPMS can
|
|
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>
|
|
<command>xset <option>-dpms</option></command> (disables DPMS features)
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
In <filename>/etc/X11/XF86Config-4</filename> I commented out
|
|
the line <option>Option "DPMS"</option> under Section "Monitor".
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 id="usingacpi">
|
|
<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're running stable you won't 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
|
|
<option>-V</option></command>. The output will tell you about your
|
|
system. Mine looks like this:</para>
|
|
<screen>
|
|
Thermal 1: ok, 47.1 degrees C
|
|
Thermal 2: ok, 45.1 degrees C
|
|
AC Adapter 1: off-line <-- running off battery
|
|
AC Adapter 1: on-line <-- running off AC power
|
|
</screen>
|
|
|
|
<para>Unfortunately, the <option>-V</option> <quote>full version</quote> doesn't 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
|
|
for various things of importance. If I want to check my battery I read the
|
|
following file like this: <command>cat
|
|
<filename>/proc/acpi/battery/BAT0/state</filename></command>. The output is as follows:</para>
|
|
|
|
<screen>
|
|
present: yes
|
|
capacity state: ok
|
|
charging state: discharging <-- running off battery
|
|
present rate: unknown
|
|
remaining capacity: 3920 mAh <-- watch this number
|
|
present voltage: 14800 mV
|
|
</screen>
|
|
|
|
<screen>
|
|
present: yes
|
|
capacity state: ok
|
|
charging state: discharging
|
|
present rate: unknown
|
|
remaining capacity: 3840 mAh <-- capacity getting smaller
|
|
present voltage: 14800 mV
|
|
</screen>
|
|
|
|
<screen>
|
|
present: yes
|
|
capacity state: ok
|
|
charging state: charging <-- AC adapter plugged in
|
|
present rate: unknown
|
|
remaining capacity: 3840 mAh
|
|
present voltage: 14800 mV
|
|
</screen>
|
|
|
|
<para>If I want information about my battery in general I check it out like
|
|
this: <command>cat <filename>/proc/acpi/battery/BAT0/info</filename></command></para>
|
|
|
|
<screen>
|
|
present: yes
|
|
design capacity: 3920 mAh
|
|
last full capacity: 3920 mAh
|
|
battery technology: rechargeable
|
|
design voltage: 14800 mV
|
|
design capacity warning: 30 mAh
|
|
design capacity low: 20 mAh
|
|
capacity granularity 1: 10 mAh
|
|
capacity granularity 2: 3470 mAh
|
|
model number: Bat0
|
|
serial number:
|
|
battery type: Lion
|
|
OEM info: Acer
|
|
</screen>
|
|
|
|
<para>You're smart people. You can probably figure it out from here. :)</para>
|
|
</sect1>
|
|
|
|
<sect1 id="resources">
|
|
<title>References and Resources</title>
|
|
<para>The following URLs were incredibly useful in writing this HOWTO and
|
|
generally getting ACPI up and running.</para>
|
|
|
|
<variablelist>
|
|
<title>HOWTOs</title>
|
|
|
|
<varlistentry>
|
|
<term>HOWTO install ACPI under Linux</term>
|
|
<listitem><para>
|
|
<ulink url="http://sylvestre.ledru.info/howto/howto_acpi.php">
|
|
http://sylvestre.ledru.info/howto/howto_acpi.php
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Linux ACPI-HOWTO</term>
|
|
<listitem><para>
|
|
<ulink url="http://www.columbia.edu/~ariel/acpi/acpi_howto.txt">
|
|
http://www.columbia.edu/~ariel/acpi/acpi_howto.txt
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Linux on the road</term>
|
|
<term>formerly:
|
|
<ulink url="http://www.tldp.org/HOWTO/Laptop-HOWTO.htm">
|
|
Linux Laptop HOWTO
|
|
</ulink>
|
|
</term>
|
|
<listitem><para>
|
|
<ulink url="http://tuxmobil.org/howtos.html">
|
|
http://tuxmobil.org/howtos.html
|
|
</ulink>
|
|
You'll need to scroll a bit, or use the HTML version:
|
|
<ulink url="http://tuxmobil.org/Mobile-Guide.db/Mobile-Guide.html">
|
|
http://tuxmobil.org/Mobile-Guide.db/Mobile-Guide.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Hardware in Detail (part of Linux on the road)</term>
|
|
<listitem><para>
|
|
<ulink url="http://tuxmobil.org/Mobile-Guide.db/mobile-guide-p2c1-hardware-in-detail.html">
|
|
http://tuxmobil.org/Mobile-Guide.db/mobile-guide-p2c1-hardware-in-detail.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Power Management with Linux - APM, ACPI, PMU</term>
|
|
<listitem><para>
|
|
<ulink url="http://tuxmobil.org/apm_linux.html">
|
|
http://tuxmobil.org/apm_linux.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Creating custom kernels with Debian's Kernel-Package system</term>
|
|
<listitem><para>
|
|
<ulink url="http://newbiedoc.sourceforge.net/system/kernel-pkg.html">
|
|
http://newbiedoc.sourceforge.net/system/kernel-pkg.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<title>Hardware-specific Install Reports and Info</title>
|
|
|
|
<varlistentry>
|
|
<term>Installation Reports</term>
|
|
<listitem><para>
|
|
<ulink url="http://acpi.sourceforge.net/wiki/index.php/InstallationReports">
|
|
http://acpi.sourceforge.net/wiki/index.php/InstallationReports
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Blacklist</term>
|
|
<listitem><para>
|
|
<ulink url="http://acpi.sourceforge.net/documentation/blacklist.html">
|
|
http://acpi.sourceforge.net/documentation/blacklist.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>DSDT: Overview</term>
|
|
<listitem><para>
|
|
<ulink url="http://acpi.sourceforge.net/dsdt/index.php">
|
|
http://acpi.sourceforge.net/dsdt/index.php
|
|
</ulink>
|
|
Includes links to patched DSDTs and HOWTOs about patching your own DSDT.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>BIOS Settings for the AcerTM (Phoenix BIOS)</term>
|
|
<listitem><para>
|
|
<ulink url="http://help.nec-computers.com/au/pri/item_instr_bios_7521N.asp">
|
|
http://help.nec-computers.com/au/pri/item_instr_bios_7521N.asp
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<title>Software Development Groups</title>
|
|
|
|
<varlistentry>
|
|
<term>ACPI4Linux</term>
|
|
<listitem><para>
|
|
<ulink url="http://acpi.sf.net">
|
|
http://acpi.sf.net
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>ACPI Special Interest Group</term>
|
|
<listitem><para>
|
|
<ulink url="http://www.acpi.info/">
|
|
http://www.acpi.info/
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Intel</term>
|
|
<listitem><para>
|
|
<ulink url="http://developer.intel.com/technology/iapc/acpi/">
|
|
http://developer.intel.com/technology/iapc/acpi/
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<title>Mailing List Threads</title>
|
|
<varlistentry>
|
|
<term>debian-laptop thread: can't restore from suspend</term>
|
|
<listitem><para>
|
|
<ulink url="http://lists.debian.org/debian-laptop/2003/debian-laptop-200304/msg00367.html">
|
|
http://lists.debian.org/debian-laptop/2003/debian-laptop-200304/msg00367.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>acpi-support thread: newbie HOWTO and debian patching</term>
|
|
<listitem><para>
|
|
<ulink url="http://sourceforge.net/mailarchive/forum.php?forum_id=7803&max_rows=25&style=flat&viewmonth=200304&viewday=17">
|
|
http://sourceforge.net/mailarchive/forum.php?forum_id=7803&max_rows=25&style=flat&viewmonth=200304&viewday=17
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>debian-laptop thread: acer 634 acpi & apm</term>
|
|
<listitem><para>
|
|
<ulink url="http://lists.debian.org/debian-laptop/2002/debian-laptop-200212/msg00242.html">
|
|
http://lists.debian.org/debian-laptop/2002/debian-laptop-200212/msg00242.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
<variablelist id="software" xreflabel="ACPI packages and related software">
|
|
<title>ACPI packages and related software</title>
|
|
<varlistentry>
|
|
<term>The Kernel</term>
|
|
<listitem><para>Remember to choose "F" for full when you download your
|
|
kernel source.
|
|
<ulink url="http://www.kernel.org">
|
|
http://www.kernel.org
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Debian-ized kernel</term>
|
|
<listitem><para>maxx's pre-patched 2.4.20-8 kernel source package. For more
|
|
information see <link linkend="debianizedkernel">maxx's notes</link>.
|
|
<ulink url="http://people.debian.org/~maxx/kernel-source-2.4.20/">
|
|
http://people.debian.org/~maxx/kernel-source-2.4.20/
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>ACPI kernel patch</term>
|
|
<listitem><para>You'll need to pick the version that exactly matches
|
|
the kernel you're using.
|
|
<ulink url="http://sourceforge.net/project/showfiles.php?group_id=36832">
|
|
http://sourceforge.net/project/showfiles.php?group_id=36832
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><application>acpid</application></term>
|
|
<listitem><para>the daemon
|
|
<ulink url="http://sourceforge.net/projects/acpid">
|
|
http://sourceforge.net/projects/acpid
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><application>acpi</application></term>
|
|
<listitem><para>text interface
|
|
<ulink url="http://grahame.angrygoats.net/acpi.shtml">
|
|
http://grahame.angrygoats.net/acpi.shtml
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><application>Kacpi</application></term>
|
|
<listitem><para>graphical interface for KDE
|
|
<ulink url="http://www.elektronikschule.de/~genannt/kacpi/download.html">
|
|
http://www.elektronikschule.de/~genannt/kacpi/download.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><application>aKpi</application></term>
|
|
<listitem><para>another KDE interface
|
|
<ulink url="http://akpi.scmd.at/">
|
|
http://akpi.scmd.at/
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><application>wmacpi</application></term>
|
|
<listitem><para>WindowMaker DockApp (another GUI)
|
|
<ulink url="http://www.ne.jp/asahi/linux/timecop/">
|
|
http://www.ne.jp/asahi/linux/timecop/
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><application>wmacpi+clecourt</application></term>
|
|
<listitem><para>WindowMaker DockApp (another graphical interface). Handles two
|
|
battery slots.
|
|
<ulink url="http://open.iliad.fr/~clecourt/wmacpi/index.html">
|
|
http://open.iliad.fr/~clecourt/wmacpi/index.html
|
|
</ulink>
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect1>
|
|
|
|
<sect1 id="thanks">
|
|
<title>Thanks</title>
|
|
<para>Much thanks goes out to the following:</para>
|
|
<itemizedlist>
|
|
|
|
<listitem><para>
|
|
<ulink url="http://acpi.sourceforge.net/mailinglists.html">acpi-support</ulink>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<ulink url="http://lists.debian.org/debian-laptop/">debian-laptop</ulink>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<ulink url="http://lists.debian.org/debian-user/">debian-user</ulink>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<ulink url="http://linuxchix.org/">techtalk</ulink>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<ulink url="http://www.tldp.org/mailinfo.html#maillists">TLDP mailing
|
|
lists</ulink> (discuss and docbook)
|
|
</para></listitem>
|
|
|
|
<listitem><para>Sebastian Henschel for reminding me I'd promised to write
|
|
it all down</para></listitem>
|
|
|
|
<listitem><para>Erich Schubert for writing the section on DSDTs
|
|
</para></listitem>
|
|
|
|
<listitem><para>Werner Heuser for suggesting I submit the document to The
|
|
LDP</para></listitem>
|
|
|
|
<listitem><para>Tabatha Marshall for editing and generally being very
|
|
enthusiastic about learning DocBook</para></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<appendix id="nodebkernel">
|
|
<title>ACPI 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>
|
|
|
|
<sect1 id="nodebcompile">
|
|
<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>
|
|
<command>cd
|
|
<filename class="directory">/usr/src/linux</filename>
|
|
</command> which should point to the 2.4.20
|
|
kernel (unzipped) files
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>make <parameter>dep</parameter></command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>make <parameter>clean</parameter></command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>make <parameter>bzImage</parameter></command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>make <parameter>modules</parameter></command>
|
|
(remember to unpack your modules first)
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 id="nodebinstall">
|
|
<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>
|
|
<command>cd
|
|
<filename class="directory">/usr/src/linux</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>make
|
|
<parameter>modules_install</parameter></command>
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<command>cp
|
|
<filename>arch/i386/boot/bzImage</filename>
|
|
<filename>/boot/vmlinuz.&kernel-name;</filename>
|
|
</command>
|
|
</para></listitem>
|
|
|
|
<listitem><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>
|
|
|
|
<listitem><para><command>lilo</command> (yup, just exactly like that.)
|
|
Lilo will let you know if it's going to have major problems loading
|
|
the new kernel.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<warning>
|
|
<para>Do NOT forget to run lilo before rebooting. Type
|
|
<command>lilo</command>. It's that easy (and that easy to forget).</para>
|
|
</warning>
|
|
</sect1>
|
|
|
|
<sect1 id="nodebsoftware">
|
|
<title>Software packages</title>
|
|
<para>You can still use all of the software mentioned in this HOWTO even if
|
|
you're not using Debian. Unfortunately it will take a little more effort on
|
|
your part to download and install everything. Fortunately it's 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>
|
|
|
|
&resources-software;
|
|
</sect1>
|
|
</appendix>
|
|
|
|
<appendix id="gfdl">
|
|
<title>GNU Free Documentation License</title>
|
|
<!-- - GNU Project - Free Software Foundation (FSF) -->
|
|
<!-- LINK REV="made" HREF="mailto:webmasters@gnu.org" -->
|
|
<!-- http://www.gnu.org/copyleft/fdl.html -->
|
|
|
|
|
|
<!-- sect1>
|
|
<title>GNU Free Documentation License</title -->
|
|
|
|
<para>Version 1.1, March 2000</para>
|
|
|
|
<blockquote>
|
|
<para>Copyright (C) 2000 Free Software Foundation, Inc.
|
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
Everyone is permitted to copy and distribute verbatim copies
|
|
of this license document, but changing it is not allowed.</para>
|
|
</blockquote>
|
|
|
|
<sect1 id="gfdl-0">
|
|
<title>PREAMBLE</title>
|
|
|
|
<para>The purpose of this License is to make a manual, textbook,
|
|
or other written document "free" in the sense of freedom: to
|
|
assure everyone the effective freedom to copy and redistribute it,
|
|
with or without modifying it, either commercially or
|
|
noncommercially. Secondarily, this License preserves for the
|
|
author and publisher a way to get credit for their work, while not
|
|
being considered responsible for modifications made by
|
|
others.</para>
|
|
|
|
<para>This License is a kind of "copyleft", which means that
|
|
derivative works of the document must themselves be free in the
|
|
same sense. It complements the GNU General Public License, which
|
|
is a copyleft license designed for free software.</para>
|
|
|
|
<para>We have designed this License in order to use it for manuals
|
|
for free software, because free software needs free documentation:
|
|
a free program should come with manuals providing the same
|
|
freedoms that the software does. But this License is not limited
|
|
to software manuals; it can be used for any textual work,
|
|
regardless of subject matter or whether it is published as a
|
|
printed book. We recommend this License principally for works
|
|
whose purpose is instruction or reference.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-1">
|
|
<title>APPLICABILITY AND DEFINITIONS</title>
|
|
|
|
<para>This License applies to any manual or other work that
|
|
contains a notice placed by the copyright holder saying it can be
|
|
distributed under the terms of this License. The "Document",
|
|
below, refers to any such manual or work. Any member of the
|
|
public is a licensee, and is addressed as "you".</para>
|
|
|
|
<para>A "Modified Version" of the Document means any work
|
|
containing the Document or a portion of it, either copied
|
|
verbatim, or with modifications and/or translated into another
|
|
language.</para>
|
|
|
|
<para>A "Secondary Section" is a named appendix or a front-matter
|
|
section of the Document that deals exclusively with the
|
|
relationship of the publishers or authors of the Document to the
|
|
Document's overall subject (or to related matters) and contains
|
|
nothing that could fall directly within that overall subject.
|
|
(For example, if the Document is in part a textbook of
|
|
mathematics, a Secondary Section may not explain any mathematics.)
|
|
The relationship could be a matter of historical connection with
|
|
the subject or with related matters, or of legal, commercial,
|
|
philosophical, ethical or political position regarding
|
|
them.</para>
|
|
|
|
<para>The "Invariant Sections" are certain Secondary Sections
|
|
whose titles are designated, as being those of Invariant Sections,
|
|
in the notice that says that the Document is released under this
|
|
License.</para>
|
|
|
|
<para>The "Cover Texts" are certain short passages of text that
|
|
are listed, as Front-Cover Texts or Back-Cover Texts, in the
|
|
notice that says that the Document is released under this
|
|
License.</para>
|
|
|
|
<para>A "Transparent" copy of the Document means a
|
|
machine-readable copy, represented in a format whose specification
|
|
is available to the general public, whose contents can be viewed
|
|
and edited directly and straightforwardly with generic text
|
|
editors or (for images composed of pixels) generic paint programs
|
|
or (for drawings) some widely available drawing editor, and that
|
|
is suitable for input to text formatters or for automatic
|
|
translation to a variety of formats suitable for input to text
|
|
formatters. A copy made in an otherwise Transparent file format
|
|
whose markup has been designed to thwart or discourage subsequent
|
|
modification by readers is not Transparent. A copy that is not
|
|
"Transparent" is called "Opaque".</para>
|
|
|
|
<para>Examples of suitable formats for Transparent copies include
|
|
plain ASCII without markup, Texinfo input format, LaTeX input
|
|
format, SGML or XML using a publicly available DTD, and
|
|
standard-conforming simple HTML designed for human modification.
|
|
Opaque formats include PostScript, PDF, proprietary formats that
|
|
can be read and edited only by proprietary word processors, SGML
|
|
or XML for which the DTD and/or processing tools are not generally
|
|
available, and the machine-generated HTML produced by some word
|
|
processors for output purposes only.</para>
|
|
|
|
<para>The "Title Page" means, for a printed book, the title page
|
|
itself, plus such following pages as are needed to hold, legibly,
|
|
the material this License requires to appear in the title page.
|
|
For works in formats which do not have any title page as such,
|
|
"Title Page" means the text near the most prominent appearance of
|
|
the work's title, preceding the beginning of the body of the
|
|
text.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-2">
|
|
<title>VERBATIM COPYING</title>
|
|
|
|
<para>You may copy and distribute the Document in any medium,
|
|
either commercially or noncommercially, provided that this
|
|
License, the copyright notices, and the license notice saying this
|
|
License applies to the Document are reproduced in all copies, and
|
|
that you add no other conditions whatsoever to those of this
|
|
License. You may not use technical measures to obstruct or
|
|
control the reading or further copying of the copies you make or
|
|
distribute. However, you may accept compensation in exchange for
|
|
copies. If you distribute a large enough number of copies you
|
|
must also follow the conditions in section 3.</para>
|
|
|
|
<para>You may also lend copies, under the same conditions stated
|
|
above, and you may publicly display copies.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-3">
|
|
<title>COPYING IN QUANTITY</title>
|
|
|
|
<para>If you publish printed copies of the Document numbering more
|
|
than 100, and the Document's license notice requires Cover Texts,
|
|
you must enclose the copies in covers that carry, clearly and
|
|
legibly, all these Cover Texts: Front-Cover Texts on the front
|
|
cover, and Back-Cover Texts on the back cover. Both covers must
|
|
also clearly and legibly identify you as the publisher of these
|
|
copies. The front cover must present the full title with all
|
|
words of the title equally prominent and visible. You may add
|
|
other material on the covers in addition. Copying with changes
|
|
limited to the covers, as long as they preserve the title of the
|
|
Document and satisfy these conditions, can be treated as verbatim
|
|
copying in other respects.</para>
|
|
|
|
<para>If the required texts for either cover are too voluminous to
|
|
fit legibly, you should put the first ones listed (as many as fit
|
|
reasonably) on the actual cover, and continue the rest onto
|
|
adjacent pages.</para>
|
|
|
|
<para>If you publish or distribute Opaque copies of the Document
|
|
numbering more than 100, you must either include a
|
|
machine-readable Transparent copy along with each Opaque copy, or
|
|
state in or with each Opaque copy a publicly-accessible
|
|
computer-network location containing a complete Transparent copy
|
|
of the Document, free of added material, which the general
|
|
network-using public has access to download anonymously at no
|
|
charge using public-standard network protocols. If you use the
|
|
latter option, you must take reasonably prudent steps, when you
|
|
begin distribution of Opaque copies in quantity, to ensure that
|
|
this Transparent copy will remain thus accessible at the stated
|
|
location until at least one year after the last time you
|
|
distribute an Opaque copy (directly or through your agents or
|
|
retailers) of that edition to the public.</para>
|
|
|
|
<para>It is requested, but not required, that you contact the
|
|
authors of the Document well before redistributing any large
|
|
number of copies, to give them a chance to provide you with an
|
|
updated version of the Document.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-4">
|
|
<title>MODIFICATIONS</title>
|
|
|
|
<para>You may copy and distribute a Modified Version of the
|
|
Document under the conditions of sections 2 and 3 above, provided
|
|
that you release the Modified Version under precisely this
|
|
License, with the Modified Version filling the role of the
|
|
Document, thus licensing distribution and modification of the
|
|
Modified Version to whoever possesses a copy of it. In addition,
|
|
you must do these things in the Modified Version:</para>
|
|
|
|
<orderedlist numeration="upperalpha">
|
|
<listitem><para>Use in the Title Page
|
|
(and on the covers, if any) a title distinct from that of the
|
|
Document, and from those of previous versions (which should, if
|
|
there were any, be listed in the History section of the
|
|
Document). You may use the same title as a previous version if
|
|
the original publisher of that version gives permission.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>List on the Title Page,
|
|
as authors, one or more persons or entities responsible for
|
|
authorship of the modifications in the Modified Version,
|
|
together with at least five of the principal authors of the
|
|
Document (all of its principal authors, if it has less than
|
|
five).</para>
|
|
</listitem>
|
|
|
|
<listitem><para>State on the Title page
|
|
the name of the publisher of the Modified Version, as the
|
|
publisher.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Preserve all the
|
|
copyright notices of the Document.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Add an appropriate
|
|
copyright notice for your modifications adjacent to the other
|
|
copyright notices.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Include, immediately
|
|
after the copyright notices, a license notice giving the public
|
|
permission to use the Modified Version under the terms of this
|
|
License, in the form shown in the Addendum below.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Preserve in that license
|
|
notice the full lists of Invariant Sections and required Cover
|
|
Texts given in the Document's license notice.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Include an unaltered
|
|
copy of this License.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Preserve the section
|
|
entitled "History", and its title, and add to it an item stating
|
|
at least the title, year, new authors, and publisher of the
|
|
Modified Version as given on the Title Page. If there is no
|
|
section entitled "History" in the Document, create one stating
|
|
the title, year, authors, and publisher of the Document as given
|
|
on its Title Page, then add an item describing the Modified
|
|
Version as stated in the previous sentence.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Preserve the network
|
|
location, if any, given in the Document for public access to a
|
|
Transparent copy of the Document, and likewise the network
|
|
locations given in the Document for previous versions it was
|
|
based on. These may be placed in the "History" section. You
|
|
may omit a network location for a work that was published at
|
|
least four years before the Document itself, or if the original
|
|
publisher of the version it refers to gives permission.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>In any section entitled
|
|
"Acknowledgements" or "Dedications", preserve the section's
|
|
title, and preserve in the section all the substance and tone of
|
|
each of the contributor acknowledgements and/or dedications
|
|
given therein.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Preserve all the
|
|
Invariant Sections of the Document, unaltered in their text and
|
|
in their titles. Section numbers or the equivalent are not
|
|
considered part of the section titles.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Delete any section
|
|
entitled "Endorsements". Such a section may not be included in
|
|
the Modified Version.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Do not retitle any
|
|
existing section as "Endorsements" or to conflict in title with
|
|
any Invariant Section.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>If the Modified Version includes new front-matter sections
|
|
or appendices that qualify as Secondary Sections and contain no
|
|
material copied from the Document, you may at your option
|
|
designate some or all of these sections as invariant. To do this,
|
|
add their titles to the list of Invariant Sections in the Modified
|
|
Version's license notice. These titles must be distinct from any
|
|
other section titles.</para>
|
|
|
|
<para>You may add a section entitled "Endorsements", provided it
|
|
contains nothing but endorsements of your Modified Version by
|
|
various parties--for example, statements of peer review or that
|
|
the text has been approved by an organization as the authoritative
|
|
definition of a standard.</para>
|
|
|
|
<para>You may add a passage of up to five words as a Front-Cover
|
|
Text, and a passage of up to 25 words as a Back-Cover Text, to the
|
|
end of the list of Cover Texts in the Modified Version. Only one
|
|
passage of Front-Cover Text and one of Back-Cover Text may be
|
|
added by (or through arrangements made by) any one entity. If the
|
|
Document already includes a cover text for the same cover,
|
|
previously added by you or by arrangement made by the same entity
|
|
you are acting on behalf of, you may not add another; but you may
|
|
replace the old one, on explicit permission from the previous
|
|
publisher that added the old one.</para>
|
|
|
|
<para>The author(s) and publisher(s) of the Document do not by
|
|
this License give permission to use their names for publicity for
|
|
or to assert or imply endorsement of any Modified Version.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-5">
|
|
<title>COMBINING DOCUMENTS</title>
|
|
|
|
<para>You may combine the Document with other documents released
|
|
under this License, under the terms defined in section 4 above for
|
|
modified versions, provided that you include in the combination
|
|
all of the Invariant Sections of all of the original documents,
|
|
unmodified, and list them all as Invariant Sections of your
|
|
combined work in its license notice.</para>
|
|
|
|
<para>The combined work need only contain one copy of this
|
|
License, and multiple identical Invariant Sections may be replaced
|
|
with a single copy. If there are multiple Invariant Sections with
|
|
the same name but different contents, make the title of each such
|
|
section unique by adding at the end of it, in parentheses, the
|
|
name of the original author or publisher of that section if known,
|
|
or else a unique number. Make the same adjustment to the section
|
|
titles in the list of Invariant Sections in the license notice of
|
|
the combined work.</para>
|
|
|
|
<para>In the combination, you must combine any sections entitled
|
|
"History" in the various original documents, forming one section
|
|
entitled "History"; likewise combine any sections entitled
|
|
"Acknowledgements", and any sections entitled "Dedications". You
|
|
must delete all sections entitled "Endorsements."</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-6">
|
|
<title>COLLECTIONS OF DOCUMENTS</title>
|
|
|
|
<para>You may make a collection consisting of the Document and
|
|
other documents released under this License, and replace the
|
|
individual copies of this License in the various documents with a
|
|
single copy that is included in the collection, provided that you
|
|
follow the rules of this License for verbatim copying of each of
|
|
the documents in all other respects.</para>
|
|
|
|
<para>You may extract a single document from such a collection,
|
|
and distribute it individually under this License, provided you
|
|
insert a copy of this License into the extracted document, and
|
|
follow this License in all other respects regarding verbatim
|
|
copying of that document.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-7">
|
|
<title>AGGREGATION WITH INDEPENDENT WORKS</title>
|
|
|
|
<para>A compilation of the Document or its derivatives with other
|
|
separate and independent documents or works, in or on a volume of
|
|
a storage or distribution medium, does not as a whole count as a
|
|
Modified Version of the Document, provided no compilation
|
|
copyright is claimed for the compilation. Such a compilation is
|
|
called an "aggregate", and this License does not apply to the
|
|
other self-contained works thus compiled with the Document, on
|
|
account of their being thus compiled, if they are not themselves
|
|
derivative works of the Document.</para>
|
|
|
|
<para>If the Cover Text requirement of section 3 is applicable to
|
|
these copies of the Document, then if the Document is less than
|
|
one quarter of the entire aggregate, the Document's Cover Texts
|
|
may be placed on covers that surround only the Document within the
|
|
aggregate. Otherwise they must appear on covers around the whole
|
|
aggregate.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-8">
|
|
<title>TRANSLATION</title>
|
|
|
|
<para>Translation is considered a kind of modification, so you may
|
|
distribute translations of the Document under the terms of section
|
|
4. Replacing Invariant Sections with translations requires
|
|
special permission from their copyright holders, but you may
|
|
include translations of some or all Invariant Sections in addition
|
|
to the original versions of these Invariant Sections. You may
|
|
include a translation of this License provided that you also
|
|
include the original English version of this License. In case of
|
|
a disagreement between the translation and the original English
|
|
version of this License, the original English version will
|
|
prevail.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-9">
|
|
<title>TERMINATION</title>
|
|
|
|
<para>You may not copy, modify, sublicense, or distribute the
|
|
Document except as expressly provided for under this License. Any
|
|
other attempt to copy, modify, sublicense or distribute the
|
|
Document is void, and will automatically terminate your rights
|
|
under this License. However, parties who have received copies, or
|
|
rights, from you under this License will not have their licenses
|
|
terminated so long as such parties remain in full
|
|
compliance.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-10">
|
|
<title>FUTURE REVISIONS OF THIS LICENSE</title>
|
|
|
|
<para>The Free Software Foundation may publish new, revised
|
|
versions of the GNU Free Documentation License from time to time.
|
|
Such new versions will be similar in spirit to the present
|
|
version, but may differ in detail to address new problems or
|
|
concerns. See <ulink
|
|
url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.</para>
|
|
|
|
<para>Each version of the License is given a distinguishing
|
|
version number. If the Document specifies that a particular
|
|
numbered version of this License "or any later version" applies to
|
|
it, you have the option of following the terms and conditions
|
|
either of that specified version or of any later version that has
|
|
been published (not as a draft) by the Free Software Foundation.
|
|
If the Document does not specify a version number of this License,
|
|
you may choose any version ever published (not as a draft) by the
|
|
Free Software Foundation.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="gfdl-11">
|
|
<title>How to use this License for your documents</title>
|
|
|
|
<para>To use this License in a document you have written, include
|
|
a copy of the License in the document and put the following
|
|
copyright and license notices just after the title page:</para>
|
|
|
|
<blockquote><para>
|
|
Copyright (c) YEAR YOUR NAME.
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the GNU Free Documentation License, Version 1.1
|
|
or any later version published by the Free Software Foundation;
|
|
with the Invariant Sections being LIST THEIR TITLES, with the
|
|
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
|
|
A copy of the license is included in the section entitled "GNU
|
|
Free Documentation License".
|
|
</para></blockquote>
|
|
|
|
<para>If you have no Invariant Sections, write "with no Invariant
|
|
Sections" instead of saying which ones are invariant. If you have
|
|
no Front-Cover Texts, write "no Front-Cover Texts" instead of
|
|
"Front-Cover Texts being LIST"; likewise for Back-Cover
|
|
Texts.</para>
|
|
|
|
<para>If your document contains nontrivial examples of program
|
|
code, we recommend releasing these examples in parallel under your
|
|
choice of free software license, such as the GNU General Public
|
|
License, to permit their use in free software.</para>
|
|
</sect1>
|
|
|
|
</appendix>
|
|
|
|
</article>
|
|
|
|
|