Skip to content
matthias-t edited this page Mar 6, 2021 · 22 revisions

The ThinkPad T60 is the definitive classic ThinkPad, built in the IBM tradition, and the last system to have a Flexview IPS 4:3 high resolution screen. Most T60 motherboards can be upgraded to Core 2 Duo 64-bit CPUs (found used for $3-15), increasing their longevity. It is probably the best Libreboot laptop of them all.

However, due to major limitations of Libreboot, the T60 requires extensive hardware modification, and rare screens to be installed.

  • You must have a screen with SXGA+ resolution or higher (rare). These ThinkPads are rare and hard to identify, since eBay sellers often mislabel their products.
    • 14 inch models usually do not come with SXGA+ screens. There is an SXGA+ screen that is compatible, but it is not IPS and costs $50.
    • When purchasing a T60, see if the seller has an image of the base of the computer where the model number is visible. Use this link to find the screen resolution and size of the display.
    • Note that only one of the two UXGA (1600x1200) displays is confirmed to be compatible with Libreboot (the other model is unconfirmed but may work, see further down for details) and that only the 15/15.1" models with SXGA+ displays are IPS.
  • You must replace the ATI GPU motherboard with an Intel motherboard (difficult). The ATI GPU requires proprietary blobs to display an image; thus, Libreboot requires you to replace the entire motherboard with an Intel one. See here and here.

Supported Laptops

A larger list of supported laptops can be found at the Libreboot website.

  • ThinkPad T60 with Intel GPU
    • T60 systems with XGA (1024x768) screens are NOT supported for some reason (the Libreboot team is working on it) But it's worth updating them to SXGA+, UXGA, or even QXGA Flexview displays anyway. Follow the T60 Screen Upgrade Guide for more details.

Make sure you identify the exact model of the laptop you have!

Not supported/Untested

  • (untested) ThinkPad T60/T60p with Intel GPU and Widescreen
    • The 1280x800 screen does not work yet. WSXGA+ ThinkPads (1680x1050) haven't been tested yet, presumably they might work.
  • ThinkPad T60/T60p with ATI discrete GPU and any screen
    • These motherboards are NOT supported by Libreboot, since they (currently) require proprietary blobs to display graphics. If you don't want proprietary blobs, replace the motherboard with an Intel one (costs about $15-30).
    • On the other hand, Coreboot can be installed by patching in proprietary VGA code from the Lenovo BIOS. See T60 ATI GPU Coreboot Installation for more details.

Preparation

  • For best results, install a Debian-based Linux distro. The Libreboot team recommends Trisquel 6 (32-bit), but plain-old Ubuntu or Debian would work.
  • Replace the Intel mPCI wifi card with an Atheros Wireless-N mPCI card ($10-15). The Intel card requires proprietary blobs, and only supports Wireless G; so you might as well upgrade anyway.

Download Libreboot

Note: This guide is out of date! Use the guide on the Libreboot website for now.

  1. Download the Libreboot Binaries.

  2. Open a Terminal and navigate to the Downloads folder (or wherever else)

  3. Extract the Libreboot folder:

     tar -xvf libreboot_bin.tar.gz
    
  4. Navigate to the libreboot_bin folder:

     cd libreboot_bin
    

Install and Make Dependencies

The flashrom and bucts programs require a few dependencies.

  • For DEB-based distros (Trisquel, Ubuntu, Debian, etc):
    • sudo ./dep-trisquel
  • For Arch-based distros (Parabola, Arch Linux, etc):
    • sudo ./dep-parabola
  • Other Linux distros will need to find the corresponding dependencies on their own.

Next, we actually have to build flashrom and bucts from source code. The Libreboot developers have made a nice build script that does this automatically:

sudo ./builddeps-flashrom
sudo ./builddeps-bucts

Find the Right ROM

Under the bin/ folder in libreboot_bin/, there are a multitude of Libreboot ROMs sorted by motherboard.

Choose the ROM with your laptop's keyboard layout (US or UK, QWERTY or DVORAK). For ThinkPads, choose a serial ROM if dock and serial port support is needed.

  • bin/x60/ - ThinkPad X60/X60s
  • bin/x60t/ - ThinkPad X60 Tablet
  • bin/t60/ - ThinkPad T60 Series with Intel GPU (14" 4:3, 15" 4:3)
  • bin/macbook21/ - MacBook2,1

Once you know which ROM to use, remember it's directory path for the next step (ex. bin/x60/libreboot_serial_usqwerty.rom )

Check the ROMs section from the official Libreboot Documentation for the latest list.

Flashing Libreboot on Lenovo ThinkPad BIOSes

Note: For a detailed explanation of how this process works, see the file Software-Flashing-Process-i945.md .

If you are flashing Libreboot for the first time (on an unmodified ThinkPad running Lenovo's BIOS), follow the steps below.

Back up Official Lenovo BIOS

Note: The BIOS chip no longer needs to be visually identified before installation. Libreboot now offers two prepatched flashrom binaries, flashrom_lenovobios_sst and flashrom_lenovobios_macronix.

It is strongly recommended to back up the BIOS image from the motherboard, just in case the Lenovo BIOS needs to be restored.

This BIOS image is unique to every motherboard. It will be impossible to restore the Lenovo BIOS once it is lost. Do not use another laptop's BIOS image.

  1. From the libreboot_bin/ folder, enter the flashrom/ folder.

     cd flashrom
    
  2. Run both of these commands to backup the BIOS to factory.bin (don't panic, nothing is being installed):

     sudo ./flashrom_lenovobios_sst -p internal -r factory.bin
     sudo ./flashrom_lenovobios_macronix -p internal -r factory.bin
    
  3. If a factory.bin file was created in the flashrom/ folder, the Lenovo BIOS has been backed up successfully. If not, try the commands again. Copy this dump to a safe place.

  4. Return to the libreboot_bin/ folder.

     cd ..
    

Libreboot First Flash

  1. Run the first flash script for Lenovo BIOSes:

Note: Replace bin/YOURBOARD/YOURROM in the command below with the path to the ROM you selected.

    sudo ./lenovobios_firstflash bin/YOURBOARD/YOURROM. 
  1. Wait for the process to finish. Expect to see "critical errors" during flashing, but don't panic; proceed to the next step to check if the flash ran correctly.

  2. The line below is displayed if bucts 1 was enabled successfully.

Warning: If BUC.TS=1 was not enabled, do not continue, do not turn off your laptop; run the flash script again.

    Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped.
  1. The following "errors" are displayed if flashrom installed Libreboot correctly. The output must be very similar (later versions of flashrom may have minor differences).

Warning: If the "errors" do not match, do not continue, do not turn off your laptop. Run the script again. If the output still doesn't match, something is wrong; reinstall the factory.bin image.

    Reading old flash chip contents... done.
    Erasing and writing flash chip... spi_block_erase_20 failed during command execution at address 0x0
    Reading current flash chip contents... done. spi_block_erase_52 failed during command execution at address 0x0
    Reading current flash chip contents... done. Transaction error!
    spi_block_erase_d8 failed during command execution at address 0x1f0000
    Reading current flash chip contents... done. spi_chip_erase_60 failed during command execution
    Reading current flash chip contents... done. spi_chip_erase_c7 failed during command execution
    FAILED!
    Uh oh. Erase/write failed. Checking if anything changed.
    Your flash chip is in an unknown state.
  1. If the "errors" closely match the lines above, shut down the laptop (don't restart).

  2. Wait a few seconds, and then boot. Libreboot will start up.

  3. Use the Search for GRUB configuration on local storage option if the normal menu options don't work.

  4. After booting into Linux, proceed to Libreboot Second Flash.

Note: If you boot and you see nothing, try turning up the backlight Fn+Home. For ThinkPad X60 models, if the backlight resets to zero when turning it up while at max, consult Libreboot's TFT Brightness Guide.

Note: If the laptop turns on, but doesn't boot at all; and there is absolutely no sounds or sign of life, Libreboot might have been flashed incorrectly. It is still possible to return to the Lenovo BIOS by disabling bucts 1. Disassemble the laptop and unplug the CMOS battery for at least 5 seconds. Plug the CMOS back in, reassemble the laptop, and turn it on. The Lenovo BIOS should appear, though it will require you to set the time in BIOS Setup. Boot into Linux, and start over from step 1 immediately.

Note: If the laptop emits three loud beeps when turned on, it has been fully bricked. A hardware BIOS flash is required to restore it to working order. We recommend a $40 Bus Pirate and $20 8-pin Pomona Clip from eBay.


Libreboot Second Flash

Now that Libreboot has been installed and is up and running, it must be flashed a second time to fully remove the Lenovo BIOS.

  1. Open a Terminal and navigate to the libreboot_bin directory.
  2. Run the following command to flash Libreboot a second time.

Note: Replace /path/to/libreboot.rom in the command below with the path to the ROM you selected.

    sudo ./lenovobios_secondflash /path/to/libreboot.rom
  1. The following line will be displayed if bucts was set back to 0 again. If it was not set to 0, run the script again.

     Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated
    
  2. The following should also be displayed, without any errors:

     Verifying flash... VERIFIED.
    
  3. Shut down again, wait a few seconds, and then boot. Libreboot has been successfully installed.


Remove High Pitched Whining Noise

There might be a high pitched whining noise coming from the CPU at times, so if it bothers you, follow this procedure to get rid of it:

Installing PowerTop

Note: On Trisquel 6, you will need to use a later powertop version from git. The one in the repositories is too old. Check the next section.

First, install powertop from the repositories:

sudo apt-get install powertop

Now you can use this command to kill that noise:

sudo powertop --auto-tune

You can also run it without parameters and then go into 'Tunables' and set everything to 'Good'

Powertop - Start automatically at boot time (Trisquel 6)

Note: This script is meant for Trisquel 6, since it's version of powertop is too old. But it works on other Ubuntu/Debian systems.

Included with the libreboot release is a script called powertop.trisquel6. Run this and it will setup powertop to run with --auto-tune at boot time. Load the file in your text editor to see how it does that.

./powertop.trisquel6

Powertop for Arch Linux/Parabola

  1. Become root:

     su -
    
  2. Install powertop:

     pacman -S powertop
    
  3. Add the following to /etc/systemd/system/powertop.service :

[Unit]
Description=Powertop tunings

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/bin/powertop --auto-tune
# "powertop --auto-tune" still needs a terminal for some reason. Possibly a bug?
Environment="TERM=xterm"

[Install]
WantedBy=multi-user.target

Finally, enable powertop in systemd:

    systemctl enable powertop
    systemctl start powertop

The next time you boot the machine, the buzz will be gone.

Powertop Cannot Load from File

Powertop will not work immediately, it has to collect measurement data before implementing it's features, which will be stored in /var/cache/powertop/saved_parameters.powertop Leave the laptop running on battery for a while, and Powertop will figure something out sooner or later.

Installing a Core 2 Duo CPU

Most ThinkPad T60 CPUs come with Core Duo 32-bit chips, but most motherboards (rev3) can have it replaced with Core 2 Duo 64-bit chips. A 64-bit system is critical, since 32-bit support is slowly being phased out as the years go by.

How to buy used CPUs on eBay

As long as the CPU has been kept cool throughout it's lifetime, it should be ok

Compatible CPUs

CPU prices can vary significantly, due to differences in rarity, and the supply vs. demand function. Sometimes, counterintuitively, more powerful CPUs might be cheaper due to common use in laptops (such as the T7300 and T5500)

Also, the odd numbered CPUs (T5500, T7300) are preferable, since they are an improved version of the even-numbered CPUs (T5600, T7200). Strange numbering scheme. Notice that the T60 can only accept C2D Merom-type CPUs.

  • Core 2 Duo T7300 - Costs $3-6 on average. The best deal for a 4MB CPU around. It's pretty common due to it's use on Dell D630 computers.
  • Core 2 Duo T5500/5600 with 2MB L2 cache
    • T5500 costs only $3 on average, with performance only marginally lower than the T5600.
    • T5600 costs $6 on average, and is the best low cost option. However, the T7200 adds 2MB of L2 cache, which seriously helps with performance. It's not worth penny pinching on.
  • Core 2 Duo T7200/7400/7600 with 4MB L2 cache.

Sources

BA Logo

Bibliotheca Anonoma

Coreboot Laptops

Coreboot is an open source, user configurable BIOS. However, it does use a few proprietary blobs here and there.

ThinkPads

These require hardware flashing. Due to Intel Management Firmware, proprietary blobs are required for newer Intel motherboards to even power up.

Chromebooks

Most Intel Chromebooks come with Coreboot preinstalled. SeaBIOS can optionally be installed to add Windows support.

Just use John Lewis's Installation Script for All Models to autoinstall.

Build Notes

NOTE: The Libreboot components of this wiki was divested into the Official Libreboot Documentation here. Please use that from now on.

Libreboot laptops are certified by the FSF to protect your freedom.

They contain no proprietary blobs of any kind, and have the best support for FSF certified GNU/LInux.

ThinkPads

Macbooks

Other Tutorials

Clone this wiki locally