---
layout: post
title:  "Installing Gentoo on a Lenovo ThinkPad X60s"
date:   2016-07-12 13:00:00 +0200
categories: linux
---

My only laptop is a [IBM/Lenovo ThinkPad X60s](http://www.thinkwiki.org/wiki/Category:X60s), a top line "ultrabook" from 2006 that features:

* An Intel Core Duo L2400 dual core 32 bit CPU, clocked at 1.66 Ghz;
* 2GB of RAM;
* 60GB of SATA1 hard drive;
* Wifi, Bluetooth, trackpoint mouse only, 56k modem, and a decent set of I/0 ports (including a CardBus slot!).

![Think1](https://dl.dropboxusercontent.com/s/vkm6phz5yb2k4oq/IMG_20160712_143708.jpg?dl=0)

![Think2](https://dl.dropboxusercontent.com/s/wfjj1wih90lrzax/IMG_20160712_143618.jpg?dl=0)

This machine had an installation on Arch Linux, and I was using it for school stuff. It runned smoothly KDE5, Atom (great editor, I'm using it to write this article), and it was usable even with Phpstorm. Pretty impressive for such an old thing, right?

Since now I don't need this laptop every day I decided to give a try at Gentoo, another rolling relase, DIY install distro. This was both a test of my skills, my patience and the performances of the machine. For those of you that don't know, Gentoo hasn't binary packages: imagine using Arch with just a developer mantained AUR.

I followed the [installation guide](https://wiki.gentoo.org/wiki/Handbook:Main_Page) without any problem until I had to emerge and install 309 packets from my `@world` set: it took 15 hours! The compilation of `cmake` crashed because of memory starvation, and so I had to use a spare USB stick as swap (the root file system wasn't resizable as it was JFS). After some research and a couple of seconds in `top` I discovered that [PAE](https://en.wikipedia.org/wiki/Physical_Address_Extension) was not implemented in the install disk kernel. TIP: if you want to use a nicer install enviroment, use the Arch ISO. With gentoo, the initialisation of the file system is made with a [stage 3 tarball](https://wiki.gentoo.org/wiki/Stage_tarball#Stage_3) and not by tools like [pacstrap](https://wiki.archlinux.org/index.php/beginners'_guide#Install_the_base_packages).

I had another problem with `make menuconfig`, the tool used to specify what features add or remove in your compiled from source Linux kernel. The ncurses menu showed me 64bit options, even if the install disk and the CPU were both 32 bit. If you have this issue too, you can set the `ARCH` variable by your own:

{% highlight bash %}
# make ARCH=i386 menuconfig
# make ARCH=i386
# make ARCH=i386 install
{% endhighlight %}

At the end, I made it! I only have a base install, but i can show you `screenfetch`:

![Screenfetch](https://dl.dropboxusercontent.com/s/fbysnd58sj4g3kl/IMG_20160711_162733.jpg?dl=0)

I've not installed Gentoo in dual boot because I didn't figured out how to switch my bluetooth dongle in HID mode yet, so I can't select the OS with `rEFInd`. Hope this rambling was, if not useful, at least entertaining!
