This howto collects some information on the install process of certain Hardware features which is spread about various places. With that tutorial, I hope to make the installation of Gentoo Linux on a Lenovo Thinkpad T61 easier and faster for other users.
I used the amd64 minimal cd to install gentoo on my t61. I found, that it is possible to use
Code: Select all
ACCEPT_KEYWORDS="~amd64" Code: Select all
CFLAGS="-mtune=native -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"For the T61 I would recommend an amd64 install, because the use of 64 bit makes large computations (in numerical simulations as well as in 3D-engines for games) considerably faster. At the day of this writing, there exists java support for current amd 64 browsers via icedtea. Furthermore, Flashplayer works on 64 bit, and the most audio codecs are natively supported by mplayer (therefore, one does not need a win32-codec package). For the pdf viewer acrobat reader, there exist also various open source programs which are almost equivalent, see http://en.wikipedia.org/wiki/List_of_PDF_software . Therefore, the almost only remaining reason to install a multilib system would be a frequent usage of 32 bit windows software with wine. Since i do not use wine, I installed a no-multilib system.
For my system, I set ~amd64 instead of amd64 because the gcc in in ~amd64 has support for the processor of the T61. Unfortunately, the changes in this new gcc also require to install many ~amd64 packages, since the old ones in amd64 would not compile with the new gcc. The packages in ~amd64 very often depend on libraries which are also in ~amd64. Hence, I did go to ~amd64 in order to avoid a dependeny hell. I personally simply did not like to manually adjust the keywords file at almost each install of a new package. With ~amd64 everything went fine. I have not any seen problems so far, and my mask and unmask files are kept at a minimal length.
In the following, I will describe, how various hardware features of the T61 Laptop can be installed within a gentoo Linux system:
general power management:
a general power management guide for gentoo can be found here:
http://www.gentoo.org/doc/en/power-management-guide.xml
I like the laptop-mode package a lot. When configuring it, look not only at /etc/laptop-mode.conf but also at the files in the directory /etc/laptop-mode/conf.d/ . Unfortunately, with recent Kernels, Laptop-mode and also other tools like acpitool are unable to set the brightness of the LCD-display because /proc/acpi/ibm/brightness is not there anymore and the display is controlled by the acpi video driver instead.
Suspend to ram and Suspend to Disk:
I have an nvidia card. For this card, there exist proprietary linux drivers. They work fine, although they have a little bit problems when the computer is resuming from an acpi suspend-mode. I used the tuxonice-sources as a kernel in addition with hibernate-script. A general introduction can be found here: http://www.gentoo.org/doc/en/power-mana ... #doc_chap7
Suspend to ram works out of the box. At least when I execute the hibernate-ram command of hibernate-script. However, When I want to go into ram hibernation from kde4.2's powerdevil, I see two batteries in the applet after the computer has been waken up.
Suspend to disk works also (although the wakeup is slow). To enable Suspend to disk, one should put the settings at http://www.thinkwiki.org/wiki/Installin ... 61#Suspend in the file /etc/hibernate/common.conf . The device where the image is located should also be given to suspend2 in the file /etc/hibernate/Suspend2 via the entry
Code: Select all
SuspendDevice swap:/dev/sda2Code: Select all
resume=/dev/sda2 Code: Select all
Power management and ACPI options->Enhanced Hibernation (TuxOnIce)->Default userui program locationDue to the aforementioned bugs, I do not use the hibernate acpi states very often.
Disk shock protection:
At first, configure the INPUT_UINPUT kernel-option, which can be found in menuconfig under
Code: Select all
Device Drivers->Input Devices->Miscellaneous devices ->User level driver support Code: Select all
Device Drivers -> Hardware Monitoring support-> IBM Hard Drive Active Protection System (hdaps)Now, get the ebuild tp_smapi-0.40-r3.ebuild from http://bugs.gentoo.org/show_bug.cgi?id=254043 and emerge it with USE="hdaps". After this was done, download the latest hdapsd-20090129.ebuild (the one with the comment: "modified to install udev rule"), the file 99.hdaps.rules and the hdapsd.init file from http://bugs.gentoo.org/show_bug.cgi?id=166166 . Comment the lines
Code: Select all
if [[ ! -e /sys/block/${DISK}/queue/protect ]] && [[ ! -e /sys/block/${DISK}/device/unload_heads ]] ; then
eerror "No protect entry for ${DISK}!"
eerror "Make sure your kernel is patched with the blk_freeze patch"
return 1
fiThis should make disk-shock protection working. To make the hdaps data readable for other programms, open a console and type the commands
Code: Select all
addgroup joy
adduser <you> joy
echo 'SUBSYSTEM=="input", KERNEL=="js*", MODE="0660", GROUP="joy"' >> /etc/udev/hdaps-joy.rules
ln -s ../hdaps-joy.rules /etc/udev/rules.d/z60_hdaps-joy.rulesSoundsystem:
Works out of the box if one follows the general introduction
http://www.gentoo.org/doc/en/alsa-guide.xml
to alsa and gentoo.
Bluetooth:
A general guide about bluetooth and gentoo can be found here: http://www.gentoo.org/doc/en/bluetooth-guide.xml . However, the most important thing on a Laptop regarding to bluetooth is to disable it at boot, and to enable it only when one needs it, since Bluetooth uses much power from the battery. Create an executable script called "bluetooth". It should have the content of the script in http://www.thinkwiki.org/wiki/How_to_se ... _interface . Then add the following lines at the end of the file /etc/acpi/events/default
Code: Select all
event=ibm/hotkey HKEY 00000080 00001005
action=/usr/bin/bluetooth(Note that in a similar manner, other special key combinations can be utilised. The corresponding acpi events of them are listed here: http://www.thinkwiki.org/wiki/How_to_ge ... cpi_events)
To disable Bluetooth at startup, it unfortunately won't even suffice to remove all Bluetooth support from the Kernel. The hardware would still enable the radio device. Hence, one must explicitely tell the Kernel to disable bluetooth at boot via the rf-kill interface. To do this, one has to insert the following Kernel boot-parameter in the config of the bootloader, which is in my case /boot/grub/grub.conf:
Code: Select all
rfkill.default_state=0 Network:
I personally like a similar solution for ordinary lan. In a laptop, i do not want that the network gets started every time when my computer boots. Therefore, I wrote a customized script that configures my eth0 and sets it up when I need it. However, to prevent eth0 to get started at boot, one must insert the line
Code: Select all
config_eth0=( "null" )Code: Select all
Device Drivers -> Network device support -> Ethernet (1000 Mbit)->Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support My T61 uses the iwl4965 drivers (however, it seems that some T61 make use of the iwl3945 drivers. Maybe someone else provides an installation howto for them). One can use the corresponding IWLAGN and IWL4965 drivers in the kernel. They can be found in menuconfig under
Code: Select all
Device Drivers->Network device support -> Wireless LAN (IEEE 802.11) -> Intel Wireless WiFi Next Gen AGN-> Intel Wireless WiFi 4965AGNCode: Select all
modprobe iwl4965The necessary programs are libfprint, fprint_demo and pam_fprint. They can be emerged after one has added the wschlich-overlay via layman. See http://reactivated.net/fprint/wiki/Download for further instructions. Then, one can configure the pam log-in module as described here: http://reactivated.net/fprint/wiki/Pam_ ... stallation
Cardbus
Can be configured with the PCCARD, CARDBUS and YENTA drivers of the linux Kernel. The entries of these drivers can be found in menuconfig under
Code: Select all
Bus-options -> PCCard support -> CardBus yenta compatible bridge supportWorks without any installation. Simply press Fn+page_up to switch the light on and of
Trackball
Works without any installation in xorg.
Firewire
I have not tested it, but it should work without problems.
SD Card-reader:
I have not tested it. However, on a 2.6.28 Kernel, it seems that one needs to activate the Kernel modules MMC,MMC_SDHCI,MMC_SDHCI_PCI and MMC_RICOH_MMC, which can be found in menuconfig under
Code: Select all
Device Drivers->MMC/SD/SDIO card support->Secure Digital Host Controller Interface support
Device Drivers->MMC/SD/SDIO card support->SDHCI support on PCI bus
Device Drivers->MMC/SD/SDIO card support->Ricoh MMC Controller Disabler (EXPERIMENTAL)
Code: Select all
mount /dev/mmcblk0p1 /mnt Embedded security system: http://www.thinkwiki.org/wiki/Embedded_ ... _Subsystem (the wiki says that there are already linux drivers for that. Has someone tried this out?)
Intel active Management Technology: http://www.thinkwiki.org/wiki/Intel_Act ... logy_(AMT)
Full Disk encryption: http://www.thinkwiki.org/wiki/Full_Disk ... tion_(FDE)



