New issue
Advanced search Search tips

Issue 851774 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression



Sign in to add a comment

chromeos-firmwareupdate: updater_custom.sh installed to bin/

Project Member Reported by briannorris@chromium.org, Jun 12 2018

Issue description

Within the chromeos-firmwareupdate blob, extra/updater_custom.sh is getting installed in the wrong place. updater4.sh expects it to be at the top level directory, not within bin/. So on scarlet, rev0 is still trying to use >rev0 firmware.

I'm trying to figure out how exactly this happens, but I'm not very familiar with the new cros_config-backed firmware build yet.
 
Cc: vapier@chromium.org hungte@chromium.org
Labels: -Type-Bug -Pri-2 M-68 RegressedIn-68 ReleaseBlock-Beta Pri-1 Type-Bug-Regression
Owner: ----
Status: Available (was: Assigned)
Hmm, while I first thought this might be a Scarlet-specific thing done in the unibuild conversion, I think this is actually a regression due to this:

https://chromium-review.googlesource.com/668321

That means it affects a lot of boards [1]. We probably don't want this live on beta channel, since who knows what sort of damage we might do to various mis-configured firmware.

[1] e.g., I tried chell:

$ /build/chell/usr/sbin/chromeos-firmwareupdate --sb_extract /tmp/abcd/
Extracting to: /tmp/abcd/
$ find /tmp/abcd/
/tmp/abcd/
/tmp/abcd/ec.bin
/tmp/abcd/lib
/tmp/abcd/lib/libcrypto.so.1.0.0
/tmp/abcd/lib/ld-linux-x86-64.so.2
/tmp/abcd/lib/libfmap.so.0
/tmp/abcd/lib/libdl.so.2
/tmp/abcd/lib/libz.so.1
/tmp/abcd/lib/libpci.so.3
/tmp/abcd/lib/libfdt.so.1
/tmp/abcd/lib/libpthread.so.0
/tmp/abcd/lib/libusb-1.0.so.0
/tmp/abcd/lib/libuuid.so.1
/tmp/abcd/lib/libc.so.6
/tmp/abcd/common.sh
/tmp/abcd/bios.bin
/tmp/abcd/VERSION
/tmp/abcd/updater4.sh
/tmp/abcd/shflags
/tmp/abcd/bin
/tmp/abcd/bin/ectool.elf
/tmp/abcd/bin/mosys
/tmp/abcd/bin/futility.elf
/tmp/abcd/bin/xxd
/tmp/abcd/bin/updater_custom.sh
/tmp/abcd/bin/flashrom.elf
/tmp/abcd/bin/xxd.elf
/tmp/abcd/bin/crossystem.elf
/tmp/abcd/bin/vpd
/tmp/abcd/bin/crossystem
/tmp/abcd/bin/ectool
/tmp/abcd/bin/mosys.elf
/tmp/abcd/bin/futility
/tmp/abcd/bin/cros_spi_descriptor
/tmp/abcd/bin/vpd.elf
/tmp/abcd/bin/flashrom
/tmp/abcd/VERSION.md5
/tmp/abcd/crosutil.sh
/tmp/abcd/crosfw.sh
/tmp/abcd/pd.bin

Should we just update the updater*.sh scripts to look for bin/updater_custom.sh now?
Cc: sjg@chromium.org
Owner: vapier@chromium.org
Status: Assigned (was: Available)
This is confusing enough; the --root and non --root packing behaviors are different enough that I can't really unwind what this "should" look like. Assigning to the one that broke this ;)

Comment 4 by vapier@chromium.org, Jun 12 2018

everything is using the --root code path now, so what the non-root code path does shouldn't be a big deal (other than comparing for historical/regression reasons).  we'll delete the non-root code paths once the unittests pass ;).

Comment 5 by vapier@chromium.org, Jun 12 2018

Issue 851850 has been merged into this issue.
Owner: hungte@chromium.org
Status: Started (was: Assigned)
https://chromium-review.googlesource.com/c/chromiumos/platform/firmware/+/1096924
If the CL in comment 6 is a fix, should we merge it to 68 now? We hope to promote to beta tomorrow, this is marked as a blocker, and the build starts in a couple hours. 

Comment 8 by hungte@chromium.org, Jun 13 2018

Labels: Merge-Request-68

Comment 9 by hungte@chromium.org, Jun 13 2018

I think we should - added merge-request-68 label.
The cherry-picked one is https://chromium-review.googlesource.com/c/chromiumos/platform/firmware/+/1098424
Project Member

Comment 10 by sheriffbot@chromium.org, Jun 13 2018

Labels: -Merge-Request-68 Hotlist-Merge-Review Merge-Review-68
This bug requires manual review: M68 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-68 Merge-Approved-68
Project Member

Comment 12 by bugdroid1@chromium.org, Jun 13 2018

Labels: merge-merged-release-R68-10718.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/firmware/+/565f1e53df9e14a16d27a494183029954c8b7b0a

commit 565f1e53df9e14a16d27a494183029954c8b7b0a
Author: Hung-Te Lin <hungte@chromium.org>
Date: Wed Jun 13 04:24:36 2018

updater*.sh: Load CUSTOMIZATION_SCRIPT from bin/.

Since CL:798773, files specified in EXTRA_LIST are copied into bin/ by
lddtree. However, CUSTOMIZATION_SCRIPT was also usually specified by
EXTRA_LIST so it's now moved into bin/ on most platforms as well.

The ultimate solution would be to have two separate list -
EXTRA_DATA_LIST and EXTRA_PROGRAM_LIST where only PROGRAM_LIST should be
copied into bin/ with lddtree.

For now, as a temporary solution, we want to load CUSTOMIZATION_SCRIPT
from both locations (./ and ./bin).

BUG=chromium:851850,  chromium:851774 
TEST=manual test

Change-Id: Iffdf94745daea8263050deea7c3171b818af1b7a
Reviewed-on: https://chromium-review.googlesource.com/1098424
Tested-by: Hung-Te Lin <hungte@chromium.org>
Trybot-Ready: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Bernie Thompson <bhthompson@chromium.org>

[modify] https://crrev.com/565f1e53df9e14a16d27a494183029954c8b7b0a/pack_dist/updater4.sh
[modify] https://crrev.com/565f1e53df9e14a16d27a494183029954c8b7b0a/pack_dist/updater3.sh

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/firmware/+/288d7dad33fca0c80abf16f9ce7f9ccee05e186e

commit 288d7dad33fca0c80abf16f9ce7f9ccee05e186e
Author: Hung-Te Lin <hungte@chromium.org>
Date: Wed Jun 13 16:19:41 2018

updater*.sh: Load CUSTOMIZATION_SCRIPT from bin/.

Since CL:798773, files specified in EXTRA_LIST are copied into bin/ by
lddtree. However, CUSTOMIZATION_SCRIPT was also usually specified by
EXTRA_LIST so it's now moved into bin/ on most platforms as well.

The ultimate solution would be to have two separate list -
EXTRA_DATA_LIST and EXTRA_PROGRAM_LIST where only PROGRAM_LIST should be
copied into bin/ with lddtree.

For now, as a temporary solution, we want to load CUSTOMIZATION_SCRIPT
from both locations (./ and ./bin).

BUG=chromium:851850,  chromium:851774 
TEST=manual test

Change-Id: Iffdf94745daea8263050deea7c3171b818af1b7a
Reviewed-on: https://chromium-review.googlesource.com/1096924
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/288d7dad33fca0c80abf16f9ce7f9ccee05e186e/pack_dist/updater4.sh
[modify] https://crrev.com/288d7dad33fca0c80abf16f9ce7f9ccee05e186e/pack_dist/updater3.sh

Labels: -Hotlist-Merge-Review -Merge-Approved-68 Merge-Merged-68
Status: Fixed (was: Started)

Sign in to add a comment