heads/blobs/t420
Manuel Mendez d396236a83
Remove hard coded paths in shebang lines
Remove hard coded paths from shebangs and other references because they
do not play well in nix-land. Either use /usr/bin/env to do runtime PATH
based lookup or avoid absolute paths so PATH look up happens instead.

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Signed-off-by: Manuel Mendez <github@i.m.mmlb.dev>
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
2024-05-02 13:00:22 -04:00
..
extract.sh Remove hard coded paths in shebang lines 2024-05-02 13:00:22 -04:00
layout.txt T420 initial support + X220 FBWhiptail Support () 2020-02-19 12:51:03 -05:00
readme.md T420 initial support + X220 FBWhiptail Support () 2020-02-19 12:51:03 -05:00

To build for T420, we need to have the following files in this folder:

  • me.bin - ME binary that has been stripped and truncated with me_cleaner
  • gbe.bin - Network card blob from the original firmware
  • ifd.bin - Flash layout file has been provided as text

To get the binaries, start with a copy of the original Lenovo firmware image. If you do not have one already, you can read one out from the laptops SPI flash with flashrom

flashrom -p <programmer> -r original.bin

Set <programmer> to the flashrom programmer type that you will use (for example, linux_spi:dev=/dev/spidev0.0 on a Raspberry Pi).

Once you have the image, the provided extraction script will extract the files needed.

./extract.sh -f <romdump>

Use the options '-m' and '-i' to provide me_cleaner and ifdtool if they can not be located automatically.

The flash layout will be automatically adjusted and the ME image cleaned and truncated.

You can now compile the image with:

make BOARD=t420