Difference between pages "Thinkpad R500" and "Entropy"

(Difference between pages)
(Watchdog)
 
m (Useful and important Tips and Tricks)
 
Line 1: Line 1:
== Hardware ==
+
==Entropy Package Management in Gentoo==
Everything works except the fingerprint reader.
+
Entropy Package Manager is written by Fabio Erculliani from Sabayon GNU/Linux as an extension to Portage in order to install binary package same as in other binary-based distros. The package manager syncronises itself automatically with Portage once you installed entropy binary packages, but instead Portage must be syncronised with Entropy in order for Entropy to know what packages you have emerged.
<pre>
+
Fully written in python, it is a stable application with many binary-oriented features and options, including a complete set of repository creation and entropy server features fully based on Portage ebuild packaging. Henceforth, developers '''must''' ( there is no other way ) emerge packages in order to create entropy packages, the procedure will be detailed in this tutorial.
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
+
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
+
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
+
00:03.0 Communication controller: Intel Corporation Mobile 4 Series Chipset MEI Controller (rev 07)
+
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
+
00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
+
00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
+
00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
+
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
+
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
+
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
+
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)
+
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03)
+
00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 03)
+
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
+
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
+
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
+
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
+
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
+
00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)
+
00:1f.2 SATA controller: Intel Corporation 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] (rev 03)
+
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
+
03:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
+
04:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)
+
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
+
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
+
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
+
15:00.3 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 11)
+
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
+
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
+
</pre>
+
  
== make.conf ==
+
==Instructions of creating your own Entropy Repository==
<tt>/etc/portage/make.conf</tt>:
+
{{File
+
|/etc/portage/make.conf|<pre>
+
CFLAGS="-march=native -O2 -pipe"
+
CXXFLAGS="${CFLAGS}"
+
CHOST="x86_64-pc-linux-gnu"
+
MAKEOPTS="-j2"
+
INPUT_DEVICES="evdev synaptics"
+
VIDEO_CARDS="intel"
+
</pre>}}
+
  
== Network ==
+
First of all, you must have package named '''entropy-server''' instaled. It contains a /etc/entropy/server.conf that itself contains the next, most important lines of the configuration:
Configure drivers for the ethernet and wlan cards:
+
{{Kernelop
+
| <br> | <pre>
+
Device Drivers  --->
+
[*] Network device support  --->
+
[*]  Ethernet driver support  --->
+
[*]  Broadcom devices
+
<M>    Broadcom Tigon3 support
+
  
[*]   Wireless LAN  --->
+
   community-mode = enable < ''if you wish to cope with more than 1 repository in one system''
<M>   Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
+
-M-    Intel Wireless WiFi
+
   community-mode = disable <''if you want to have a self-sustainable dependency repository''
</pre>}}
+
 
 +
  ...(descriptions)
 +
 
 +
  default-repository = yourreponame
 +
 
 +
  ...(descriptions) 
  
Install firmware for the wlan card by emerging the package {{Package|sys-kernel/linux-firmware}}:
+
  #example: #=> repository = myserverrepo|My Server Repository|ftp://user:pass@111.111.111.111/ ssh://username@host:~user/path:port ''just an example of repo mode''
<console>
+
###i## emerge linux-firmware
+
</console>
+
  
== Sensors ==
+
  repository = yourreponame|My Server Repository|ftp://user:pass@111.111.111.111/ ssh://username@host:~user/path:port
Configure the drivers for sensors:
+
{{Kernelop
+
| <br> | <pre>
+
Device Drivers  --->
+
-*- I2C support  --->
+
I2C Hardware Bus support  --->
+
<*> Intel 82801 (ICH/PCH)
+
  
-*- Hardware Monitoring support --->
+
The rest of them you don't need necessarily to bother. Of course, as in the example, you need either a '''SSH''' server or '''FTP''' server with upload permissions obviously. The structure of the repository should look like this:
<M>   Intel Core/Core2/Atom temperature sensor
+
   http://bpr.bluepink.ro/~rogentos/entropy/
  
[*] X86 Platform Specific Device Drivers  --->
+
'''P.S.: I considered this step as being the most important one, since everybody firstly installs the package before reading the article/tutorial on how to use :)'''
<M>  ThinkPad ACPI Laptop Extras
+
[*]    Console audio control ALSA interface
+
</pre>}}
+
  
Install the {{Package|sys-apps/lm-sensors}} sensor monitoring program:
 
<console>
 
###i## emerge lm_sensors
 
</console>
 
  
== Watchdog ==
+
==Installation and package management instructions==
{{Kernelop
+
Start emerging the following packages:
| <br> | <pre>
+
  emerge sys-apps/entropy equo entropy-server -vp
Device Drivers  --->
+
It should produce something like this: http://pastebin.com/cy7X38ia ( public and permanent pastebin ). Notes: these packages have been built on 5 minutes funtoo tar.gz unpacking and chrooting and after, a emerge --sync and a eselect profile set.
[*] Watchdog Timer Support  --->
+
You should have now a working '''equo''', so run the command: '''equo --help'''. Should show up all the help commands:
<M>  Intel TCO Timer/Watchdog
+
[*]    Intel TCO Timer/Watchdog Specific Vendor Support
+
</pre>}}
+
  
== Random number generator ==
+
  blacknoxis / # equo --help
<pre>
+
  usage: equo [-h] [--color]
Device Drivers  --->
+
  (...)
Character devices  --->
+
[*]   Intel HW Random Number Generator support
+
</pre>
+
  
== Memorycard reader ==
+
In this moment you should have a working repository and '''SSH/FTP''' server with '''/etc/entropy/server.conf''' pointed to it. Start learning the commands also.
<pre>
+
Bus options (PCI etc.)  --->
+
[*] PCCard (PCMCIA/CardBus) support  --->
+
[*]  CardBus yenta-compatible bridge support
+
  
Device Drivers  --->
+
If you look into '''/etc/entropy/repositories.conf.d/''' there's the repositories location with all the ''entropy_*'' files. You can take that example in order to put your own repository for client use.
[*] Memory Technology Device (MTD) support  --->
+
[*]  NAND SSFDC (SmartMedia) read only translation layer
+
[*]  NAND Device Support  --->
+
[*]  Ricoh xD card reader
+
  
[*] MMC/SD/SDIO card support  --->
+
==Working with EIT==
[*]  Secure Digital Host Controller Interface support
+
First things first, you must 'regenerate' the Entropy database system by running the command:
[*]  SDHCI support on PCI bus
+
  
[*] Sony MemoryStick card support  --->
+
   equo rescue generate
[*]   Ricoh R5C592 MemoryStick interface support
+
</pre>
+
  
== Webcam ==
+
EIT is the tool that actually packages already emerged packages and introduces them into your remote repository. First initialize repo ( after configurind your /etc/entropy/server.conf ) with the command:
<pre>
+
Device Drivers  --->
+
[*] Multimedia support  --->
+
[*]  Cameras/video grabbers support
+
[*]  Media USB Adapters  --->
+
[*]  USB Video Class (UVC)
+
</pre>
+
  
== Trackpoint ==
+
  eit init reponame
Enable 3-button scroll.
+
/usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf
+
<pre>
+
Section "InputClass"
+
        Identifier      "Trackpoint Wheel Emulation"
+
        MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
+
        MatchDevicePath "/dev/input/event*"
+
        Option  "EmulateWheel"          "true"
+
        Option  "EmulateWheelButton"    "2"
+
        Option  "Emulate3Buttons"      "false"
+
        Option  "XAxisMapping"          "6 7"
+
        Option  "YAxisMapping"          "4 5"
+
EndSection
+
</pre>
+
  
== Power saving ==
+
And a demonstration of adding a package to a repo by using these three commands:
Disable bluetooth on startup.
+
/etc/local.d/powersave.start
+
<pre>echo "disable" > /proc/acpi/ibm/bluetooth</pre>
+
  
The following config enables aggressive power saving.
+
  emerge packagename
/etc/udev/rules.d/10-local-powersave.rules
+
<pre># PCI runtime power management
+
ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"
+
  
# USB autosuspend
+
  eit add packagename
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/control}="auto"
+
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/autosuspend" ATTR{power/autosuspend}="60"
+
  
# SATA active link power management
+
  eit push
SUBSYSTEM=="scsi_host", KERNEL=="host*", ATTR{link_power_management_policy}="min_power"
+
  
# Wlan power save
+
All demo in: http://pastebin.com/k3PNpPdD ( public permanent pastebin )
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*" RUN+="/usr/sbin/iw dev %k set power_save on"
+
  
# Disable bluetooth
 
SUBSYSTEM=="rfkill", ATTR{type}=="bluetooth", ATTR{state}="0"
 
  
# Disable wake-on-LAN
+
==Useful and important Tips and Tricks==
ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*" RUN+="/usr/sbin/ethtool -s %k wol d"
+
As foretold, Entropy does not recognize Portage installs unless you do a little step. There's a slight trick here on how to make Entropy keep your emerged package with your options. First, emerge a package, any package, then run the command:
</pre>
+
  
[[Category:Hardware Compatibility]]
+
  equo rescue spmsync --ask
 +
 
 +
( Accept but be careful, it sometimes takes something that you do not want )
 +
This command will make Entropy aware that you installed/compiled something with Portage, but Entropy will still try to upgrade it and return it to the generic entropy repository one. Therefor, you must change the entropy '''client.conf''' from file '''/etc/entropy/client.conf''':
 +
 
 +
  ignore-spm-downgrades = '''enable''' < keep this ''enabled''
 +
 
 +
 
 +
After this, '''equo update''' should do the trick and '''equo ugprade''' will not try to overwrite your portage emerged packages.
 +
Referential documentation in: http://wiki.sabayon.org/ on Equo / Entropy and short and old doc on EIT http://lxnay.wordpress.com/2011/10/18/eit-the-stupid-package-tracker-reinvented/
 +
 
 +
If you want to have a nice, eye catchy GUI installer for your entropy repository, just install Rigo with either equo or portage. If you want to test the concept further, use emerge to install app-admin/rigo and then, '''equo rescue spmsync --ask'''. Actually, it is '''mandatory''' after each emerge package, you should run '''equo rescue spmsync --ask''' in order to at least make Entropy aware of your Portage changes.

Latest revision as of 03:20, 8 October 2013

Entropy Package Management in Gentoo

Entropy Package Manager is written by Fabio Erculliani from Sabayon GNU/Linux as an extension to Portage in order to install binary package same as in other binary-based distros. The package manager syncronises itself automatically with Portage once you installed entropy binary packages, but instead Portage must be syncronised with Entropy in order for Entropy to know what packages you have emerged. Fully written in python, it is a stable application with many binary-oriented features and options, including a complete set of repository creation and entropy server features fully based on Portage ebuild packaging. Henceforth, developers must ( there is no other way ) emerge packages in order to create entropy packages, the procedure will be detailed in this tutorial.

Instructions of creating your own Entropy Repository

First of all, you must have package named entropy-server instaled. It contains a /etc/entropy/server.conf that itself contains the next, most important lines of the configuration:

 community-mode = enable < if you wish to cope with more than 1 repository in one system

 community-mode = disable <if you want to have a self-sustainable dependency repository 
 
 ...(descriptions)  
 
 default-repository = yourreponame 
 
 ...(descriptions)  
 #example: #=> repository = myserverrepo|My Server Repository|ftp://user:pass@111.111.111.111/ ssh://username@host:~user/path:port just an example of repo mode
 repository = yourreponame|My Server Repository|ftp://user:pass@111.111.111.111/ ssh://username@host:~user/path:port

The rest of them you don't need necessarily to bother. Of course, as in the example, you need either a SSH server or FTP server with upload permissions obviously. The structure of the repository should look like this:

 http://bpr.bluepink.ro/~rogentos/entropy/

P.S.: I considered this step as being the most important one, since everybody firstly installs the package before reading the article/tutorial on how to use :)


Installation and package management instructions

Start emerging the following packages:

 emerge sys-apps/entropy equo entropy-server -vp

It should produce something like this: http://pastebin.com/cy7X38ia ( public and permanent pastebin ). Notes: these packages have been built on 5 minutes funtoo tar.gz unpacking and chrooting and after, a emerge --sync and a eselect profile set. You should have now a working equo, so run the command: equo --help. Should show up all the help commands:

 blacknoxis / # equo --help
 usage: equo [-h] [--color]
 (...)

In this moment you should have a working repository and SSH/FTP server with /etc/entropy/server.conf pointed to it. Start learning the commands also.

If you look into /etc/entropy/repositories.conf.d/ there's the repositories location with all the entropy_* files. You can take that example in order to put your own repository for client use.

Working with EIT

First things first, you must 'regenerate' the Entropy database system by running the command:

 equo rescue generate

EIT is the tool that actually packages already emerged packages and introduces them into your remote repository. First initialize repo ( after configurind your /etc/entropy/server.conf ) with the command:

 eit init reponame

And a demonstration of adding a package to a repo by using these three commands:

 emerge packagename
 eit add packagename
 eit push

All demo in: http://pastebin.com/k3PNpPdD ( public permanent pastebin )


Useful and important Tips and Tricks

As foretold, Entropy does not recognize Portage installs unless you do a little step. There's a slight trick here on how to make Entropy keep your emerged package with your options. First, emerge a package, any package, then run the command:

 equo rescue spmsync --ask

( Accept but be careful, it sometimes takes something that you do not want ) This command will make Entropy aware that you installed/compiled something with Portage, but Entropy will still try to upgrade it and return it to the generic entropy repository one. Therefor, you must change the entropy client.conf from file /etc/entropy/client.conf:

 ignore-spm-downgrades = enable < keep this enabled


After this, equo update should do the trick and equo ugprade will not try to overwrite your portage emerged packages. Referential documentation in: http://wiki.sabayon.org/ on Equo / Entropy and short and old doc on EIT http://lxnay.wordpress.com/2011/10/18/eit-the-stupid-package-tracker-reinvented/

If you want to have a nice, eye catchy GUI installer for your entropy repository, just install Rigo with either equo or portage. If you want to test the concept further, use emerge to install app-admin/rigo and then, equo rescue spmsync --ask. Actually, it is mandatory after each emerge package, you should run equo rescue spmsync --ask in order to at least make Entropy aware of your Portage changes.