BIOS bootloader Hardware

Libreboot T400 Tutorial

(This post contains affiliate links. It is a way for this site to earn advertising fees by advertising or linking to certain products and/or services.)

Installing Libreboot on a Lenovo T400

Warning: Proceed at your own risk.  Flashing the BIOS could destroy machine and leave you with a useless brick. 

So, you want to replace the proprietary BIOS on your machine and run a free and open source BIOS to support your OS.  You may be a conspiracy theorist who wants to remove any possibility of a backdoor, looking for a bloat-free alternative to the proprietary crap installed at the factory, or just an enthusiast who wants to put another notch in your belt.  Whatever the reason, this article will guide you through the install process of Libreboot on a Lenovo T400 laptop.  I have provided some references below to the Libreboot site and some of its instructions documentation.

Libreboot is a free and open source alternative to your OEM BIOS.  It is freely distributed so the source can be analyzed.  This eliminates the possibility of backdoors in the code.  This is an all to real consideration following the recent news about Meltdown and Spectre.  This could also offers an expert level project that will give you bragging rights.

This article involves disassembly of the T400 which will require some skill and risks the viability of your laptop.  That said you can source a used T400 for around $65 USD.  That means if you fail, you are not out much for your trouble.

Many videos and articles can be found that demonstrate the disassembly of the T400.  For that reason, I will skip the details of this process, but will provide this link to assist you in the process. Before you rush in and completely disassemble the laptop, you will need a few tools.

Tools

  • CPU paste – You will be removing the heat sink. You will need fresh paste to clean and reseat when finished with the process.
  • BeagleBone Black
  • SOIC clip – correct type to be determined by your BIOS chip
  • New Wifi card – The old one is not supported

 Disassembly

Prior to disassembling the T400 you will need to grab your MAC address from the case.  Write it down.  It will be used later in the process.

As mentioned above, you will need to completely disassemble your machine.  Maybe not completely, but most of it.  The video above can guide you through the process.  The bit that you are trying to reach is the BIOS chip.  A picture is posted on the Libreboot page here

Flashing

Once you have found your BIOS chip, you will need to source either a SOIC clip that matches the chipset (model printed on chip surface) used.  These will allow you to connect the pin out on your BeagleBone to the pins on your surface mounted BIOS chip.

The link to the Libreboot page shows the process for BeagleBone setup.  You will need your MAC address written down earlier during this process.

Once you have completed the setup and connection of the BeagleBone to your BIOS chip, you can begin the process of flashing with the Libreboot software.  The image below, sourced from the Libreboot site, shows the configuration of the BeagleBone.

Once the Beaglebone is connected, cross your fingers and run the below command.

# ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 –w

If all goes well, you should see something like the below.

flashrom v0.9.7-r1854 on Linux 3.8.13-bone47 (armv7l)
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK.
Found Macronix flash chip "MX25L6405(D)" (8192 kB, SPI) on linux_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... FAILED at 0x00001000! Expected=0xff, Found=0x00,
failed byte count from 0x00000000-0x0000ffff: 0xd716
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase function.
Erase/write done.
Verifying flash... VERIFIED.

That little bit at the end “VERIFIED” let’s you know you were successful.  If at first you are not successful…try, try again. Check your connections and walk back through the documentation.  Execute the process again once you have confirmed the process.

Reassembly

Well if you made it this far, throwing the thing back together should be a breeze.  You can review the video provided earlier.  That should help with reassembly.  If you are interested in WiFi you will need to source and install a new WiFi card.  The OEM Intel chipset will not run without proprietary software. As Spectre have shown us, this may not be a good idea if you are looking for a secure system.

This page includes the compatible WiFi cards that you could utilize in the T400.

Don’t forget to clean and reapply thermal paste to your CPU before reseating the heat sink.  Instructions can be found on the Artic Silver page.  I have provided some useful links below to assist you through the process.  This project is a cheap alternative to the preinstalled Libreboot machines that can be found online.  Because there is a steep learning curve and some technical skill required, this may be a project for those looking for a challenge.

References

libreboot.org
libreboot.org/docs/install/bbb_setup.html
libreboot.org/docs/hardware/#recommended_wifi
libreboot.org/docs/install/t400_external.html

About the author

Brad Patton

Brad Patton is a software engineering consultant and writer who delivers high quality software systems to his clients. He received his undergraduate and graduate degree in Computer Science. Brad leverages his expertise in programming and mathematics to develop profitable algorithmic trading strategies. He shares his experience by writing about his tools and strategies. He can be found on Twitter at @BradleyPatton.