Librebooting Thinkpad X200 with Raspberry Pi Model 3B
TheFirstVicar heeft deze pagina aangepast 6 jaren geleden

Libreboot on X200 with Raspberry Pi 3 Model B


Preparation

Thinkpad x200

If you do not have one already, you should buy it on ebay, for example mine was Thinkpad lot

A proper WiFi module

It is recommended to buy a new wifi chip, because the stock one is Intel's. The replacement can only be done after installing libreboot, because the original firmware has a whitelist of approved chips, and it will refuse to boot if you use an ‘unauthorized’ wifi card.

I bought the Atheros AR5B95, the short one. Next image illustrates how one looks. And I thought since it is the short one then the adapter will be a good thing to have. So I also ordered an adapter.

Connecting to the chip on the motherboard.

To actually flash a rom into the bios chip I was going to use my Raspberry Pi 3B (there is also an option with BeagleBone Black). Now, there are two ways to connect it to the chip on the motherboard. First one is to solder wires right on the chip's endings. Second one is to use a special clip. I thought that soldering is a bit risky, even with experience in it, everyone can make a mistake sometimes. A one little mistake can brick the motherboard. So I chose the safe option and ordered a clip. Note that the clip is SOIC16, not SOIC8! The x200 laptop has 8 pins on the each side of the chip.

The Atheros AR5B95 wifi module and a SOIC16 clip: alt text The adapter for short wifi modules: alt text

Compatible RAM models

Libreboot on the Thinkpad x200 works only with certain models of ram. As said on libreboot's oficial website, DDR3 SODIMM PC3-8500 RAM with 2Rx8 density is needed. And if 2 RAMs are used then they have to be of the same size and speed. E.G. 4GB 1066 + 4GB 1066, but not 4GB 1066 + 2GB 1066 or 4GB 1333 and 4 GB 1660. You get it. I already had some PC3-12800 memory which I could try, but again, chose the safe option and ordered the former one. However, some say that it works with 12800 and even with 10600 memory.

The RAM that I ordered: alt text

Waiting all these things to deliver..

UPD: all has delivered, I am in progress of writing the whole article.

A note on MAC address

Run ip a to find your MAC address of wifi card. Not an ethernet adapter, but wifi card! E.G. You will have devices like eth0 or enp0s2 -- that is NOT what you need. You need MAC from something like wan0 or wlp2s0. Write it on a piece of paper! Because when librebooted, MAC address would be reseted to other and you will need restore YOURS.

RaspberryPi configuration

First, install flashrom on your Raspberry. BTW I powered up Raspberry with power bank, in case of sudden electricity loss in my house. 100% safety!

sudo apt update
sudo apt install libftdi-dev pciutils libusb-dev libpci-dev libusb-1.0
git clone https://github.com/stefanct/flashrom.git
cd flashrom
sudo make
sudo make install

If make doesn't seem to work and asks you to use some flags, then

sudo make CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no CONFIG_ENABLE_LIBUSB1_
sudo make install CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no CONFIG_EN

or whichever flags he asks.