New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 750116 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug

Blocked on:
issue 731016



Sign in to add a comment

Firmware updater: Support "multiple firmware image with multiple keyset"

Project Member Reported by hungte@chromium.org, Jul 28 2017

Issue description

Currently firmware updater is designed for single image, single key (for single board).
For LOEM we've implemented supporting multiple keys using customization ID.
In Unified build, it changes firmware updater to select different images by reading model, but it seem to not support switching keys.

For future, it'll become more and more often to see Zerg+LOEM model - that we have to support multiple firmware images (same or different board, even same board with different versions) and multiple keysets at the same time.

Also, currently auto tests (or manual tests also FAFT) has some problem finding "what's in the firmware updater" - they try to grep the -V output, which was not designed for machine to parse.

I think we want to solve these together at same time:
 - Change firmware updater to select image and key by model
 - For legacy devices, do a special mapping or change keyset names
 - Change firmware updater content to have some JSON based metadata for test programs to read.
 

Comment 1 by hungte@chromium.org, Jul 28 2017

Blockedon: 731016
One of the prior work is we need $(mosys platform model) to reflect a device identifier that includes software (firmware rootkey) difference, and that is tracked by  issue 731016 .
We need to nail down the constraints on 'mosys platform model'. In coral that's some ambiguous usage for some of the devices such that clamshell and convertible have their own names. However, they should be using the same firmware rootkey. We can handle it, but i think this is one of those things we need a hierarchical taxonomy such that we can push out all the identifiers use them accordingly. 

Comment 3 by pbe...@chromium.org, Jul 29 2017

I thought we had managed to converge on every UB model = GE project name / Google project name in the discussion [here](https://docs.google.com/a/google.com/document/d/1fciymxz4y4IzsE-kM4wa0jznIasOg56HE-CbfRKRAYc/edit?disco=AAAABEKInA4). If that's the case, we  simply use a different key for each model and are done with it. It doesn't really matter whether it's a convertible or clamshell or totally identical HW with a different sticker in the case of WL. In the end, a sku identified by the straps is mapped to a particular model. All the skus mapped to the same model get the same key. A WL project gets a different GE project name/model, hence a different key.

Am I missing something?

You aren't missing anything. I was bringing up that it we'll likely need more than one device point to the same root key. 
Cc: pbe...@chromium.org
I think we haven't get agreement for if model name should by unique per WL projects. That will change how updater and signer should deal with keysets.
For the purposes of the requirements we should support it because if we can handle that condition we can handle any other thing we'd see -- even if we use more than just 'model'. It's just a string -> object mapping we need to handle.

Comment 8 by pbe...@chromium.org, Aug 18 2017

Cc: sjg@chromium.org
Hungte, what's your ETA for your changes and how much overlap/stepping on each other's feet is there with Simon/Jason making changes for b/64117873?

Comment 9 by sjg@google.com, Aug 25 2017

We have a master configuration binding to support this with shared keys. Each model can have its own key or share keys with other models.

What are Hung-te's changes?
Status: WontFix (was: Started)
The plan has been changed a lot and I think so far what we heard is,

 - unified build will support signing different model with different keys.
 - for WL, that should be an unique model signing in LOEM keysets.

So we are not doing "multiple firmware image with multiple keysets".

At least not for now. Close as WONTFIX until we see more problems.

Sign in to add a comment