WARNING! This article has been written a long time ago. It may no longer represent the current views of the author!

Installing Devuan Jessie on Thinkpad x220

First of all there are plenty of resources that can be found scattered around many corners of the Internet, so I won't repeat the stuff I found here. This post is to make my life easier (should I ever wish to reinstall my machine, let's cross fingers it will not happen due to hardware failure. Remember about backups!) so I decided to leave here some of the articles and what not I found during the setup of my machine after installing Devuan Jessie. (Yay for init freedom!).

Installation

The images can be easily found on the project website. I have played around with a live CD to check how the system feels as it was my first installation of this distro - but I would recommend getting the good ol' netinstall ISO if you are familiar with the Debian family of operating systems.

Note: there is a fun ISO where you can play with the system (add packages and what not) and then install the system with your changes on the hard drive later OR make your own ISO to install on some other machines for example. I think this is pretty cool.

For x220 you need to get the EFI ISO so I did just that. I used the plain old Debian-like installer (I didn't use the graphical one, but it is also available). The process is very similar to standard Debian installation.

There isn't much to it - Devuan is really nice system that isn't much more complicated then its predecessor (at least for me there is evolutionary hierarchy between them).

Customization and fixing some hardware issues

The only major problem so far for me was:

  • getting the battery configuration up and running
  • fixing a problem with the wireless card that I got with the machine

For completeness I'll put the other problems in this paragraph. For me the only problems (easily fixed I suppose) are connected to the suspend / hibernation process:

  • When I close the lid nothing happens (suspend should take place)
  • When I use the ThinkPad special key for suspend nothing happens

As I don't leave my laptop running when I don't use it I don't think I'll try to fix those soon.

Battery

In the past I have destroyed one battery (alright, maybe more than one!) by not paying attention to my laptop's configuration. Happily, for Thinkpads there is a lot of options to optimise battery life.

In this particular case I suggest following the instructions on ArchWiki. To give you an idea about what we need to install - there's a bunch of nice packages that allow the kernel access to awesome hardware features Thinkpads offer (by which I mean controlling the thresholds when to start and when to stop charging the battery and other cool stuff that makes sure we can make the most of the energy stored in the cells):

# apt-get install acpi-call-dkms tp-smapi-dkms tlp

Then we need to configure those accordingly. Here are some useful links on how to do that:

Using powertop to troubleshoot problems with the software that might use too much battery is always a good idea. It can also measure current power consumption in Watts, so it is a nice idea to check it before and after tweaking.

Wireless card

For some reason the card that I have:

03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)

didn't want to connect to any WiFi and even if it did it would soon drop the connection never to reconnect again. Here is the clue for what's wrong taken from the output of dmesg:

[ 1022.122547] iwlwifi 0000:03:00.0: Error sending REPLY_SCAN_ABORT_CMD: time out after 2000ms.
[ 1022.122560] iwlwifi 0000:03:00.0: Current CMD queue read_ptr 28 write_ptr 29
[ 1022.122627] iwlwifi 0000:03:00.0: Loaded firmware version: 18.168.6.1
[ 1022.122743] iwlwifi 0000:03:00.0: Microcode SW error detected.  Restarting 0x2000000.

I was trying to find some neat solution for this problem. And I have stumbled upon some pretty old thread on a forum somewhere (I have lost the link) talking about the problem being fixed in later version of the kernel. Since the default kernel in Devuan Jessie is 3.16 I needed to upgrade the kernel somehow. Luckily, this isn't very hard (and doesn't seem to break things, at least for me) because we can install a kernel from backports.

Upgrading kernel from backports

I have found a great article for how to install a newer kernel from backports in Debian. I recommend checking it out. As for Devuan there isn't much difference in Jessie. One thing (due to the nature of the problem with the network card) we have to change the sources.list to include the non-free repo (unfortunately) as well in order to update the firmware-iwlwifi package that was the most probable culprit:

# echo "deb http://auto.mirror.devuan.org/merged jessie-backports main contrib non-free" >> /etc/apt/sources.list.d/backports.list
# echo "deb-src http://auto.mirror.devuan.org/merged jessie-backports main contrib non-free" >> /etc/apt/sources.list.d/backports.list

Later as the article suggests we need to perform

# apt-get update

in order to get the newer packages in the local cache and later upgrade the packages to their backports counterparts by issuing:

# apt-get -t jessie-backports upgrade

For me this did the trick and updated both the kernel and the firmware of the card, fixing the issue with this equipment.

And this brings us the end of this article. Not everything has been covered here but I hope this helps someone apart from me ;)

Sources