mirror of
https://github.com/timmypidashev/web.git
synced 2026-04-14 19:13:51 +00:00
bump scripts
This commit is contained in:
BIN
public/blog/thinkpad-t440p-coreboot-guide/eeprom_chip_4mb.webp
Normal file
BIN
public/blog/thinkpad-t440p-coreboot-guide/eeprom_chip_4mb.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
BIN
public/blog/thinkpad-t440p-coreboot-guide/eeprom_chip_8mb.webp
Normal file
BIN
public/blog/thinkpad-t440p-coreboot-guide/eeprom_chip_8mb.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 742 KiB |
Submodule public/scripts updated: 21af45674e...a665473903
@@ -44,14 +44,20 @@ Install the following programs. These will be needed to compile coreboot and fla
|
|||||||
|
|
||||||
<Commands
|
<Commands
|
||||||
description="Install prerequisite packages"
|
description="Install prerequisite packages"
|
||||||
archCommand="sudo pacman -S base-devel curl git gcc-ada ncurses zlib nasm sharutils unzip flashrom"
|
archCommand="sudo pacman -S base-devel curl git gcc-ada ncurses zlib nasm sharutils unzip flashrom usbutils chafa libwebp"
|
||||||
debianCommand="sudo apt install build-essential curl git gnat libncurses-dev zlib1g-dev nasm sharutils unzip flashrom"
|
debianCommand="sudo apt install build-essential curl git gnat libncurses-dev zlib1g-dev nasm sharutils unzip flashrom usbutils chafa webp"
|
||||||
fedoraCommand="sudo dnf install @development-tools curl git gcc-gnat ncurses-devel zlib-devel nasm sharutils unzip flashrom"
|
fedoraCommand="sudo dnf install @development-tools curl git gcc-gnat ncurses-devel zlib-devel nasm sharutils unzip flashrom usbutils chafa libwebp-tools"
|
||||||
gentooCommand="sudo emerge --ask sys-devel/base-devel net-misc/curl dev-vcs/git sys-devel/gcc ncurses dev-libs/zlib dev-lang/nasm app-arch/sharutils app-arch/unzip sys-apps/flashrom"
|
gentooCommand="sudo emerge --ask sys-devel/base-devel net-misc/curl dev-vcs/git sys-devel/gcc ncurses dev-libs/zlib dev-lang/nasm app-arch/sharutils app-arch/unzip sys-apps/flashrom sys-apps/usbutils media-gfx/chafa media-libs/libwebp"
|
||||||
nixCommand="nix-env -i stdenv curl git gcc gnat ncurses zlib nasm sharutils unzip flashrom"
|
nixCommand="nix-env -i stdenv curl git gcc gnat ncurses zlib nasm sharutils unzip flashrom usbutils chafa libwebp"
|
||||||
client:load
|
client:load
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
`usbutils` provides `lsusb` (used to verify the CH341A). `chafa` and the
|
||||||
|
`libwebp` tools are optional — the interactive script uses them to render
|
||||||
|
reference images inline in your terminal when supported (and to transcode
|
||||||
|
webp images to png if your chafa build doesn't support webp natively).
|
||||||
|
Without them the script falls back to printing a URL.
|
||||||
|
|
||||||
## Disassembling the Laptop
|
## Disassembling the Laptop
|
||||||
1. **Power off your laptop**: Make sure your T440p is completely powered off and unplugged from any power source.
|
1. **Power off your laptop**: Make sure your T440p is completely powered off and unplugged from any power source.
|
||||||
2. **Remove the battery**: Flip the laptop over and remove the battery by sliding the latch to the unlock position and lifting it out.
|
2. **Remove the battery**: Flip the laptop over and remove the battery by sliding the latch to the unlock position and lifting it out.
|
||||||
@@ -59,24 +65,39 @@ Install the following programs. These will be needed to compile coreboot and fla
|
|||||||
|
|
||||||
## Locating the EEPROM Chips
|
## Locating the EEPROM Chips
|
||||||
|
|
||||||
In order to flash the laptop, you will need to have access to two EEPROM chips located next to the sodimm RAM.
|
In order to flash the laptop, you will need to have access to two EEPROM chips
|
||||||
|
located next to the SODIMM RAM. They are different sizes and hold different
|
||||||
|
firmware — read them in the order shown below.
|
||||||
|
|
||||||

|
The **4MB (top)** chip — smaller, farther from the CPU:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The **8MB (bottom)** chip — larger, closer to the CPU, holds the Intel ME firmware:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Assembling the SPI Flasher
|
## Assembling the SPI Flasher
|
||||||
|
|
||||||
Place the SPI flasher ribbon cable into the correct slot and make sure its the 3.3v variant
|
Place the SPI flasher ribbon cable into the correct slot and make sure its the 3.3v variant
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
After the flasher is ready, connect it to your machine and ensure its ready to use:
|
After the flasher is ready, plug it into a USB port on your machine (leave the clip
|
||||||
|
unattached for now) and confirm the kernel sees it:
|
||||||
|
|
||||||
<Command
|
<Command
|
||||||
description="Ensure the CH341A flasher is being detected"
|
description="Verify CH341A is on the USB bus"
|
||||||
command="flashrom --programmer ch341a_spi"
|
command="lsusb | grep 1a86:5512"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
Flashrom should report that programmer initialization was a success.
|
A matching line (e.g. `Bus 001 Device 00X: ID 1a86:5512 QinHeng Electronics`)
|
||||||
|
confirms the programmer is plugged in and the host recognises it.
|
||||||
|
|
||||||
|
> Do **not** run `flashrom --programmer ch341a_spi` at this stage — with no
|
||||||
|
> chip clipped on, flashrom will report "No EEPROM/flash device found" and
|
||||||
|
> exit non-zero. That's expected, not a failure of the programmer. The chip
|
||||||
|
> probe happens in the next section, paired with the actual read.
|
||||||
|
|
||||||
## Extracting Original BIOS
|
## Extracting Original BIOS
|
||||||
|
|
||||||
@@ -89,11 +110,14 @@ the T440p will be done.
|
|||||||
client:load
|
client:load
|
||||||
/>
|
/>
|
||||||
|
|
||||||
Next, extract the original rom from both EEPROM chips. This is
|
Next, extract the original ROM from both EEPROM chips. Do the **4MB (top)
|
||||||
done by attaching the programmer to the correct chip and running
|
chip first** — it's the smaller of the two, so reads finish faster and any
|
||||||
the subsequent commands. It may take longer than expected, and
|
setup issues (clip alignment, pin 1, voltage) surface quickly. Then move
|
||||||
ensuring the bios was properly extracted is important before proceeding
|
the clip to the **8MB (bottom) chip**.
|
||||||
further.
|
|
||||||
|
Each chip is read twice so the two reads can be diffed to catch flaky
|
||||||
|
contact. The reads can take a while (tens of seconds to a couple of
|
||||||
|
minutes per pass) — that's normal.
|
||||||
|
|
||||||
<CommandSequence
|
<CommandSequence
|
||||||
commands={[
|
commands={[
|
||||||
|
|||||||
Reference in New Issue
Block a user