Archive for May, 2014

Debian on a Lenovo x121e

Sunday, May 4th, 2014

I was looking for an ultramobile notebook with the following requirements:

  • Smaller than the Lenovo Thinkpad x230
  • Trackpoint
  • Decent hardware (especially RAM)
  • Long battery

and finally found a good contester: Lenovo Thinkpad x121e.

Since barely any models with a compatible formfactor feature a trackpoint, the alternatives like the Edge E135 or E145 were also from lenovo.

The decision towards the x121e was made because of the supposedly more sturdy housing, the still decent hardware and the lower price.

I didnt find a well priced model with the Intel i3, so i got one with the AMD 450 and the RAM upgraded to 8GB. Instead of the 320GB harddrive, i invested in a Samsung 840 Evo SSD with 120GB.

Operating System Install
The OS should be a Debian, so i got the 7.4 amd64 netinstall CD and connected an external USB-CDROM drive to the x121e. As always with no-drive notebooks, installing the OS could be also done by putting the SSD into a different computer or booting via network.

Wired network is required anyway though, since the driver for the wireless adapter is not included. Also make sure the battery is fully charged or use the power adapter.

The install procedure itself is pretty straight forward, once booted from the CD, i basically just did:

  1. in the inital boot menu, select expert install
  2. Choose language and keyboard
  3. choose extra packages: network console to continue via ssh (optional)
  4. detect network (only finds wired connection), rtlwifi/rtl8192cfw.bin for wireless is missing (will install later)
  5. configure network: dhcp or static, according to network infrastructure
  6. continue installation remotely (define a password and note the ip adress, optional)
  7. partition disks: guided encrypted lvm (but deleted logical volumes to change sizes), 4.4GB (swap), 10GB (root), 105GB (home) to 8GB, 20GB, 91GB (/boot is not encrypted at around 250MB)
  8. linux-kernel-amd64 and targeted
  9. deselect desktop environment, choose ssh-server to continue install remotely (see screenshot)
  10. install bootloader (grub) and finish installation
Selection in Debian Installer

Selection in Debian Installer

Some information could be used from a similar device/OS description from debian wiki.

Directly after basic install:

root@x121e:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 19223252 1154332 17092436 7% /
udev 10240 0 10240 0% /dev
tmpfs 778596 368 778228 1% /run
/dev/mapper/x121e-root 19223252 1154332 17092436 7% /
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1557180 0 1557180 0% /run/shm
/dev/sda1 233191 10600 210150 5% /boot
/dev/mapper/x121e-home 88123672 188124 83459032 1% /home

root@x121e:~# free -m
total used free shared buffers cached
Mem: 7603 250 7353 0 26 147
-/+ buffers/cache: 76 7527
Swap: 7719 0 7719

Additional packages
Packages needed to tweak the performance, silence the fan and get a GUI are the following (root required)

apt-get update

apt-get install i3 firmware-realtek thinkfan lm-sensors lightdm lxterminal

and packages i like to have as well

apt-get install screen sudo htop powertop vim xinput wicd chromium xfce4-power-manager alsa

Configure Thinkfan
Without thinkfan, the fan is quite noisy. There are a couple of resources for thinkfan thinkwiki.org or in german on thinkwiki.de. Also, more specifically for the x121e, i found descriptions at kernelconcepts.de and solutionlocker blog.

Watch out, if the x121e has an AMD CPU, there is no coretemp module, instead its called ‘k10temp’.

Configure Graphics Card
To get the most out of the graphics hardware, the proprietary “fglrx” drivers worked for me. The performance of “flg_glxgears” improved from around 40FPS to 330FPS. Instructions on how to install the drivers can be found in debian WIKI. It basically boils down to the following

sudo apt-get install fglrx-drivers

sudo aticonfig –initial

Attention, this way will download quite some packages in order to compile the drivers via DKMS.

Other Notes

  • with xinput installed, disable touchpad:

    xinput –list && xinput set-prop ID “Device Enabled” 0

  • suspend/hibernate just worked out of the box via xfce4-power-manager, otherwise extra packages might have to be installed