2022-11-13 21:12:15 +00:00
|
|
|
---
|
2025-01-19 18:02:33 +00:00
|
|
|
title: Install Libreboot on Lenovo ThinkPad T440p
|
2022-11-13 21:12:15 +00:00
|
|
|
x-toc-enable: true
|
|
|
|
...
|
|
|
|
|
2025-01-19 18:02:33 +00:00
|
|
|
Open source BIOS/UEFI firmware
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
This document will teach you how to install Libreboot, on your
|
|
|
|
Lenovo ThinkPad T440p laptop motherboard. Libreboot replaces proprietary
|
|
|
|
BIOS/UEFI firmware.
|
|
|
|
|
2024-02-20 07:45:17 +00:00
|
|
|
Buy Libreboot preinstalled
|
2025-01-19 18:02:33 +00:00
|
|
|
--------------------------
|
2024-02-20 07:45:17 +00:00
|
|
|
|
2024-12-13 04:30:19 +00:00
|
|
|
**Minifree now sells the Libreboot T480, instead of the Libreboot T440p. See:
|
|
|
|
<https://minifree.org/product/libreboot-t480/>**
|
2024-02-20 07:45:17 +00:00
|
|
|
|
2025-01-19 18:02:33 +00:00
|
|
|
Safety advice
|
|
|
|
-------------
|
2024-02-20 07:45:17 +00:00
|
|
|
|
2024-12-27 01:33:55 +00:00
|
|
|
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
2024-01-27 22:35:38 +00:00
|
|
|
now, as of 27 January 2024, which is a fork of flashrom.
|
2024-12-27 01:33:55 +00:00
|
|
|
The reason why was explained, in
|
|
|
|
the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)**
|
2024-01-27 22:35:38 +00:00
|
|
|
|
2025-01-03 07:30:12 +00:00
|
|
|
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR
|
|
|
|
YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions
|
|
|
|
there, before flashing. For posterity,
|
|
|
|
[here is the link again](ivy_has_common.md).**
|
2023-07-07 22:04:10 +00:00
|
|
|
|
2025-01-03 07:30:12 +00:00
|
|
|
Read the [Ivybridge/Haswell common guide](ivy_has_common.md) if you want more information.
|
2022-11-14 02:31:12 +00:00
|
|
|
All of the following instructions assume that you've cloned lbmk and are operating from the
|
2022-11-13 21:12:15 +00:00
|
|
|
root of that project. To do so, run
|
|
|
|
|
2023-04-08 18:45:15 +00:00
|
|
|
git clone https://codeberg.org/libreboot/lbmk
|
2022-11-14 02:31:12 +00:00
|
|
|
cd lbmk
|
2022-11-13 21:12:15 +00:00
|
|
|
|
|
|
|
You can now follow the rest of the instructions.
|
|
|
|
|
2025-01-19 18:02:33 +00:00
|
|
|
### Preparing a release Rom
|
2022-11-13 21:12:15 +00:00
|
|
|
|
2025-01-03 05:24:44 +00:00
|
|
|
**Please follow this prior to flashing, or you may brick your machine.**
|
2022-11-13 21:12:15 +00:00
|
|
|
|
2025-01-03 05:24:44 +00:00
|
|
|
Please [inject vendor files](ivy_has_common.md) prior to flashing. You can also
|
|
|
|
use this guide to change the built-in MAC address for your Intel Gigabit
|
|
|
|
Ethernet device; doing so is advisable, because otherwise you will have a
|
|
|
|
default, generic MAC address.
|
2022-11-17 11:51:52 +00:00
|
|
|
|
2025-01-19 18:02:33 +00:00
|
|
|
### Splitting The Rom
|
2022-11-13 21:12:15 +00:00
|
|
|
|
|
|
|
You can use `dd` to easily split your rom into the two separate portions for
|
|
|
|
external flashing.
|
|
|
|
|
2022-11-14 02:31:12 +00:00
|
|
|
dd if=libreboot.rom of=top.rom bs=1M skip=8
|
|
|
|
dd if=libreboot.rom of=bottom.rom bs=1M count=8
|
2022-11-13 21:12:15 +00:00
|
|
|
|
|
|
|
Flash the top chip with top.rom, and tho bottom chip with bottom.rom.
|
2024-01-27 22:35:38 +00:00
|
|
|
Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the
|
2022-11-13 21:12:15 +00:00
|
|
|
image size is incorrect for the chip you're flashing.
|
|
|
|
|
2025-01-19 18:02:33 +00:00
|
|
|
### Disassembly
|
2022-11-13 21:12:15 +00:00
|
|
|
|
|
|
|
Start by removing the back cover screws and the main battery.\
|
2022-11-14 02:31:12 +00:00
|
|
|
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_back.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_back_orig.jpg" /></span>
|
2022-11-13 21:12:15 +00:00
|
|
|
|
|
|
|
You can then remove the back cover by sliding it off.
|
|
|
|
Next you need to:
|
|
|
|
|
|
|
|
+ Unplug the cmos battery
|
|
|
|
+ Unplug and unroute the fan cable
|
|
|
|
+ Unplug and unroute the black LED cable
|
|
|
|
+ Remove all visible screws
|
|
|
|
|
|
|
|
*Note: the ultrabay screw will loosen, but not come out of the assembly*\
|
2022-11-14 02:31:12 +00:00
|
|
|
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_nocover.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_nocover_orig.jpg" /></span>
|
2022-11-13 21:12:15 +00:00
|
|
|
|
|
|
|
Now you can pull up around the sides of the bottom assembly to release it.
|
|
|
|
Pull it upwards and lift it open to the front of the machine like a clamshell.
|
|
|
|
Make sure not to break the wires connecting the assembly to the rest of the machine.\
|
2022-11-14 02:31:12 +00:00
|
|
|
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_open.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_open_orig.jpg" /></span>
|
2022-11-13 21:12:15 +00:00
|
|
|
|
|
|
|
You should now be able to see the two flash chips near the RAM.\
|
2022-11-14 02:31:12 +00:00
|
|
|
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_chipLocation.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_chipLocation_orig.jpg" /></span>
|
2022-11-13 21:12:15 +00:00
|
|
|
|
|
|
|
You can now proceed to [flashing](/docs/install/spi.html) this machine.
|
2024-06-19 00:21:40 +00:00
|
|
|
|
2025-01-19 18:02:33 +00:00
|
|
|
Errata
|
|
|
|
------
|
|
|
|
|
|
|
|
### thinkpad\_acpi issues {#thinkpad-acpi}
|
2024-12-09 11:05:02 +00:00
|
|
|
|
|
|
|
It has been reported by that `thinkpad_acpi` does not load correctly on the T440p.
|
|
|
|
|
2024-12-09 16:38:32 +00:00
|
|
|
If you encounter this, check [this page](../../faq.md#thinkpad-acpi)
|
2024-12-09 11:05:02 +00:00
|
|
|
for details as to how to fix this.
|
|
|
|
|
2025-01-19 18:02:33 +00:00
|
|
|
### target names
|
2024-06-19 00:21:40 +00:00
|
|
|
|
|
|
|
NOTE: As of Libreboot releases from May 2024 onward, the Intel MRC is no longer
|
|
|
|
included for Haswell; MRC is a blob for raminit, but we now provide libre
|
|
|
|
raminit. The following targets no longer exist in the build system:
|
|
|
|
|
|
|
|
* `t440pmrc_12mb` (use `t440plibremrc_12mb` instead)
|
|
|
|
* `t440pbmrc_12mb` (use `t440plibremrc_12mb` instead)
|
|
|
|
* `w541mrc_12mb` (use `w541_12mb` instead)
|
|
|
|
* `w541bmrc_12mb` (use `w541_12mb` instead)
|
|
|
|
* `dell9020sff_12mb` (use `dell9020sff_nri_12mb` instead)
|
|
|
|
* `dell9020sffbmrc` (use `dell9020sff_nri_12mb` instead)
|
|
|
|
* `dell9020mt_12mb` (use `dell9020mt_nri_12mb` instead)
|
|
|
|
* `dell9020mtbmrc` (use `dell9020mt_nri_12mb` instead)
|
|
|
|
|
|
|
|
This is written as errata because some users may still be using older release
|
|
|
|
images but on the newer build system from May 2024 onward; you must use the
|
|
|
|
Libreboot 20240225 release if you want to inject MRC and so on, for these older
|
|
|
|
targets.
|
|
|
|
|
|
|
|
Libreboot's [binary blob reduction policy](../../news/policy.md) is very strict,
|
|
|
|
and states: if a blob can be avoided, it must be avoided. Therefore, the MRC
|
|
|
|
is removed on Haswell and Libreboot will only use the libre raminit (called
|
|
|
|
NRI, short for Native Ram Initialisation).
|