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

Issue 685670 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on:
issue 682781
issue 685706

Blocking:
issue 680153



Sign in to add a comment

Support unified builds with chromeos-bootimage

Project Member Reported by sjg@chromium.org, Jan 26 2017

Issue description

Add support for building the firmware image for multiple models (using reef).

This involves updating the chromeos-bootimage ebuild to build for all models supported by the board, when USE=uniboard is enabled.

 

Comment 1 by sjg@chromium.org, Jan 26 2017

Blocking: 680153

Comment 2 by sjg@chromium.org, Jan 26 2017

Blockedon: 682781

Comment 3 by sjg@chromium.org, Jan 26 2017

Blockedon: 685706
Need coreboot and depthcharge first
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/27bc500984b8d71a390607d458b40b812c4b330d

commit 27bc500984b8d71a390607d458b40b812c4b330d
Author: Simon Glass <sjg@chromium.org>
Date: Thu Feb 02 20:33:14 2017

chromeos-bootimage: Move building to a separate function

In preparation for supporting unified builds, which requires building for
multiple models, move the building code into a separate function.

Add some comments about the inputs and outputs for this function.

BUG= chromium:685670 
TEST=emerge-reef chromeos-bootimage
$ ls -l /build/reef/firmware/*image*
-rw-r--r-- 1 root root 16777216 Jan 26 10:14 /build/reef/firmware/image.bin
-rw-r--r-- 1 root root 16777216 Jan 26 10:14 /build/reef/firmware/image.dev.bin
-rw-r--r-- 1 root root 16777216 Jan 26 10:14 /build/reef/firmware/image.net.bin
-rw-r--r-- 1 root root 16777216 Jan 26 10:14 /build/reef/firmware/image.serial.bin

Change-Id: I639faa77f7186e1aded167357d52afdcd0044180
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/433528
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>

[modify] https://crrev.com/27bc500984b8d71a390607d458b40b812c4b330d/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild

Project Member

Comment 5 by bugdroid1@chromium.org, Feb 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/99fcb65791fda40ac7a87f168fb11061a940f8d9

commit 99fcb65791fda40ac7a87f168fb11061a940f8d9
Author: Simon Glass <sjg@chromium.org>
Date: Thu Feb 02 20:33:14 2017

chromeos-bootimage: Compress assets before building

With unified builds we plan to build multiple images, one for each model.
Since they all use the same assets, we only need to compress them once.
So adjust the code to compress the assets before calling build_images().

Print a message while doing it since it takes a while.

BUG= chromium:685670 
TEST=emerge-reef chromeos-bootimage
$ find /build/reef/firmware/ -name "image*"
/build/reef/firmware/image.net.bin
/build/reef/firmware/image.bin
/build/reef/firmware/image.dev.bin
/build/reef/firmware/image.serial.bin

Change-Id: I770279b413ca6730f69983352489192a540df0ac
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/434059
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>

[modify] https://crrev.com/99fcb65791fda40ac7a87f168fb11061a940f8d9/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/60a705025e45404debb539ed69815d3575a5085e

commit 60a705025e45404debb539ed69815d3575a5085e
Author: Simon Glass <sjg@chromium.org>
Date: Thu Feb 02 20:33:14 2017

chromeos-bootimage: Refactor build_image() to use an image type

Rather than passing in the whole filename to build_image(), pass just the
image type, as appended to the filename. So for "image.dev.bin" we pass
"dev" and for "image.bin" we pass "". This will allow unified builds to
provide a model suffix (in a future CL).

Also add some comments to the function.

BUG= chromium:685670 
TEST=emerge-reef chromeos-bootimage
$ find /build/reef/firmware/ -name "image*"
/build/reef/firmware/image.net.bin
/build/reef/firmware/image.bin
/build/reef/firmware/image.dev.bin
/build/reef/firmware/image.serial.bin

Change-Id: Ieb590f9f2ccd87587e738ef9fb155f5c3b52ba07
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/434058
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>

[modify] https://crrev.com/60a705025e45404debb539ed69815d3575a5085e/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/07f2551c2f45468c06f57d936be648710b3f534b

commit 07f2551c2f45468c06f57d936be648710b3f534b
Author: Simon Glass <sjg@chromium.org>
Date: Fri Feb 03 00:42:50 2017

chromeos-bootimage: Tighten the file installation wildcard

The current rule is "*image*.bin" which is confusing in that it suggests
that files are installed which do not start with "image". In fact this is
not true.

Adjust the install rule to "image*bin" to clarify this.

BUG= chromium:685670 
TEST=emerge-reef chromeos-bootimage
$ find /build/reef/firmware/ -name "image*"
/build/reef/firmware/image.net.bin
/build/reef/firmware/image.bin
/build/reef/firmware/image.dev.bin
/build/reef/firmware/image.serial.bin

Change-Id: I193edf4a8c372d065fbdb3303d88d5291cc64132
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/434061
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>

[modify] https://crrev.com/07f2551c2f45468c06f57d936be648710b3f534b/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild

Project Member

Comment 8 by bugdroid1@chromium.org, Feb 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/594347cd76f04553490e07a38384270778c6355d

commit 594347cd76f04553490e07a38384270778c6355d
Author: Simon Glass <sjg@chromium.org>
Date: Mon Feb 06 18:37:45 2017

chromeos-bootimage: Support a directory and suffix for images

With unified builds we want to put images for a model in their own
directory and name them by model. Add two variables to permit this. At
present they are empty, but a future CL will make use of it. It is split
out here to aid review.

BUG= chromium:685670 
TEST=emerge-reef chromeos-bootimage
$ find /build/reef/firmware/ -name "image*"
/build/reef/firmware/image.net.bin
/build/reef/firmware/image.bin
/build/reef/firmware/image.dev.bin
/build/reef/firmware/image.serial.bin

Change-Id: I594dc3379fa26344b9c9d9f3c7e39b82c51ed94c
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/434060
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>

[modify] https://crrev.com/594347cd76f04553490e07a38384270778c6355d/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild

Project Member

Comment 9 by bugdroid1@chromium.org, Feb 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/609de2660e6dc7f4b54314ea1e4441863022f284

commit 609de2660e6dc7f4b54314ea1e4441863022f284
Author: Simon Glass <sjg@chromium.org>
Date: Sat Feb 11 19:04:51 2017

chromeos-bootimage: Support unified build

When unified build is enabled, build images for all models.

I'm not sure that we need a separate subdirectory for each model. I am
considering dropping that, depending on what happens with firmware update
(which I have not done yet).

BUG= chromium:685670 
TEST=emerge-reef chromeos-bootimage
$ find /build/reef/firmware/ -name "image*"
/build/reef/firmware/image.net.bin
/build/reef/firmware/image.bin
/build/reef/firmware/image.dev.bin
/build/reef/firmware/image.serial.bin

$ USE=unibuild emerge-reef chromeos-bootimage
$ find /build/reef/firmware/ -name "image*"
/build/reef/firmware/image-reef.dev.bin
/build/reef/firmware/image-pyro.dev.bin
/build/reef/firmware/image-reef.serial.bin
/build/reef/firmware/image-reef.bin
/build/reef/firmware/image-snappy.bin
/build/reef/firmware/image-snappy.net.bin
/build/reef/firmware/image-pyro.bin
/build/reef/firmware/image-snappy.dev.bin
/build/reef/firmware/image-pyro.net.bin
/build/reef/firmware/image-reef.net.bin
/build/reef/firmware/image-pyro.serial.bin
/build/reef/firmware/image-snappy.serial.bin

Change-Id: Ic0aed25c5a42d578276cf5346a7b38ed846e71f5
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/433529

[modify] https://crrev.com/609de2660e6dc7f4b54314ea1e4441863022f284/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild

Project Member

Comment 10 by bugdroid1@chromium.org, Feb 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/985773e4fcba738d4809ba4417dc681a82a9004d

commit 985773e4fcba738d4809ba4417dc681a82a9004d
Author: Simon Glass <sjg@chromium.org>
Date: Sun Feb 12 00:39:01 2017

chromeos-bootimage: Drop the devkeys parameter to build_image()

We always pass the same value, so let's drop the parameter.

BUG= chromium:685670 
TEST=emerge-reef chromeos-bootimage
$ find /build/reef/firmware/ -name "image*"
/build/reef/firmware/image.net.bin
/build/reef/firmware/image.bin
/build/reef/firmware/image.dev.bin
/build/reef/firmware/image.serial.bin

Change-Id: I6c7056693abb21e06ac33f1d1b79b7e92ed8e831
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/434062

[modify] https://crrev.com/985773e4fcba738d4809ba4417dc681a82a9004d/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild

Project Member

Comment 11 by bugdroid1@chromium.org, Feb 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/1987fab6fbe375f026b288fda7911287db81912c

commit 1987fab6fbe375f026b288fda7911287db81912c
Author: Simon Glass <sjg@chromium.org>
Date: Sun Feb 12 00:39:02 2017

chromeos-bootimage: Drop the build_image() public_name

There is not really any need for this. We can just print the output
filename which is descriptive enough.

Drop this parameter and make the image_type first, so it is easier to see
what each build_image() call does.

BUG= chromium:685670 
TEST=emerge-reef chromeos-bootimage
$ find /build/reef/firmware/ -name "image*"
/build/reef/firmware/image.net.bin
/build/reef/firmware/image.bin
/build/reef/firmware/image.dev.bin
/build/reef/firmware/image.serial.bin

Change-Id: Ibfffbad9545204cee284d0356551b0f1d918b2b4
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/434063

[modify] https://crrev.com/1987fab6fbe375f026b288fda7911287db81912c/sys-boot/chromeos-bootimage/chromeos-bootimage-9999.ebuild

Comment 12 by sjg@chromium.org, Feb 13 2017

Status: Started (was: Available)

Comment 13 by sjg@chromium.org, Feb 13 2017

Status: Fixed (was: Started)

Sign in to add a comment