Lenovo ThinkPad T480 — Coreboot Flash Guide
The T480 and T580 share the same Intel platform (Kaby Lake Refresh), the same coreboot SoC directory (soc/intel/skylake), and the same deguard + EDK II workflow. This guide covers only what differs from the T580. For all other steps, follow the T580 guide.
Upstream docs: doc.coreboot.org — T470s/T480/T480s/T580/X280
Overview
| Feature | T480 | T580 |
|---|---|---|
| Form factor | 14“ laptop | 15.6“ laptop |
| Mainboard coreboot dir | mainboard/lenovo/t480 | mainboard/lenovo/t580 |
| Kconfig | CONFIG_BOARD_LENOVO_T480=y | CONFIG_BOARD_LENOVO_T580=y |
| RAM | 2× SO-DIMM DDR4-2400, max 32 GB (no soldered RAM) | 2× SO-DIMM DDR4-2400, max 32 GB (no soldered RAM) |
| Flash chip | 1× W25Q128.V (16 MiB, SOIC-8) — same | Same |
| Thunderbolt flash | 1× separate SOIC-8 (~1 MiB) — wider than T580, easier to clip | Narrower, more delicate |
| Thunderbolt firmware | vendorfiles/t480/tb.bin | vendorfiles/t580/tb.bin |
| dGPU | Some SKUs have Nvidia MX150 — finicky under coreboot | Some SKUs have Nvidia MX150 — same |
| Battery | External (removable) + internal | External (removable) + internal |
| Everything else | Identical — same chipset, ME, deguard, payload, iPXE, flash layout | — |
Differences from T580
Disassembly
Both T480 and T580 have a removable external battery and an internal one — disconnect both before clipping. The T480 is a 14“ chassis so the board layout is more compact, but bottom panel removal is the same — Phillips screws, pry off.
Chip Locations
Same as T580 but the Thunderbolt flash chip is physically wider on the T480, making the SOIC-8 clip easier to seat than on the T580.
Thunderbolt Firmware
Follow the T580 TB procedure exactly, but use the T480-specific firmware file:
- lbmk:
./mk -d coreboot t480_vfsp_16mb→vendorfiles/t480/tb.bin - Manual: Download the T480-specific updater from Lenovo’s support site
Do not use the T580
tb.binon a T480 or vice versa. They are board-specific.
defconfig
Use the T580 defconfig from the T580 guide with these two changes:
CONFIG_BOARD_LENOVO_T480=y # was CONFIG_BOARD_LENOVO_T580=y
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="ThinkPad T480" # was "ThinkPad T580"
Everything else — blob paths, EDK II config, iPXE, HAP bit — is identical.
deguard Delta
The deguard --delta argument for the T480 is:
./finalimage.py \
--delta data/delta/thinkpad_t480 \
--version 11.6.0.1126 \
--pch LP \
--sku 2M \
--fake-fpfs data/fpfs/zero \
--input ../coreboot/binaries/me_donor.bin \
--output ../coreboot/binaries/me_deguarded.bin
The donor ME binary, extraction, and HAP bit procedure are identical to the T580 guide Step 4.
If
data/delta/thinkpad_t480doesn’t exist in your deguard checkout, generate it from your T480 vendor dump:./generatedelta.py --input ../coreboot/binaries/bios.bin --output data/delta/thinkpad_t480
Everything Else — Follow the T580 Guide
These steps are identical between T480 and T580:
| Step | T580 Guide Section |
|---|---|
| SPI programmer setup | Tools — SPI Programmers |
| Read vendor firmware | T580 Step 2 |
| Extract blobs (ifdtool) | T580 Step 3 |
| Deguard (Boot Guard bypass) | T580 Step 4 (use --delta data/delta/thinkpad_t480) |
| Build coreboot | T580 Step 5 (change board Kconfig + SMBIOS name) |
| Set MAC address | T580 Step 6 |
| Flash coreboot | T580 Step 7 |
| Thunderbolt firmware | T580 Step 8 (use T480 tb.bin) |
| First boot & verification | T580 Step 9 |
| Internal flashing | Tools — Internal Re-Flashing |