coreboot-kgpe-d16/util/chromeos
Matt DeVillier b0844490db util/chromeos/crosfirmware: Handle "broken" recovery images
Several recovery images for newer ChromeOS boards fail in
extract_partition() due to parted detecting that there are overlapping
partitions, and therefore failing to print the partition layout
(this is potentially a parted bug; requries further investigation).

To work around this, fall back to using fdisk, making the assumption
that ROOT-A is always partition #3, and calculate the partition
start and size using the sector size.

Test: successfully extract coreboot firmware images from recovery
images which previously failed to extract (fizz, octopus, volteer).

Change-Id: I03234170ba0544af9eb0879253f0a8e0e7bf33f5
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61616
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
2022-02-11 23:57:03 +00:00
..
README.md
crosfirmware.sh util/chromeos/crosfirmware: Handle "broken" recovery images 2022-02-11 23:57:03 +00:00
description.md
extract_blobs.sh
gen_test_hwid.sh

README.md

Chrome OS Scripts

These scripts can be used to access or generate Chrome OS resources, for example to extract System Agent reference code and other blobs (e.g. mrc.bin, refcode, VGA option roms) from a Chrome OS recovery image.

crosfirmware.sh

crosfirmware.sh downloads a Chrome OS recovery image from the recovery image server, unpacks it, extracts the firmware update shell archive, extracts the firmware images from the shell archive.

To download all Chrome OS firmware images, run

$ ./crosfirmware.sh

To download, e.g. the Panther firmware image, run

$ ./crosfirmware.sh panther

extract_blobs.sh

extract_blobs.sh extracts the blobs from a Chrome OS firmware image.

Right now it will produce the ME firmware blob, IFD, VGA option rom, and mrc.bin.

gen_test_hwid.sh

gen_test_hwid.sh generates a test-only identifier in Chrome OS HWID v2 compatible format.

Usage:

$ ./gen_test_hwid.sh BOARD_NAME

Example:

$ ./gen_test_hwid.sh Kukui
KUKUI TEST 9847