IBM ThinkPad X60s

From ArchWiki
Revision as of 19:11, 4 January 2010 by Aedit (talk | contribs) (Move unrelated 3g USB modem section to its own page)
Jump to: navigation, search

Here are some of the key findings from my perspective. Bear in mind the Beginners Guide is the bible. I am focussed here on the X60s specific things I encountered.

Install from CD

Follow each menu item carefully, and do not skip any of them. Each one has place and a reason. A couple of key ones that have lasting effects:

1. prepare a partition strategy before you begin. Arch has the smarts to give you separate partitions for boot, root, home and swap. Some add others - i did not. I used:

  • boot - 128MB
  • Root - 20 Gb
  • Swap - 2.5Gb (note I have since read that this is on the small side, but I have not seen any performance degradation and swap never gets used on this machine so far. If I did it again I would go for 5 gig. With Arch though you never do again, unless you miss the fun !
  • home - the rest - in my case 70Gb

2. take special care in the menu item 'base system". Arch requires a network connection to continue the installation once the CD install is completed (the CD does not include Openoffice, Firefox, Gnome, XFCE for example). This can be either a wired ethernet connection which you can set up in the install CD menu (recommended) or you may wish to enable a wireless connection. For this read down the base list carefully, and select the following

[*] wireless-tools
[*] iwlwifi-3945-ucode

So finish the base install, reboot, and you should be have a network hook present.

From terminal do iwconfig and look for something like wlan0 and a description that looks like your wireless card. Lets assume wlan0. Do this (no sudo required, because you are root at the moment - no users installed.)

ifconfig wlan0 up
iwconfig wlan0 essid "your_network_name" key [your key no brackets]
dhcpcd wlan0

Before you try to install anything you must update your system from the network to ensure all is up to date and all dependencies are correct. Arch is a rolling release model, therefore your install CD is out of date the moment you create it.

pacman -Syyu

The yy forces up update to local database register of installed programmes, and the u uprades your system. Follow the prompts as required.

Then follow the Beginners Guide step by step to install sudo, add users, add to groups, video card driver, then install Xorg, and a desktop environment.

Once up and running, some additional things that took a little while:


With pm-utils

See the article on pm-utils.

With uswsusp-fbsplash

Install s2ram (pacman -S uswsusp) and make these changes below. This set of stuff is not well documented, but once I did this it was very smooth.


If suspend to ram doesn't work, edit the whitelist.c.diff file to add your machine to the s2ram whitelist with the appropriate methods, then uncomment the line in the PKGBUILD where the patch is applied, eventually add the md5sum of the resulting patch and finally rebuild the package. Use 's2ram --identify' to identify your machine. Be sure to let the suspend-devel list know!

The new Software Suspend does not use kernel parameters to determine the suspend partition, instead it consults the /etc/suspend.conf file when booting. You MUST edit this file before you update your initrd.

You will need to update your mkinitcpio.conf file to include the hook uresume. Replace your 'resume' hook with 'uresume'. If you do not have a resume hook the uresume hook must go before filesystems but after ide, sata, and/or scsi. Do not get this wrong. Then rebuild the ramdisk with

mkinitcpio -p kernel26

Note, when I do s2ram --identify This machine can be identified by:

   sys_vendor   = "LENOVO"
   sys_product  = "1702HFU"
   sys_version  = "ThinkPad X60s"
   bios_version = "7BETD3WW (2.14 )"

See for details

It is highly reassuring to see that your system is recognised. If you do not get recognised, there is a hal problem, and your earlier install is not complete.

Next some file edits in policies.

1. As root edit Template:Filename. Comment out everything, and add:

if grep closed /proc/acpi/button/lid/LID/state >/dev/null ; then
    # if the lid is now closed, save the network state and suspend to ram
    netcfg all-suspend
    # if the lid is now open, restore the network state.
    # (if we are running, a wakeup has already occurred!)
    netcfg all-resume

You should now have suspend working.

Another quirky thing is a hal error on shutdown preventing linux from turning the machine off. From I got this patch to Template:Filename

<config version="0.1">
<match action="">
<return result="yes"/>
<match action="org.freedesktop.hal.power-management.shutdown">
<return result="yes"/>
<match action="org.freedesktop.hal.power-management.reboot">
<return result="yes"/>

This file was blank but by adding the above, shutdown is now down by linux. I need to study policykit and hal. This is unclear, but my sense is that PolicyKit.conf is no longer used and a better fix is required in either /etc/acpi or /etc/hal.