Support unified builds with coreboot |
||||
Issue descriptionAdd support for building the coreboot image for multiple models (using reef). This involves updating the coreboot ebuild to build for all models supported by the board, when USE=uniboard is enabled. It also affects: - chromeos-mrc which needs to build multiple outputs - private files for pyro/snappy, which need to move into baseboard-reef-private (at least until we figure out another way) - possibly a few other packages as well
,
Jan 19 2017
,
Jan 20 2017
16 CLs are up for review. I can now build what appears to be a suitable coreboot for reef, pyro, snappy, using "USE=unibuild emerge-reef coreboot". However I cannot test it properly until I do chromeos-bootimage. https://chromium-review.googlesource.com/#/c/430894/ https://chrome-internal-review.googlesource.com/#/c/318730/ https://chrome-internal-review.googlesource.com/#/c/318652/
,
Jan 25 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/baseboard-reef-private/+/f744bce0aeacdf735b70674cdec5c37bbf527c3f commit f744bce0aeacdf735b70674cdec5c37bbf527c3f Author: Simon Glass <sjg@chromium.org> Date: Fri Jan 20 20:02:51 2017
,
Jan 25 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/chromeos-partner-overlay/+/2dfde9a7178369206c524568a666c75300fd7bb3 commit 2dfde9a7178369206c524568a666c75300fd7bb3 Author: Simon Glass <sjg@chromium.org> Date: Fri Jan 20 20:25:48 2017
,
Jan 25 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/chromeos-partner-overlay/+/2dfde9a7178369206c524568a666c75300fd7bb3 commit 2dfde9a7178369206c524568a666c75300fd7bb3 Author: Simon Glass <sjg@chromium.org> Date: Fri Jan 20 20:25:48 2017
,
Jan 25 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/chromeos-partner-overlay/+/c679a0336a62d4ac9b9117c016beb1930b8aeb3a commit c679a0336a62d4ac9b9117c016beb1930b8aeb3a Author: Simon Glass <sjg@chromium.org> Date: Fri Jan 20 20:30:05 2017
,
Jan 26 2017
,
Jan 30 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/baseboard-reef-private/+/5f50020e2e835c70e08c4618c248d5bc79a69d8d commit 5f50020e2e835c70e08c4618c248d5bc79a69d8d Author: Simon Glass <sjg@chromium.org> Date: Fri Jan 20 20:06:27 2017
,
Feb 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/a7343cea9c521439851741b082a94eb0aaf1912d commit a7343cea9c521439851741b082a94eb0aaf1912d Author: Simon Glass <sjg@chromium.org> Date: Wed Feb 08 04:14:20 2017 coreboot: Use variables for the config file names Rather than repeating the name each time, use variables. This will allow us to supply a different name in a future CL, which is needed for unified builds. I have avoided adding quotes since it is unnecessary and harder to read. But I can add them in if needed. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot; see that files are still installed Change-Id: I86063f8598ef53010f1bc8eb39bac4963b7083ab Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430228 Reviewed-by: Chris Ching <chingcodes@chromium.org> [modify] https://crrev.com/a7343cea9c521439851741b082a94eb0aaf1912d/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/7a03f71b714ff5b5ae22567c7696ef8b1b6a2590 commit 7a03f71b714ff5b5ae22567c7696ef8b1b6a2590 Author: Simon Glass <sjg@chromium.org> Date: Wed Feb 08 04:14:19 2017 coreboot: Move the board selection code into a function Rather than repeating the code twice, put it in a function and use it when needed. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot Change-Id: Ia714addabc729714c3e24c816c9b57b0a413f0dd Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430227 Reviewed-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Chris Ching <chingcodes@chromium.org> [modify] https://crrev.com/7a03f71b714ff5b5ae22567c7696ef8b1b6a2590/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/1daa8545ad08d21e0df76ad8a30516852cee5697 commit 1daa8545ad08d21e0df76ad8a30516852cee5697 Author: Simon Glass <sjg@chromium.org> Date: Wed Feb 08 04:14:20 2017 coreboot: Move config creation code into a function There is a lot of code used to create the .config files. Move it into its own function. This will allow us to call it multiple times as needed for unified builds. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot Change-Id: I4d4bd9c6f5dd2a64bdd27848d855615321925efd Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430229 Reviewed-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Chris Ching <chingcodes@chromium.org> [modify] https://crrev.com/1daa8545ad08d21e0df76ad8a30516852cee5697/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/13bc17a7824c34bbfcdd1d11eacbb4aa65700839 commit 13bc17a7824c34bbfcdd1d11eacbb4aa65700839 Author: Simon Glass <sjg@chromium.org> Date: Sat Feb 11 08:35:21 2017 coreboot: Add a function to set the build environment We need to access the same variables from different parts of the build. Add a 'set_build_env' function to support this. Adjust the existing use of ".config", etc. to use the variables. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot; see that files are still installed Change-Id: I771765124aee0bc7fa80382b5c5079da233cfd06 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430890 Reviewed-by: Aaron Durbin <adurbin@chromium.org> [modify] https://crrev.com/13bc17a7824c34bbfcdd1d11eacbb4aa65700839/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/3ba7523e40b01dd28fff6e91f5cb02f712be5388 commit 3ba7523e40b01dd28fff6e91f5cb02f712be5388 Author: Simon Glass <sjg@chromium.org> Date: Sat Feb 11 08:35:21 2017 coreboot: Add variables for the build directories Set up variables for the two build directories. This will allow us to adjust then for unified builds. While we're at it, add a message showing the config and build directory. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot; see that files are still installed Change-Id: I7a6d091dfc03ebf9729df41f8b0d522d3c4db71c Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430891 [modify] https://crrev.com/3ba7523e40b01dd28fff6e91f5cb02f712be5388/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/fe0a3d073337436141b20f03f1f221063a4281d1 commit fe0a3d073337436141b20f03f1f221063a4281d1 Author: Simon Glass <sjg@chromium.org> Date: Sat Feb 11 19:04:51 2017 coreboot: Pass the board config to make_coreboot() Rather than moving the config into place and then calling make_coreboot(), pass the required config to the function and have it deal with the details of how to press the config into use. Adjust make_coreboot() to store the config in the build directory, so that it can be installed correctly after all builds are complete. These changes make it easier to handle unified builds. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot; see that files are still installed $ grep CONFIG_SOC_UART_DEBUG /build/reef/firmware/coreboot.config $ grep CONFIG_SOC_UART_DEBUG /build/reef/firmware/coreboot_serial.config CONFIG_SOC_UART_DEBUG=y Change-Id: I8427f3bd5d17cb0b693131509c523484983e5419 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430327 [modify] https://crrev.com/fe0a3d073337436141b20f03f1f221063a4281d1/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/9b375f8acdf62ded9512762668d4d229ae14e86a commit 9b375f8acdf62ded9512762668d4d229ae14e86a Author: Simon Glass <sjg@chromium.org> Date: Sat Feb 11 19:04:50 2017 coreboot: Move the install code into its own function With unified builds we will be calling this code multiple times, once for each model. Put it in a function to enable this. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot; see that files are still installed Change-Id: Ic56e9205a5871aec47169db115520bb84046ff62 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430893 Reviewed-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Chris Ching <chingcodes@chromium.org> [modify] https://crrev.com/9b375f8acdf62ded9512762668d4d229ae14e86a/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/7c934cb399eaa7b33a3dc89d0588570e30d697d2 commit 7c934cb399eaa7b33a3dc89d0588570e30d697d2 Author: Simon Glass <sjg@chromium.org> Date: Sat Feb 11 19:04:50 2017 coreboot: Use a variable for the repeating config filename Rather than writing it out each time, put it in a variable. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot; see that files are still installed Change-Id: Icd2e52f2543e94af340f1f42768401035e41a4ec Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430892 [modify] https://crrev.com/7c934cb399eaa7b33a3dc89d0588570e30d697d2/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/49e79570f1e64242fb68508ca17d02ba7d2475d7 commit 49e79570f1e64242fb68508ca17d02ba7d2475d7 Author: Simon Glass <sjg@chromium.org> Date: Sun Feb 12 00:39:02 2017 coreboot: Use a variable for the install directory With unified builds we need to install into multiple directories, one for each supported model. To prepare for this, make the install directory a variable. BUG= chromium:682781 BRANCH=none TEST=emerge-reef --nodeps coreboot; see that files are still installed Change-Id: Ic29ad44948fdb23a224148234e79bd95f7713f05 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430328 [modify] https://crrev.com/49e79570f1e64242fb68508ca17d02ba7d2475d7/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ef9505fdf926e9b385f2c851cc2d39ba7834a32d commit ef9505fdf926e9b385f2c851cc2d39ba7834a32d Author: Simon Glass <sjg@chromium.org> Date: Sun Feb 12 02:12:14 2017 coreboot: Support unified builds Update the ebuild to support building all models supported by a board. This involves adjusting each stage (prepare, compile, install) to loop through all the models instead of just doing one model. BUG= chromium:682781 BRANCH=none TEST=USE=unibuild emerge-reef --nodeps coreboot $ grep CONFIG_SOC_UART_DEBUG /build/reef/firmware/*/coreboot_serial.config /build/reef/firmware/pyro/coreboot_serial.config:CONFIG_SOC_UART_DEBUG=y /build/reef/firmware/reef/coreboot_serial.config:CONFIG_SOC_UART_DEBUG=y /build/reef/firmware/snappy/coreboot_serial.config:CONFIG_SOC_UART_DEBUG=y $ grep CONFIG_SOC_UART_DEBUG /build/reef/firmware/*/coreboot.config $ ls -d /build/reef/firmware/*/coreboot* -1 /build/reef/firmware/pyro/coreboot /build/reef/firmware/pyro/coreboot.config /build/reef/firmware/pyro/coreboot.rom /build/reef/firmware/pyro/coreboot.rom.serial /build/reef/firmware/pyro/coreboot_serial /build/reef/firmware/pyro/coreboot_serial.config /build/reef/firmware/reef/coreboot /build/reef/firmware/reef/coreboot.config /build/reef/firmware/reef/coreboot.rom /build/reef/firmware/reef/coreboot.rom.serial /build/reef/firmware/reef/coreboot_serial /build/reef/firmware/reef/coreboot_serial.config /build/reef/firmware/snappy/coreboot /build/reef/firmware/snappy/coreboot.config /build/reef/firmware/snappy/coreboot.rom /build/reef/firmware/snappy/coreboot.rom.serial /build/reef/firmware/snappy/coreboot_serial /build/reef/firmware/snappy/coreboot_serial.config $ ls /build/reef/firmware/*/coreboot{,_serial} /build/reef/firmware/pyro/coreboot: bootblock.debug postcar.debug ramstage.debug romstage.debug verstage.debug /build/reef/firmware/pyro/coreboot_serial: bootblock.debug postcar.debug ramstage.debug romstage.debug verstage.debug /build/reef/firmware/reef/coreboot: bootblock.debug postcar.debug ramstage.debug romstage.debug verstage.debug /build/reef/firmware/reef/coreboot_serial: bootblock.debug postcar.debug ramstage.debug romstage.debug verstage.debug /build/reef/firmware/snappy/coreboot: bootblock.debug postcar.debug ramstage.debug romstage.debug verstage.debug /build/reef/firmware/snappy/coreboot_serial: bootblock.debug postcar.debug ramstage.debug romstage.debug verstage.debug $ ls -d /build/reef/firmware/*coreboot* /build/reef/firmware/coreboot-private (i.e. no coreboot output files in /firmware, they are all in subdirs) Change-Id: I56518677efb27b536a86b18670f7a3ee621fd9a3 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/430894 [modify] https://crrev.com/ef9505fdf926e9b385f2c851cc2d39ba7834a32d/sys-boot/coreboot/coreboot-9999.ebuild
,
Feb 13 2017
,
Feb 21 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/chromeos-partner-overlay/+/cfc74ba920c9391320668fafaf02123e04490a7b commit cfc74ba920c9391320668fafaf02123e04490a7b Author: Simon Glass <sjg@chromium.org> Date: Tue Feb 21 22:07:38 2017
,
Feb 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b2b2c74fb0c1e298af514f045bdf2423c02ba30b commit b2b2c74fb0c1e298af514f045bdf2423c02ba30b Author: Simon Glass <sjg@chromium.org> Date: Tue Feb 21 22:07:38 2017 coreboot: config: Make pyro and snappy use the same files as reef These files are created by chromeos-mrc which produces identical results for all three boards. Adjust pyro and snappy to point to reef, making them all use the baseboard-reef directory. BUG= chromium:682781 TEST=emerge-pyro chromeos-coreboot CQ-DEPEND=CL:*329224 Change-Id: I6fd21fc8c6d44e78a8ac2312060405a16bbac34d Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/444244 Reviewed-by: Aaron Durbin <adurbin@chromium.org> [modify] https://crrev.com/b2b2c74fb0c1e298af514f045bdf2423c02ba30b/sys-boot/coreboot/files/configs/config.pyro [modify] https://crrev.com/b2b2c74fb0c1e298af514f045bdf2423c02ba30b/sys-boot/coreboot/files/configs/config.reef [modify] https://crrev.com/b2b2c74fb0c1e298af514f045bdf2423c02ba30b/sys-boot/coreboot/files/configs/config.snappy |
||||
►
Sign in to add a comment |
||||
Comment 1 by sjg@chromium.org
, Jan 19 2017