This folder contains resources for packaging new Chrome OS firmware updater.
The package is a ZIP format file with simple UNIX shell stub as SFX (self-extracting archive) program.
The SFX stub program is sfx2.sh.
bios.bin
: AP (host) firmware imageec.bin
: Embedded Controller firmware imagepd.bin
: CrOS PD (running CrOS EC software) firmware imagesetvars.sh
(see setvars.template) in models/${MODEL}
folder, with at least following fields:IMAGE_MAIN
: Path to AP (host) firmware imageIMAGE_EC
: Path to Embedded Controller firmware imageIMAGE_PD
: Path to CrOS PD firmware imageSIGNATURE_ID
: Signing key name for this model, just put model name.keyset
folder, with a whitelabel_tag
as suffix (which ${model}-${loem}
in Unified Build, otherwise just ${loem}
):rootkey.$WLTAG
: The firmware root keyvblock_A.$WLTAG
: The vblock in A sectionvblock_B.$WLTAG
: The vblock in A sectionAssume you have all contents ready in $PATH_TO_DIR
, just do:
cp -f sfx2.sh chromeos-firmwareupdate ./chromeos-firmwareupdate --repack $PATH_TO_DIR
Run command:
chromeos-firmwareupdate --repack $PATH_TO_DIR
If ZIP programs are available, you may also update directly:
(cd $PATH_TO_DIR; zip PATH_TO/chromeos-firmwareupdate .)
Extract to a destination folder:
chromeos-firmwareupdate --unpack $PATH_TO_DIR
The package is using ZIP format and can also be extracted using other tools:
unzip chromeos-firmwareupdate
For debugging, run command:
cromeos-firmwareupdate -V
For machine friendly parsing, run following command to get JSON output:
cromeos-firmwareupdate --manifest