Signed-off-by: Leah Rowe <leah@libreboot.org>
master
Leah Rowe 2024-01-10 16:50:03 +00:00
parent b1790c0653
commit e6151430c2
1 changed files with 17 additions and 10 deletions

View File

@ -58,6 +58,11 @@ P*: Partially works with blobs
| **SeaBIOS** | Works |
| **SeaBIOS with GRUB** | Works |
</div>
Full hardware specifications can be found on HP's own website:
<https://support.hp.com/gb-en/document/c04543492>
Introduction
============
@ -244,19 +249,13 @@ This is to prevent short circuiting and power surges while flashing.**
For general information, please refer to [25xx NOR flash
instructions](../install/spi.md).
At this present time, disassembly instructions are unavailable from the
Libreboot project, but you can search for HP's own hardware maintenance manual
or look at videos online showing disassembly.
The flash chip is visible by removing the "bottom door" panel. But the
frame makes it hard to put a clip on it, so it's recommended to follow the
HP [service manual](https://h10032.www1.hp.com/ctg/Manual/c03015458.pdf)
to remove the **bottom cover**, as it's called.
Remove the bottom cover via the latch, and the flashes are accessible.
First, dump both flashes for backup, using the `-r` option (instead of `-w`)
in flashrom. Two dumps of each flash, make sure both dumps match for each chip.
We will assume that your system flash (16MB) dump is named `dump.bin`.
We will assume that your system flash (16MB) dump is named `dump.bin`. This is
the dump of your 16MB flash, containing HP's firmware, including the final
bootblock and EC firmware.
This gives you everything, including the final 4MB. Now insert your new ROM
into a copy of `dump.bin`:
@ -270,6 +269,14 @@ Flash `new.bin` to system flash (16MB IC) using the `-w` option in flashrom,
and erase the private (2MB) flash IC,
using the `--erase` option (instead of `-w filename.rom`) in flashrom.
In the above example, you replaced the first 12MB of the HP dump with that of
your Libreboot image, but leaving the final 4MB intact which contains the EC
firmware. Libreboot's custom IFD sets everything so that all regions, from
IFD to GbE, ME and then BIOS region, exist within the first 12MB of flash.
This makes the machine boot from the end of the 12MB section, containing the
coreboot bootblock, instead of the HP bootblock (which is never executed but
must remain intact).
It's very important that you *erase* the 2MB flash. Be careful *not* to
erase the system (16MB flash). This is yet another reason why you should keep
a backup of both flash ICs, just in case (dumped using `-r` in flashrom).