coreboot/util/chromeos
Walter Sonius 59cbb073c2 util/chromeos/crosfirmware.sh: Fix download of ninja (baytrail) recovery
Because the name NINJA has 2 occurrences inside remote recovery.conf:
https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.conf

Running 'crosfirmware.sh ninja' will list both NINJA and VORTININJA
"file= & url=" with a total of 4 lines instead of 2. Since the script
by default uses the last 2 lines it will prefer VORTININJA and download
the Octopus MEEP recovery image instead while NINJA was requested.

By adjusting 'grep' its matching control by adding '-w' restores the
correct behaviour of only showing 2 lines for the requested image.
Both NINJA, VORTININJA and a third recovery image TIDUS still download
and extract correctly when applying this fix.

TEST=crosfirmware.sh ninja #downloads and extract correct image

Change-Id: I9b55c5a2626339e70f0ada9b80c9488a5580d371
Signed-off-by: Walter Sonius <walterav1984@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/89168
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2025-10-06 14:58:51 +00:00
..
crosfirmware.sh util/chromeos/crosfirmware.sh: Fix download of ninja (baytrail) recovery 2025-10-06 14:58:51 +00:00
description.md treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
extract_blobs.sh util/chromeos/extract_blobs: allow passing dest dir as arg 2023-02-10 14:53:58 +00:00
gen_test_hwid.sh util/chromeos/gen_test_hwid.sh: Replace usage of hexdump 2022-12-17 20:45:42 +00:00
README.md treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
update_ec_headers.sh util: Break up spdx identifier text in scripts & makefiles 2024-06-19 17:42:43 +00:00

ChromeOS Scripts

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

crosfirmware.sh

crosfirmware.sh downloads a ChromeOS 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 ChromeOS 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 ChromeOS 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 ChromeOS HWID v2 compatible format.

Usage:

$ ./gen_test_hwid.sh BOARD_NAME

Example:

$ ./gen_test_hwid.sh Kukui
KUKUI TEST 9847