ThinkPad X60
Pages 24
- Home
- BIOS Flashchip Identification Method
- Chromebook Coreboot Installation
- Compiling GRUB2 for Coreboot
- Compiling Libreboot with SeaBIOS
- CPU Buying Guide
- Customizing Libreboot
- Dual IDA C2D
- Flexview Screens
- Hardware Flashing with Raspberry Pi
- Macbook 2 1
- Other Custom BIOSes
- T60p Build Coreboot
- T60p Build Coreboot with GRUB2
- T60p Extract VGABIOS
- T60p Extract VGABIOS From Backup
- ThinkPad T60
- ThinkPad T60p
- ThinkPad X200
- ThinkPad X60
- X200 X201 Hardware Flashing
- X200 X201 Hardware Flashing with Raspeberry Pi
- X60 T60 Hardware Flashing
- xx30 BIOS Whitelist Removal
- Show 9 more pages…
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.
-
ThinkPad T430/X230
- xx30 BIOS Whitelist Removal
- xx30 BIOS Mod with Old Keyboard - Since Libreboot's ROMs each can use a different keyboard layout, would it be possible to modify Coreboot to work with the old xx20 keyboard? Or just mod the official BIOS to do so?
- ThinkPad X201
- ThinkPad T60p (ATI GPU)
- ThinkPad T22 - Back when Coreboot was known as "LinuxBIOS", they installed it on a ThinkPad T22 for Richard Stallman.
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.
-
Chromebook Coreboot Installation - Install Coreboot + SeaBIOS for 2nd gen laptops. Not necessary for 3rd gen.
- Acer C7 Chromebook
- Toshiba Chromebook 2 - The only 13-inch model around with an FHD 1920x1080 IPS screen.
- Samsung Series 5 550
- Acer C720 Chromebook
- ThinkPad X131e Chromebook
- Install Typical BIOS
- Chromebook Pixel
Build Notes
Libreboot Laptops
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
- Customizing Libreboot
- X60 T60 Hardware Flashing
- X200 X201 Hardware Flashing
- Installing Trisquel with Full Disk Encryption
- BIOS Flashchip Identification Method
- Phoenix BIOS Crisis Recovery - (under research) Software method for recovering the factory BIOS, even if you lost the original dump.
The ThinkPad X60 is the first Libreboot laptop, and the only laptop series where every motherboard is guaranteed to work with Libreboot (no ATI GPUs, all LCDs work out of the box, etc.).
Briefing
- All ThinkPad X60/X60s/X60 Tablet motherboards support Libreboot, since none of them have an ATI GPU.
- The ThinkPad X60 series supports software BIOS flashing.
- No hardware flashing is necessary, unless you accidentally brick the BIOS.
- If you are using Trisquel (or some other FSF-approved GNU/Linux distro), you must replace the Intel 3945abg Wifi Card; since it uses proprietary drivers. We recommend an Atheros Wireless-N miniPCI card instead.
- You will need to disassemble the ThinkPad in order to access the miniPCI card.
- Don't plug in the Atheros card until Libreboot is installed. In the meantime, use an ethernet cable or something.
Download Libreboot
Note: 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.
Note: If you are using Trisquel, you must use an ethernet cable to connect to the internet.
-
Open a Terminal and navigate to the Downloads folder (or wherever else)
-
Extract the Libreboot folder:
tar -xvf libreboot_bin.tar.gz -
Navigate to the
libreboot_binfolder:cd libreboot_bin
Install and Make Dependencies
The flashrom and bucts programs require a few dependencies. Install them automatically with the Libreboot builddeb scripts.
- For DEB-based distros (Trisquel, Ubuntu, Debian, etc):
sudo ./deps-trisquel
- For Arch-based distros (Parabola, Arch Linux, etc):
sudo ./deps-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
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.
Note: The BIOS chip no longer needs to be visually identified before installation. Libreboot now offers two prepatched
flashrombinaries,flashrom_lenovobios_sstandflashrom_lenovobios_macronix.
If you are flashing Libreboot for the first time, on an unmodified ThinkPad running Lenovo's BIOS, you will need to follow this special process.
Back up Official Lenovo BIOS
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.
-
From the
libreboot_bin/folder, enter theflashrom/folder.cd flashrom -
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 -
If a
factory.binfile was created in theflashrom/folder, the Lenovo BIOS has been backed up successfully. If not, try the commands again. Copy this dump to a safe place. -
Return to the
libreboot_bin/folder.cd ..
Libreboot First Flash
- Run the first flash script for Lenovo BIOSes:
Note: Replace
bin/YOURBOARD/YOURROMin the command below with the path to the ROM you selected.
sudo ./lenovobios_firstflash bin/YOURBOARD/YOURROM.
-
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.
-
The line below is displayed if
bucts 1was enabled successfully.
Warning: If
BUC.TS=1was 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.
- The following "errors" are displayed if
flashrominstalled Libreboot correctly. The output must be very similar (later versions offlashrommay 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.binimage.
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.
-
If the "errors" closely match the lines above, shut down the laptop (don't restart).
-
Wait a few seconds, and then boot. Libreboot will start up.
-
Use the
Search for GRUB configuration on local storageoption if the normal menu options don't work. -
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 flasher is required to restore it to working order. We recommend a $40 Bus Pirate and $20 8-pin Pomona Clip from eBay.
Enable Trackpoint
On a few rare X60 variants, the Trackpoint mouse might not work out of the box. Not to worry though, just use nvramtool with the Libreboot package to enable it.
-
Boot and log into Linux. (you may need to use text mode, find keyboard shortcuts)
-
Open a Terminal (somehow... without the mouse. Hopefully you have Yakuake installed!)
-
Navigate to the
libreboot_bin/nvramtoolfolder. -
Build
nvramtoolwithmake.make -
Use
nvramtoolto enable the TrackPoint mouse.sudo ./nvramtool -w trackpoint=Enable -
Reboot the laptop (using
sudo reboot), and the TrackPoint will be enabled. If it still doesn't work, try this command instead:sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w trackpoint=Enable
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.
- Open a Terminal and navigate to the
libreboot_bindirectory. - Run the following command to flash Libreboot a second time.
Note: Replace
/path/to/libreboot.romin the command below with the path to the ROM you selected.
sudo ./lenovobios_secondflash /path/to/libreboot.rom
-
The following line will be displayed if
buctswas set back to0again. If it was not set to 0, run the script again.Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated -
The following should also be displayed, without any errors:
Verifying flash... VERIFIED. -
Shut down again, wait a few seconds, and then boot. Libreboot has been successfully installed.
Replace the WiFi Card
Note: If you're squeamish about cracking open your ThinkPad, you can just buy a Atheros WiFi USB Dongle from ThinkPenguin. Of course, that dongle will take up one of your precious USB ports...
If you are planning on using Trisquel or some other FSF-approved GNU/Linux distro, you must replace the Intel mPCI wifi card with an Atheros Wireless-N mPCI card ($10-15).
The Intel card requires proprietary blobs, makes the palmrest extremely hot, and only supports the slower Wireless-G anyway; so it's well worth the upgrade.
- Follow this guide for the X60/X60s or the HMM for the X60 tablet to remove the palmrest.
- Remove the Intel 3945bgn WiFi Card.
- Replace it with an Atheros Wireless-N MiniPCI card.
(needs more info and photos)
Updating Libreboot or Installing Custom ROMs
In the future, if you ever want to update Libreboot on the X60 (or restore the factory BIOS), follow this process.
- Download and extract the latest Libreboot binary release.
- Open a Terminal, and navigate to the
libreboot_bindirectory. - Run the following command to flash your chosen rom:
Note: Replace
/path/to/libreboot.romin the command below with the path to the ROM you selected.
sudo ./flash /path/to/libreboot.rom
-
The following should be displayed, without any errors:
Verifying flash... VERIFIED. -
Shut down again, wait a few seconds, and then boot. Libreboot has been successfully updated.
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
-
Become root:
su - -
Install powertop:
pacman -S powertop -
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.
- Source: Arch Linux Wiki - Powertop
Battery Recall
Many ThinkPad X60 batteries were recalled by Lenovo in 2007, and will replace old ones with fresh new one for free, to this day.
The Lenovo BIOS is required to check if your battery is on the list, so you might want to do this before flashing coreboot. Make sure you've updated to the latest version of the Lenovo BIOS.
