me
Home | Recipies | Gitea | Github | Atom feed | Donate using Liberapay

ThinkPad x301 Restoration Project: Software Side

Of course me being me I can’t just modify the hardware, I also have to do something about the software side of things. After all if I just slapped Windows 10 on it, it would just be an old slow laptop. But I want more, I want lightning fast boot times, I want a good experience and most of all I want freedom where I can get it.

Coreboot

coreboot is an extended firmware platform that delivers a lightning fast and secure boot experience on modern computers and embedded systems. As an Open Source project it provides auditability and maximum control over technology.

Basically coreboot is a platform that provides basic hardware initialization for other programs to run on and start your bootloader (or OS) of choice. Such programs are called payloads, I decided to go with SeaBIOS a free BIOS implementation, but you can choose from a variety of available payloads, there’s even a linux distro in there!

Now to the ones who know coreboot is a bit difficult to configure, that’s why projects such as Libreboot and Skulls exist, but being the masochist I am, I decided to have a go at configuring it on my own and in the process also remove the Intel Management Engine (ME) like Libreboot does. I lied this is not just software, unfortunately the flashing of the new BIOS cannot be done within the operating system, only official ones can be installed that way (at least on this machine), so to do this you’ll need some things, some knownledge, and a lot of patience. Oh and here’s the coreboot page for the x301.

Getting the stuff you’ll need

First of all one cannot go further in this intent witout some “basic” gear, what we need to do is find a chip on the mainboard of the laptop, access it’s pins (in a way we’re hijacking it), connect it to an external device called a programmer and load the new firmware on that chip so that the machine can execute what’s on it. There is one complication, the chip is in WSON8 package, which is not easy to work with since the pins do not exent to the side but on the bottom making them almost impossible to attach an IC clip to. Since if anything goes wrong during the next steps you’d want to reprogram the chip, and that cannot be easily done without a clip, you really want that old chip gone in favor of a new one. But that requires soldering.

So here’s a handy list of everything you will need to proceed:

  1. A Raspberry Pi, used for the actual programming; it is not strictly necessary but if you have it already it is the easiest method. An alternative method is by using a CH341A programmer and applying this fix to avoid burning the whole board.
  2. A SOIC8 IC clip