maggioni.xyz/_posts/2016-07-12-installing-gento...

105 lines
3.4 KiB
HTML

---
layout: post
title: "Installing Gentoo on a Lenovo ThinkPad X60s"
date: 2016-07-12 13:00:00 +0200
categories: linux
---
<p>
Currently, my only laptop is a
<a href="http://www.thinkwiki.org/wiki/Category:X60s"
>IBM/Lenovo ThinkPad X60s</a
>, a top line <em>ultrabook</em> from 2006 that features:
</p>
<ul>
<li>An Intel Core Duo L2400 dual core 32 bit CPU, clocked at 1.66 Ghz;</li>
<li>2GB of RAM;</li>
<li>60GB of SATA1 hard drive;</li>
<li>
Wifi, Bluetooth, trackpoint mouse only, 56k modem, and a decent set of I/0
ports (including a CardBus slot!).
</li>
</ul>
<p>
<img src="/images/thinkpad1.jpg" alt="An image of the ThinkPad X60s" />
</p>
<p>
<img src="/images/thinkpad2.jpg" alt="Another image of the ThinkPad X60s" />
</p>
<p>
This machine had an installation on <em>Arch Linux</em>, and I was using it
for school stuff. It runned smoothly <em>KDE5</em>, <em>Atom</em> (great
editor, I am using it to write this article), and it was usable even with
<em>PhpStorm</em>. Pretty impressive for such an old thing, right?
</p>
<p>
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.
</p>
<p>
I followed the
<a href="https://wiki.gentoo.org/wiki/Handbook:Main_Page">
installation guide</a
>
without any problem until I had to <em>emerge</em> and install 309 packets
from my <code>@world</code> set: it took 15 hours! The compilation of
<code>cmake</code> crashed because of memory starvation, and so I had to use a
spare USB stick as swap (the root file system was not resizable as it was
JFS). After some research and a couple of seconds in <code>top</code> I
discovered that
<a href="https://en.wikipedia.org/wiki/Physical_Address_Extension">PAE</a>
was not implemented in the install disk kernel. <strong>TIP:</strong> if you
want to use a nicer install enviroment, use the <em>Arch</em> ISO. With
<em>Gentoo</em>, the initialisation of the file system is made with a
<a href="https://wiki.gentoo.org/wiki/Stage_tarball#Stage_3"
><em>stage 3 tarball</em></a
>
and not by tools like
<a
href="https://wiki.archlinux.org/index.php/beginners'_guide#Install_the_base_packages"
>
<code>pacstrap</code></a
>.
</p>
<p>
I had another problem with <code>make menuconfig</code>, the tool used to
specify what features add or remove in your compiled from source Linux kernel.
The <code>ncurses</code> 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
<code>ARCH</code> variable by your own:
</p>
<p>
{% highlight bash %}
make ARCH=i386 menuconfig
make ARCH=i386
make ARCH=i386 install
{% endhighlight %}
</p>
<p>
At the end, I made it! I only have a base install, but i can show you
<code>screenfetch</code>:
</p>
<p>
<img src="/images/screenfetch.jpg" alt="The laptop running 'screenfetch'" />
</p>
<p>
I have not installed <em>Gentoo</em> in dual boot because I did not figure out
how to switch my bluetooth dongle in HID mode yet, so I can't select the OS
with <code>rEFInd</code>. Hope this rambling was, if not useful, at least
entertaining!
</p>