Difference between pages "Additional Kernel Resources" and "Package:ACPI Daemon"

From Funtoo
(Difference between pages)
Jump to: navigation, search
(Other resources of interest related to compiling kernels:)
 
m (Emerging)
 
Line 1: Line 1:
== Additional Kernel Resources ==
+
== Introduction ==
 +
=== What is acpi? ===
 +
"In computing, the Advanced Configuration and Power Interface (ACPI) specification provides an open standard for device configuration and power management by the operating system." ([http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface Wikipedia])
  
=== /etc/conf.d/modules ===
+
=== What is acpid? ===
With Funtoo, OpenRC loads modules from <code>/etc/conf.d/modules</code> using the line:
+
"ACPID is a completely flexible, totally extensible daemon for delivering ACPI events. It listens on a file (''<code>/proc/acpi/event</code>'') and when an event occurs, executes programs to handle the event. The programs it executes are configured through a set of configuration files, which can be dropped into place by packages or by the admin." ([http://acpid.sourceforge.net/ acpid Sourceforge])
  
<pre>
+
== Preparing to install ==
modules_2_6=&quot;list of modules&quot;
+
=== Kernel configuration ===
</pre>
+
Before we are ready to emerge acpid, it is a good idea to modify a few things in the kernel. If you have not modified your kernel before, you may want to check out the following page on configuring a kernel manually (page to be added..).
With Funtoo, define module arguments as follows:
+
  
<pre>
+
{{kernelop
module_module-name_args_2_6=&quot;module arg=value&quot;
+
|Power management and ACPI options --->|<pre>
</pre>
+
[*] ACPI (Advanced Configuration and Power Interface) Support
 +
</pre>}}
  
=== Other resources of interest related to compiling kernels: ===
+
==== Optional: Other ACPI features ====
 +
Below are the locations and short descriptions of the function of different ACPI options in the kernel. In the majority of cases, you do not have to alter any of these to have a functional ACPI system.
  
* [[Genkernel Quick Start Tutorial]]
+
* '''AC Adapter'''
* Build your own [[Kernel]] on funtoo with dracut or better-initramfs
+
{{kernelop
* [http://www.gentoo.org/doc/en/kernel-config.xml The Gentoo Linux Kernel Configuration Guide]
+
|Power management and ACPI options --->|<pre>
* [http://www.gentoo.org/doc/en/xorg-config.xml#doc_chap2 How to configure Kernel Modesetting aka KMS (The Gentoo X Server Configuration HOWTO)]
+
ACPI (Advanced Configuration and Power Interface) Support --->
* [http://swift.siphos.be/linux_sea/ch07.html Linux Sea] by Sven Vermeulen has a nice kernel configuration section
+
      < > AC Adapter
* '''Pappy McFae offers kernel seeds to help get you started. Visit his website at [http://kernel-seeds.org/ kernel-seeds.org] for more info.'''
+
</pre>}}
 +
{{fancynote| If you have a system that can switch between being plugged into AC and using a battery (i.e. a laptop), you should compile this option into your kernel.}}
  
If you prefer to manually configure and compile a kernel from source code directly, keep these things in mind:
+
*  '''Battery'''
 +
{{kernelop
 +
|Power management and ACPI options --->|<pre>
 +
ACPI (Advanced Configuration and Power Interface) Support --->
 +
      < > Battery
 +
</pre>}}
 +
{{fancynote| As its name would suggest, this option adds or removes support for the battery. More specifically, through /proc/acpi/battery. If you have a laptop or other mobile system, you should probably compile this into your kernel.}}
  
* You are touching the very low level aspects of a system, it is ''absolutely normal'' to have difficulties in properly setting up a kernel (in fact, configuring a Linux Kernel could be considered a bit of an ''art'')
+
* '''Button'''
* Take your time to investigate, it is a great occasion to Google a bit for some unknown notions (e.g. What is an ''I2C bus'' ? Hey, what is ''token ring'' ? What is a ''kernel module?'').
+
{{kernelop
* When your first kernel configuration is done, you can reuse it as a basis of configuration
+
|Power management and ACPI options --->|<pre>
* In case of doubt, keep the suggested defaults
+
ACPI (Advanced Configuration and Power Interface) Support --->
* If you want your system to boot, and your are not using an initrd, you'll need to build all boot-related filesystems and drivers ''into'' the kernel directly rather than as modules.
+
      < > Button
 +
</pre>}}
 +
{{fancynote| This driver handles power, sleep, and other buttons. This driver is recommended because it is necessary for software controlled power-off.}}
  
[[Category:Kernel]]
+
* '''Video'''
 +
{{kernelop
 +
|Power management and ACPI options --->|<pre>
 +
ACPI (Advanced Configuration and Power Interface) Support --->
 +
      < > Video
 +
</pre>}}
 +
{{fancynote| Implements ACPI extensions for integrated graphics devices. Also adds support for setting up a video output. }}
 +
 
 +
* '''Fan'''
 +
{{kernelop
 +
|Power management and ACPI options --->|<pre>
 +
ACPI (Advanced Configuration and Power Interface) Support --->
 +
      < > Fan
 +
</pre>}}
 +
{{fancynote| Allows user-controlled applications to control fan speeds and access status of fans. }}
 +
 
 +
* '''Dock'''
 +
{{kernelop
 +
|Power management and ACPI options --->|<pre>
 +
ACPI (Advanced Configuration and Power Interface) Support --->
 +
      [ ] Dock
 +
</pre>}}
 +
{{fancynote| Builds support in the kernel for docking stations like the Dell Module Bay and the IBM Ultrabay. }}
 +
 
 +
* '''Processor'''
 +
{{kernelop
 +
|'''Power management and ACPI options --->|<pre>
 +
ACPI (Advanced Configuration and Power Interface) Support --->
 +
      < > Processor
 +
</pre>}}
 +
{{fancynote| Helps save power while processor is idling and is required by several cpufreq drivers.}}
 +
 
 +
* '''Processor Aggregator'''
 +
{{kernelop
 +
|'''Power management and ACPI options --->|<pre>
 +
ACPI (Advanced Configuration and Power Interface) Support --->
 +
      < > Processor Aggregator
 +
</pre>}}
 +
{{fancynote| Allows the host system to practice logical processor idling (a way to reduce power consumption)}}
 +
 
 +
* '''Thermal Zone'''
 +
{{kernelop
 +
|'''Power management and ACPI options --->|<pre>
 +
ACPI (Advanced Configuration and Power Interface) Support --->
 +
      < > Thermal Zone
 +
</pre>}}
 +
{{fancynote| Enables support for ACPI thermal zones. It is encouraged to enable this option, as your system may be damaged without it. }}
 +
 
 +
== Installing acpid ==
 +
=== Emerging ===
 +
After configuring the kernel power management options, we are ready to install {{Package|sys-power/acpid}}. To install acpid, run the following command:
 +
<console>
 +
###i## emerge acpid
 +
</console>
 +
 
 +
=== Adding to rc ===
 +
After you have finished emerging acpid, you may want to add it to the list of rc services to be started with your system at boot.
 +
<console>
 +
###i## rc-update add acpid default
 +
</console>
 +
Then, run the following to start acpid:
 +
<console>
 +
###i## rc
 +
</console>
 +
[[Category:System]]

Revision as of 13:30, 5 February 2014

Contents

Introduction

What is acpi?

"In computing, the Advanced Configuration and Power Interface (ACPI) specification provides an open standard for device configuration and power management by the operating system." (Wikipedia)

What is acpid?

"ACPID is a completely flexible, totally extensible daemon for delivering ACPI events. It listens on a file (/proc/acpi/event) and when an event occurs, executes programs to handle the event. The programs it executes are configured through a set of configuration files, which can be dropped into place by packages or by the admin." (acpid Sourceforge)

Preparing to install

Kernel configuration

Before we are ready to emerge acpid, it is a good idea to modify a few things in the kernel. If you have not modified your kernel before, you may want to check out the following page on configuring a kernel manually (page to be added..).



Optional: Other ACPI features

Below are the locations and short descriptions of the function of different ACPI options in the kernel. In the majority of cases, you do not have to alter any of these to have a functional ACPI system.

  • AC Adapter

Note: If you have a system that can switch between being plugged into AC and using a battery (i.e. a laptop), you should compile this option into your kernel.
  • Battery

Note: As its name would suggest, this option adds or removes support for the battery. More specifically, through /proc/acpi/battery. If you have a laptop or other mobile system, you should probably compile this into your kernel.
  • Button

Note: This driver handles power, sleep, and other buttons. This driver is recommended because it is necessary for software controlled power-off.
  • Video
 
Note: Implements ACPI extensions for integrated graphics devices. Also adds support for setting up a video output.
  • Fan

Note: Allows user-controlled applications to control fan speeds and access status of fans.
  • Dock

Note: Builds support in the kernel for docking stations like the Dell Module Bay and the IBM Ultrabay.
  • Processor

Note: Helps save power while processor is idling and is required by several cpufreq drivers.
  • Processor Aggregator

Note: Allows the host system to practice logical processor idling (a way to reduce power consumption)
  • Thermal Zone

Note: Enables support for ACPI thermal zones. It is encouraged to enable this option, as your system may be damaged without it.

Installing acpid

Emerging

After configuring the kernel power management options, we are ready to install sys-power/acpid. To install acpid, run the following command:

# emerge acpid

Adding to rc

After you have finished emerging acpid, you may want to add it to the list of rc services to be started with your system at boot.

# rc-update add acpid default

Then, run the following to start acpid:

# rc