Page 1 of 1

Libreboot - anyone try it?

Posted: Fri Mar 25, 2016 3:51 am
by jaspen-meyer
I'd like to try libreboot. It's an alternative to the standard bios supplied by Lenovo.
Far as I can tell it can be installed on an X60(s) from userland. But at least one user complained of a humming noise after install.

It can be installed on x60(s), T/R400 X200 and perhaps one or two other machines.
Unlike the x60, the other machines require you reprogram the bios chip with a Rasberry Pi, or something similar, plus
a custom clips (perhaps simpler is to remove the bios chip from the motherboard and connect it to a breadboard).

The libreboot documentation at libreboot.org is unclear. It is written by some guy who is trying to sell T400's, with libreboot installed, for 1000 euro. The conflict of interest results in incomplete documentation. This is clearer but I'm not sure how up to date it is: https://en.wikibooks.org/wiki/Libreboot/ThinkPad_X60

I have a stack of T400's which I'd like to convert but without good documentation it is a waste of time.

So, has anyone installed Libreboot or have any useful ideas on the subject?

Re: Libreboot - anyone try it?

Posted: Fri Mar 25, 2016 7:46 am
by axur-delmeria
Here's what I found about libreboot on a T400 https://libreboot.org/docs/install/t400_external.html

Re: Libreboot - anyone try it?

Posted: Tue Apr 19, 2016 3:41 pm
by jaspen-meyer
Just installed Libreboot on my x60.
I followed these instructions https://github.com/bibanon/Coreboot-Thi ... inkPad-X60 and was finished in 10 minuets.

Re: Libreboot - anyone try it?

Posted: Mon May 09, 2016 2:15 pm
by Tasurinchi
jaspen-meyer wrote:I followed these instructions https://github.com/bibanon/Coreboot-Thi ... inkPad-X60 and was finished in 10 minuets.
10 minutes!!!!!????? :eek:

It took me 10 minutes only to find out where the (correct) downloads are.

Geez, the layout of the Libreboot page is everything but well organized... I guess if you were using Trisquel you could do it in 10 minutes. I'm still trying to find out how to build the dependencies in Debian Jessie, the instructions provided in the page. namely:

Code: Select all

For DEB-based distros (Trisquel, Ubuntu, Debian, etc):
sudo ./deps-trisquel
just don't work. Granted, I'm no Linux crack, but for such an important project they could care of putting more structure and clearer instructions IMHO...

Enough rant... Back to see if I can get this to work...

Re: Libreboot - anyone try it?

Posted: Tue May 10, 2016 8:28 am
by jaspen-meyer
Here is a simplified how to:
1. download and untar https://mirror.gnu.dk/libreboot/2015020 ... bin.tar.xz
2. open libreboot_bin/ in a terminal
3. run this to backup your factory rom to disk

Code: Select all

sudo flashrom/./flashrom_lenovobios_sst -p internal -r factory.bin
sudo flashrom/./flashrom_lenovobios_macronix -p internal -r factory.bin
4. FIRST bios flash

Code: Select all

sudo ./lenovobios_firstflash bin/x60/x60_usqwerty_txtmode.rom
this is for an x60 with US Qwerty keyboard and no background image during boot.
for background image use
sudo ./lenovobios_firstflash bin/x60/x60_usqwerty_vesafb.rom

5. reboot
6. SECOND bios flash

Code: Select all

sudo ./lenovobios_secondflash bin/x60/x60_usqwerty_txtmode.rom

note: the current release requires compiling and dependencies. version I am using includes prebuild rom images -- simpler. Tested on debian 'jessie' and trisquel 7.

Re: Libreboot - anyone try it?

Posted: Tue May 10, 2016 8:47 am
by Tasurinchi
That looks much simpler... Thanks a lot, I'll try that later tonight... :thumbs-UP:

(After so many years using Linux I should be ashamed I'm still a "normal" user, I guess Linux itself is guilty since it works almost out of the box in most standard hardware :oops: )

Edit 1: Uh Oh.... Not good... :(

Code: Select all

Transaction error!
...
...
FAILED!
Uh oh. Erase/write failed.Checking if anything has changed.
Reading current flash chip contents... done.
Apparently at least some data has changed.
Your flash chip is in an unknown state.
Get help on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org with the subject "FAILED: <your board name>"!
-------------------------------------------------------------------------------
DO NOT REBOOT OR POWEROFF!
Well, I'll reboot and see what happens, I can't just leave this X60 on all the time...

Edit 2: Well... It booted, second flash running now...

Edit 3: I got a new bunch of errors (too lazy to paste them here) but I could reboot and it seems to be working :) I get some errors before the grub screen but it seems to be working fine

I unfortunately flashed the first image with no background, can I repeat the process or should I better leave it so?

Re: Libreboot - anyone try it?

Posted: Tue May 10, 2016 2:46 pm
by jaspen-meyer
To install a different rom
1. open libreboot_bin in a terminal
2.

Code: Select all

sudo ./flash  bin/x60/x60_usqwerty_vesafb.rom
expected output, "Verifying flash... VERIFIED."
3. shut down
4. done

Documentation says
If you are sure that you are flashing the correct image but you get the error This coreboot image (LENOVO:ThinkPad X60) does not appear to be correct for the detected mainboard (Lenovo:ThinkPad X60 / X60s / X60t) or similar (if it's a different board), then do:
$ sudo ./forceflash bin/x60/x60_usqwerty_vesafb.rom
btw, your install was smooth and successful!
Why do they use such scary 'success' text??
Typical linux text would be something nice and friendly!
I wrote the developer asking if I could edit the output text and he sent me to the git repository. Maybe I'll get around to it.

I have installed both the text version and the graphic version. Only the text version outputs 'errors' before it finds grub. Normal behavior. They probably aren't errors - better text would be "device [dev] not found. Trying next boot device...".

Re: Libreboot - anyone try it?

Posted: Tue May 10, 2016 3:24 pm
by Tasurinchi
Thanks a lot again! :thumbs-UP:

I did few tests and everything seems to be working, next step is to wait for the Atheros Card to arrive, and find a cheap SSD.
jaspen-meyer wrote:Why do they use such scary 'success' text??
Ha haa! They probably like to scare people :D

I'll try tomorrow to boot the new ROM, then probably my X60T will follow the Libreboot way :wink:

Re: Libreboot - anyone try it?

Posted: Wed May 11, 2016 2:44 am
by RealBlackStuff
Take a trip to Austria: https://geizhals.at/zotac-premium-ssd-2 ... 39830.html
Or Germany: http://www.heise.de/preisvergleich/zota ... 39830.html
I've used a few of these, absolutely worth their money!
Make sure you get the Premium Edition!
http://www.thinkcomputers.org/zotac-pre ... ve-review/

Re: Libreboot - anyone try it?

Posted: Wed May 11, 2016 2:51 am
by Tasurinchi
RealBlackStuff wrote:Take a trip to Austria...
Or Germany...
Too far away :mrgreen:

For a SATA-I ThinkPad I will wait for some special price offers from any of the local web retailers, I've got some 120GB Kingstons & Sandisks on my radar, prices are around 45 CHF (around 46 USD at current FX rate), if I'm lucky I may get some sold out offer or a coupon :wink:

Re: Libreboot - anyone try it?

Posted: Wed May 11, 2016 3:12 am
by Radioguy
Does it allow more fine tuning of settings which are crippled or unavailable in stock BIOSes? (Clock settings, etc)

Re: Libreboot - anyone try it?

Posted: Wed May 11, 2016 5:38 am
by jaspen-meyer
Radioguy wrote:Does it allow more fine tuning of settings which are crippled or unavailable in stock BIOSes? (Clock settings, etc)
Yes. The source code is available; you can do with it whatever you want.

Re: Libreboot - anyone try it?

Posted: Wed May 11, 2016 6:22 am
by Radioguy
jaspen-meyer wrote:Yes. The source code is available; you can do with it whatever you want.
I'm not so adventurous (I've patched ODD firmware, at best), but would consider flashing my machines were such options made available by another dev.

Here I was thinking nothing could top Middleton on a T61, too.

Re: Libreboot - anyone try it?

Posted: Wed May 11, 2016 7:11 am
by jaspen-meyer
Libreboot/coreboot will not run on a T61. It currently runs on x60(s t), t60, x200, x200s, t400, r400.

The process I listed above is for the x60 series only.

Re: Libreboot - anyone try it?

Posted: Wed May 11, 2016 7:29 am
by Tasurinchi
jaspen-meyer wrote:It currently runs on x60(s t), t60, x200, x200s, t400, r400.
And T500 :wink:

T420 support is on the way, but still not 100% ready: https://www.coreboot.org/Board:lenovo/t420

Re: Libreboot - anyone try it?

Posted: Tue Feb 21, 2017 6:39 am
by jaspen-meyer
Follow-up
---------------
I installed Libreboot to severall T400 machines.


Hardware used
---------------

a) Raspberry Pi 3 Model B, power adapter and microSD card
any Model B, or B++ version with GPIO pins should work

b) 16-pin SOIC clip (example 'Ponoma 5252') with 1.27mm spacing

c) 6 female-female wires


Software used
---------------

d) raspbian_lite (2017-01-10)
https://downloads.raspberrypi.org/raspb ... e-lite.zip
you must enable SPI and (maybe) I2C from within the OS. see for details how to do this
https://www.raspberrypi.org/documentati ... /README.md
The SPI master driver is disabled by default on Raspbian. To enable it, use raspi-config, or ensure the line dtparam=spi=on isn't commented out in /boot/config.txt, and reboot. If the SPI driver was loaded, you should see the device /dev/spidev0.0.
e) flashrom
svn co https://code.coreboot.org/svn/flashrom/trunk

f) libreboot (8MB .rom file, that's the size of my T400's chip, for T400)


Connect Pi to the chip
---------------------------------
Six wires connect the Raspberry Pi to the flash chip. Two of these, 3.3v and GND, power the eeprom. The other four (MISO, MOSI, CLK, CS) enable the Raspberry and the eeprom to talk together. Label each wire. Connect them to the Pi as follows:

3.3V == Pin 1
MOSI == Pin 19
MISO == Pin 21
CLK == Pin 23
CS == Pin 24
GND == Pin 25

Figure out which eeprom you want to connect to, and get a 'pin out' diagram for the chip. Match up the cables with the suitable pin and likewise connect cables to your clip.

READ
------------
Use flashrom to read from chip. Do this 3 times.
Comfirm output is consistent -- compare output files using md5sum (or sha256sum, or similar). For example

Code: Select all

for ROMfile in $(ls *rom); do md5sum $ROMfile;done
WRITE
-----------
Use flashrom to write to the chip. Output should be [erase/write...] and then "Verifying flash... VERIFIED."

I'm skimming over this quickly. If anyone wants more detailed instructions let me know.