New issue
Advanced search Search tips

Issue 862223 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature
ec



Sign in to add a comment

Build chromeos-firmwareupdate with local EC image

Project Member Reported by dnojiri@chromium.org, Jul 10

Issue description

There seems currently no way to build chromeos-firmwareupdate with a locally built EC image.

This is required to test changes which affect autoupdate behavior.
 
Cc: ahungte@chromium.org
Cc: -ahungte@chromium.org adurbin@chromium.org
Alternative method (from yueherngl@):

1. Tar up the ec.bin. Say, "tar cvjf Nami_EC.1.1.8677-aaa8be5c3.tbz2 ec.bin".
2. Upload the archive to CPFE/BCS via https://www.google.com/chromeos/partner/fe/#bcUpload:type=PRIVATE. Choose the archive, use "Google - Chrome OS PA only" as partner, "overlay-nami-private" as overlay, and "chromeos-base/chromeos-firmware-nami" as relative path.
3. Once the archive is uploaded, modify verlay-nami-private/chromeos-base/chromeos-config-bsp-nami-private/files/model.yaml so that ec-image points to the uploaded archive.
4. Under chroot, "cros_workon-nami start chromeos-config-bsp-nami-private chromeos-firmware-nami", and "emerge-nami chromeos-config-bsp-nami chromeos-config-bsp-nami-private chromeos-config-bsp", then "emerge-nami chromeos-firmware-nami". chromeos-firmwareupdate should be built (use "chromeos-firmwareupdate -V" to verify the version).

Note: To complete step 3, you need to keep hitting 'retry.'
Obviously, this workaround isn't scalable (and probably not even feasible without some permission).
RE: #3

Updated steps,

1. Tar up the ec.bin. Say, "tar cvjf Nami_EC.1.1.8677-aaa8be5c3.tbz2 ec.bin".

2. Upload the archive to CPFE/BCS via https://www.google.com/chromeos/partner/fe/#bcUpload:type=PRIVATE. Choose the archive, use "Google - Chrome OS PA only" as partner, "overlay-nami-private" as overlay, and "chromeos-base/chromeos-firmware-nami" as relative path.

3. Once the archive is uploaded, modify verlay-nami-private/chromeos-base/chromeos-config-bsp-nami-private/files/model.yaml so that ec-image points to the uploaded archive.

4. Under chroot, run "./cros_update_firmware --board=nami".

5. chromeos-firmwareupdate should be built (use "chromeos-firmwareupdate -V" to verify the version).

What's the goal of building that?

For FAFT and other testing process, they usually get a "first start updater", then use --sb_unpack and --sb_repack to update the EC with any provided images.

If you want an updater with "local built" images, when the USE flag of cros_ec and bootimage are set, you can find the updater with local images in /build/$board/firmware/updater.sh
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
If you want an updater with pure local build artifacts...

USE="bootimage cros_ec" emerge-$BOARD chromeos-firmware-$BOARD

And then find the updater in /build/$BOARD/firmware/updater.sh

Sign in to add a comment