ThinkPad X60 Recovery guide

Edit this page -- Back to previous index

This section documents how to recover from a bad flash that prevents your ThinkPad X60 from booting.

Brick type 1: bucts not reset.

You still have Lenovo BIOS, or you had libreboot/osboot running and you flashed another ROM; and you had bucts 1 set and the ROM wasn’t dd’d.* or if Lenovo BIOS was present and libreboot/osboot wasn’t flashed.

In this case, unbricking is easy: reset BUC.TS to 0 by removing that yellow cmos coin (it’s a battery) below the palmrest.

*Those dd commands should be applied to all newly compiled X60 ROM images (the ROM images in libreboot/osboot binary archives already have this applied!):

dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
dd if=coreboot.rom bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k | hexdump
dd if=top64k.bin of=coreboot.rom bs=1 seek=$[$(stat -c %s coreboot.rom) - 0x20000] count=64k conv=notrunc

(doing this makes the ROM suitable for use when flashing a system that still has Lenovo BIOS running, using those instructions: http://www.coreboot.org/Board:lenovo/x60/Installation.

bad rom (or user error), system won’t boot

In this scenario, you compiled a ROM that had an incorrect configuration, or there is an actual bug preventing your system from booting. Or, maybe, you set BUC.TS to 0 and shut down after first flash while Lenovo BIOS was running. In any case, your system is bricked and will not boot at all.

“Unbricking” means flashing a known-good (working) ROM. The problem: you can’t boot the system, making this difficult. In this situation, external hardware (see hardware requirements above) is needed which can flash the SPI chip (where libreboot/osboot resides).

You need to remove the mainboard to access the NOR flash.

This video shows how to remove the mainboard: https://www.youtube.com/watch?v=J_ezBEotJL4

If you don’t like non-free javascript, here’s an alternative link: https://invidious.snopyta.org/watch?v=J_ezBEotJL4

NOTE: Please don’t use an electric screw driver like in the video, these boards are very delicate and great care must be taken.

The X60 has SOIC8 NOR flash looking like this:

Pull back off some black tape on the mainboard and you’ll find the chip, near a blob of thermal pad between the board and the tape. Like here:

Follow the RPi guide:

How to program 25XX NOR flash via SPI protocol with Raspberry Pi

NOTE:

DO NOT connect 3.3v from your RPi. Instead, have everything else connected but for power do this:

If all is well, you should be able to flash. The reason for using the charger is because that 3.3v pin (pin 8) on the chip is in common with lots of other VCC pins/pads/balls on other chips that use the same 3.3v DC power rail. In other words, you are powering basically everything on that rail, and the current draw is quite high which your RPi’s little 3.3v rail cannot handle.

The charger is designed to provide power to that rail.

Edit this pageLicenseTemplateAuthorsDonateBuy preinstalled

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License Version 1.3 or any later version published by the Free Software Foundation with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts. A copy of this license is found in /docs/fdl-1.3.html