<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nuex</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nuex"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Nuex"/>
	<updated>2026-05-21T16:47:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Arch_Linux_on_a_ThinkPad_X40&amp;diff=48977</id>
		<title>Installing Arch Linux on a ThinkPad X40</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Arch_Linux_on_a_ThinkPad_X40&amp;diff=48977"/>
		<updated>2010-07-03T21:04:22Z</updated>

		<summary type="html">&lt;p&gt;Nuex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some notes to get [[:Category:Arch|Arch]] Linux running on a Thinkpad {{X40}}.&lt;br /&gt;
&lt;br /&gt;
{{Todo|Not fnished yet. I'm documenting the installation process as it goes}}&lt;br /&gt;
&lt;br /&gt;
= Preface =&lt;br /&gt;
&lt;br /&gt;
I downloaded the FTP installation CD on http://www.archlinux.org/&lt;br /&gt;
&lt;br /&gt;
= Wireless =&lt;br /&gt;
&lt;br /&gt;
== Atheros-based ==&lt;br /&gt;
&lt;br /&gt;
My main concern was getting the WIFI to work. As the downloaded ISO also&lt;br /&gt;
functions as a livecd, I tried to get it up and running with that. Without&lt;br /&gt;
success.  I found the answer to my question here:&lt;br /&gt;
http://bbs.archlinux.org/viewtopic.php?pid=482359 &lt;br /&gt;
&lt;br /&gt;
I installed madwifi and madwifi-utils.&lt;br /&gt;
In the modules section of {{path|/etc/rc.conf}} I banged the ath5k module, disabling&lt;br /&gt;
it.&lt;br /&gt;
With ath5k not banged the card showed up as wlan0,&lt;br /&gt;
associated correctly with the AP, but didn't get a DHCP lease. Even with&lt;br /&gt;
manually setting the IP and adding the default route, I couldn't ping the AP.&lt;br /&gt;
&lt;br /&gt;
After banging ath5k, the wireless card shows up as ath0. Associating works,&lt;br /&gt;
DHCP doesn't time out. :)&lt;br /&gt;
&lt;br /&gt;
== Intel PRO/Wireless 2200BG  ==&lt;br /&gt;
&lt;br /&gt;
dmesg should mention the ipw2200 card was detected. To get this running, you will need to do&lt;br /&gt;
&lt;br /&gt;
  {{cmdroot|pacman -S ipw2200-fw}}&lt;br /&gt;
&lt;br /&gt;
and add ipw2200 to the MODULES variable in your /etc/rc.conf. Reboot to get the module initialized.&lt;br /&gt;
&lt;br /&gt;
= Power Management =&lt;br /&gt;
&lt;br /&gt;
The two most important factors of a mobile device are battery life and weight. I'm always a bit disgrunted when an advertisement doesn't mention one or either.&lt;br /&gt;
&lt;br /&gt;
Without any powersaving installations the 8cell battery still managed for a nice 4 hours.&lt;br /&gt;
&lt;br /&gt;
== CPU Frequency Scaling ==&lt;br /&gt;
&lt;br /&gt;
CPU Frequency Scaling is a technology primarily for notebooks that enables the OS to scale the CPU speed to system and/or power use.&lt;br /&gt;
&lt;br /&gt;
I simply followed the following instructions: http://wiki.archlinux.org/index.php/Cpufrequtils&lt;br /&gt;
&lt;br /&gt;
== Suspend ==&lt;br /&gt;
&lt;br /&gt;
I tried pm-utils. {{footnote|2}}&lt;br /&gt;
&lt;br /&gt;
  {{cmdroot|pacman -S pm-utils}}&lt;br /&gt;
&lt;br /&gt;
Add {{bootparm|acpi_sleep|s3_bios}} to the file {{path|/boot/grub/menu.lst}} as kernel option.&lt;br /&gt;
&lt;br /&gt;
I added following modules to the {{path|/etc/pm/config.d/config}} file in the order they are dependant of eachother. The last ones depend on the first modules.&lt;br /&gt;
&lt;br /&gt;
  SUSPEND_MODULES=&amp;quot;wlan_wep wlan_scan_sta ath_rate_sample ath_pci wlan ath_hal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
But suspending seems to work even without this.&lt;br /&gt;
&lt;br /&gt;
If the backlight is not working when resuming from suspend, the following might fix it [http://bbs.archlinux.org/viewtopic.php?id=61558]: &lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash                                                                     &lt;br /&gt;
  case $1 in&lt;br /&gt;
    suspend)&lt;br /&gt;
        ;;&lt;br /&gt;
    resume)&lt;br /&gt;
        chvt 1&lt;br /&gt;
        vbetool post &amp;amp;&lt;br /&gt;
        sleep 1&lt;br /&gt;
        kill $!&lt;br /&gt;
        chvt 7&lt;br /&gt;
    ;;&lt;br /&gt;
  esac&lt;br /&gt;
&lt;br /&gt;
Put the script in {{path|/etc/pm/sleep.d/}}. The changing of the virtual terminals with chvt is used to avoid a garbled screen after invoking vbetool in X.&lt;br /&gt;
&lt;br /&gt;
== Hibernate ==&lt;br /&gt;
&lt;br /&gt;
To hibernate, you can simply use pm-utils too. It provides the pm-hibernate program.&lt;br /&gt;
Only add the resume drive to the kernel line in {{path|/boot/grub/menu.lst}}:&lt;br /&gt;
&lt;br /&gt;
  {{bootparm|resume|/dev/sda2}}&lt;br /&gt;
&lt;br /&gt;
The drive assigned is the swap partition. The swap partition should be at least big enough to hold your RAM data.&lt;br /&gt;
&lt;br /&gt;
I also needed to add the ''resume'' hook to the file {{path|/etc/mkinitcpio.conf}} [http://bbs.archlinux.org/viewtopic.php?pid=718892]. Then recompile the kernel:&lt;br /&gt;
&lt;br /&gt;
  mkinitcpio -p kernel26&lt;br /&gt;
&lt;br /&gt;
=== Enable suspend/hibernate buttons ===&lt;br /&gt;
&lt;br /&gt;
To get the suspend keycombo (fn+f4 and fn+f12) to work, install xbindkeys:&lt;br /&gt;
&lt;br /&gt;
  {{cmdroot|pacman -S xbindkeys}}&lt;br /&gt;
&lt;br /&gt;
And place the following in ~/.xbindkeysrc&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;sudo pm-suspend&amp;quot;&lt;br /&gt;
  c:223&lt;br /&gt;
  &amp;quot;sudo pm-hibernate&amp;quot;&lt;br /&gt;
  c:165&lt;br /&gt;
  &lt;br /&gt;
The keycode you can find out by running ''xev'' and looking for the appropriate keycode.&lt;br /&gt;
&lt;br /&gt;
Adding {{path|xbindkeys}} to a startup script of your windowmanager makesthe keys active. As the name suggests, xbindkeys only works in X.&lt;br /&gt;
&lt;br /&gt;
= Xorg =&lt;br /&gt;
&lt;br /&gt;
Installed xorg with&lt;br /&gt;
&lt;br /&gt;
    {{cmdroot|pacman -S xorg}}&lt;br /&gt;
&lt;br /&gt;
Then generated the xorg.cong file with&lt;br /&gt;
&lt;br /&gt;
    {{cmdroot|hwd -xa}}&lt;br /&gt;
&lt;br /&gt;
(I know, risky ;))&lt;br /&gt;
&lt;br /&gt;
Looked good, but X didn't start with this (couldn't find display).&lt;br /&gt;
I installed the xf86-video-intel and changed the display driver from i810 to&lt;br /&gt;
intel in {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;Device&amp;quot;&lt;br /&gt;
            Identifier  &amp;quot;Card0&amp;quot;&lt;br /&gt;
            Driver      &amp;quot;intel&amp;quot;&lt;br /&gt;
            VendorName  &amp;quot;All&amp;quot;&lt;br /&gt;
            BoardName   &amp;quot;All&amp;quot;&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting the back/forward special keys to work ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add the following to your {{path|~/.Xmodmap}} {{footnote|1}}&lt;br /&gt;
    keycode 77 = Num_Lock&lt;br /&gt;
    keycode 234 = XF86Back&lt;br /&gt;
    keycode 233 = XF86Forward&lt;br /&gt;
&lt;br /&gt;
== Enabling scrolling with middle mouse button ==&lt;br /&gt;
&lt;br /&gt;
Add the following to your {{path|/etc/X11/xorg.conf}}, to the PS/2 mouse section {{footnote|1}}&lt;br /&gt;
    Option &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
    Option &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Postface =&lt;br /&gt;
&lt;br /&gt;
Don't forget to run [http://wiki.archlinux.org/index.php/ALSA]&lt;br /&gt;
  {{cmdroot|alsaconf}}&lt;br /&gt;
&lt;br /&gt;
to get the sound to work properly.&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#[[Installing_Ubuntu_7.04_(Feisty_Fawn)_on_a_ThinkPad_X40]]&lt;br /&gt;
#[http://wiki.archlinux.org/index.php/Pm-utils pm-utils]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nuex</name></author>
		
	</entry>
</feed>