The code in this repository is built by the ChromiumOS packages listed below.
Also see the userspace code in platform2/hps
, which is packaged as chromeos-base/hpsd
and chromeos-base/hps-tool
.
chromeos-base/hps-firmware
Ebuild: chromeos-base/hps-firmware-9999.ebuild
Compiles the three HPS firmware images: MCU firmware, FPGA bitstream, and FPGA application. Installs the images and associated metadata to /firmware/hps
.
The /firmware
directory is not included in ChromiumOS disk images. Instead, the various firmware files are archived separately alongside the disk image and other build artefacts.
chromeos-base/hps-firmware-images
Ebuild: chromeos-base/hps-firmware-images-9999.ebuild
Installs pre-compiled, signed firmware images to /usr/lib/firmware/hps
. They are compressed with xz during installation.
The /usr/lib/firmware
directory is included in ChromiumOS disk images. These images are the ones that ship to users and run on their Chromebooks.
For more details about how code gets from hps-firmware
to hps-firmware-images
, see Releasing new firmware.
chromeos-base/hps-firmware-tools
Ebuild: chromeos-base/hps-firmware-tools-9999.ebuild
Compiles Linux userspace utilities for developers working with HPS. Installs them to /usr/bin
.
This package is only included in test and dev images, it's not included in the base image (and thus is not shipped to users). Note that test-only packages like this one are relocated to /usr/local
and so the binaries will appear in the final ChromiumOS image in /usr/local/bin
, not /usr/bin
.
chromeos-base/hps-sign-rom
Ebuild: chromeos-base/hps-sign-rom-9999.ebuild
Compiles the firmware signing utility and installs it to /usr/bin/hps-sign-rom
.
This package is included in the SDK. It's separate from the other utilities in hps-firmware-tools
to minimize the space and time impact on the SDK.
The signing utility is extracted from SDK prebuilts and committed to the signing infrastructure source tree (currently by hand as needed).