Note Kernel compile help For non-Debian instructions see the Appendix "Appendix B". For more information on how to compile the kernel The Debian Way please read Creating custom kernels with Debian's kernel-package system
12. Install the new kernel
I like to configure lilo on my own, but do whatever tickles your fancy.
* cd /usr/src * dpkg -i kernel-image-<version>.<date>-10.00.Custom-i386.deb At this point I decline all the lilo updates and configure it myself by hand. * configure lilo by hand: vi /etc/lilo.conf *&nbs
ACPI: Advanced Configuration and Power Interface
Emma Jane Hogbin
Erich Schubert - Author of the section on DSDT.
Revision v1.5.1 2004-07-15 Revised by: ejh
Link included to the French translation of this document.
Revision v1.5 2004-05-21 Revised by: ejh
Minor updates for the 2.6.6 kernel and corrections regarding which kernels
Revision v1.4 2004-05-12 Revised by: ejh
Initial thoughts on the 2.6.5 kernel; includes information on battery
monitoring applications causing touchpad lockup problems.
Outlines how to patch a kernel for ACPI support.
Table of Contents
About this document
Copyright and License
DSDT: Differentiated System Description Table
Installing from scratch
7.1. Choosing a kernel
Download and Unpack the New Kernel
9.1. Required packages
Configure the new kernel
Compile the new kernel
Install the new kernel
Reboot and test
Load related modules
Switching from APM to ACPI
References and Resources
A. Patching Old Kernels
A.1. Getting the Source Files
B. ACPI the Non-Debian Way
B.1. Compile the kernel B.2. Install the new kernel B.3. Software packages
C. GNU Free Documentation License
C.1. PREAMBLE C.2. APPLICABILITY AND DEFINITIONS C.3. VERBATIM COPYING C.4. COPYING IN QUANTITY C.5. MODIFICATIONS C.6. COMBINING DOCUMENTS C.7. COLLECTIONS OF DOCUMENTS C.8. AGGREGATION WITH INDEPENDENT WORKS C.9. TRANSLATION C.10. TERMINATION C.11. FUTURE REVISIONS OF THIS LICENSE C.12. How to use this License for your documents
- About this document
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 [http://acpi.sourceforge.net] acpi.sourceforge.net). Unfortunately after the first
upgrade I wasn't able to halt 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 [http:
//www.debian.org] The Debian Way of doing things. There is also generic
information in the Appendix B for those of you who prefer ... the generic
Copyright and License
Copyright (c) 2003, 2004 Emma Jane Hogbin.
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 Appendix C.
This document is also available in the following languages:
* English version 1.2 translated to: [http://www.traduc.org/docs/HOWTO/lecture/ACPI-HOWTO.html] Francais. Merci a Guillaume Lelarge et Vanessa
Conchodon pour le traduction!
- About ACPI
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 [http://www.acpi.info] ACPI.info 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.
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.
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.
ACPI has several different software components:
* a subsystem which controls hardware states and functions that may have
previously been in the BIOS configuration These states include: + thermal control + motherboard configuration + power states (sleep, suspend)
* a policy manager, which is software that sits on top of the operating
system and allows user input on the system policies
* the ACPI also has device drivers that control/monitor devices such as a
laptop battery, SMBus (communication/transmission path) and EC (embedded controller).
If you would like more information on power management in laptops, check out
the resources on [http://www.tuxmobil.org] tuxmobil.org. Specifically: Power
Management with Linux - APM, ACPI, PMU and the [http://tuxmobil.org/
Mobile-Guide.db/mobile-guide-p2c1-hardware-in-detail.html] Hardware in Detail
section of the Linux Mobile Guide.
- Why switch?
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
[http://acpi.sourceforge.net/documentation/sleep.html] S3 (suspend to RAM)
support and you're using a 2.4.x kernel, don't bother. It is [http://
Not sure if your system is supported? ACPI4Linux has a list of supported
machines/BIOSes started on their Wiki. Please contribute to the list if
you've installed ACPI! They also have a list of machines that are [http://
acpi.sourceforge.net/documentation/blacklist.html] not supported.
For more information about the power management in laptops you may (also)
find the [http://www.tldp.org/HOWTO/mini/Battery-Powered/index.html] Battery
Powered Linux Mini-HOWTO useful.
- DSDT: Differentiated System Description Table
Thanks to [http://www.vitavonni.de/] Erich writing this section.
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 [http://acpi.sourceforge.net/dsdt/index.php] DSDT page,
along with a patch that tells the kernel to ignore the BIOS-supplied table
but use the compiled-in fixed DSDT.
Basically you need to copy the fixed table into your kernel source with a
special filename (or modifying the filename in the patch supplied at the
[http://acpi.sourceforge.net/dsdt/index.php] DSDT page) This override is
quite easy: instead of loading the DSDT table from bios, the kernel uses the
compiled-in DSDT table. That's all.
- Installing from scratch
ACPI is constantly being revised. It is available in later versions of the
2.4.x series kernel (2.4.22 and higher), and all 2.6.x series kernels. If you
would like to use a kernel before 2.4.22, you will need to patch your kernel
source to add ACPI functionality. If at all possible you should use the
latest stable version of the kernel. Patches are available from [http://
Red Hat Fedora Core 2 now ships with ACPI enabled by default! This is big
progress for the ACPI development team. Congratulations to everyone.
Note Even the latest kernel will sometimes have minor bug fixes available as
a patch. You should check the ACPI4Linux web site to see if there are any patches available.
You need to get the patch that exactly matches the version of the kernel
that you are running. Since this is the "install from scratch" section I will
assume you know exactly which kernel you will be installing.
7.1. Choosing a kernel
This document was originally written for the 2.4.20 kernel and has been
updated since to include information about the 2.6.x series kernels. At the
time of this update the 2.6.x series kernels are proving easy for some and
harder for others. (I personally cannot properly power down my computer with
the 2.6.5 kernel.)
If you can, I would recommend waiting to upgrade your kernel to the 2.6.x
series until more bugs are ironed out. There are a lot of changes in the
2.6.x series kernel. When I upgraded to 2.6.5 to update this document I ran
into problems with my wireless connection, my nvidia graphics card, and with
ACPI. Your mileage may vary. I personally had good success with the 2.4.20
with the latest patch and the 2.4.22 kernel with no patch. A Google through
your distribution's mailing list, and the acpi-devel mailing list should help
you to pick the right kernel.
Note This document uses the 2.4.20 kernel as an example for 2.4.x series
kernels. Substitute your own kernel version as appropriate.
Regardless of which kernel you choose, if it is a kernel that requires
patching, 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: /usr
/src/kernel-source-/README.Debian. If you are not using Debian you
will probably still be able to find an equivalent file for your distribution.
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.
Warning 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.
7.1.1. Debian-ized pre-patched kernel
If you would prefer to use a Debian-ized kernel instead of a fresh one,
[http://people.debian.org/~maxx] maxx has provided a pre-patched