diff options
author | Rob Barnes <robbarnes@google.com> | 2020-05-10 21:18:05 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-11 08:04:19 +0000 |
commit | 8dac1697aef0114584d737e6a3027b55abdae5f0 (patch) | |
tree | b872a36765ba8118b8a0e6790976f81c31ebea7f | |
parent | 5cb4cee971167982e041f3fd95b1839fcf15a46a (diff) | |
download | vboot-8dac1697aef0114584d737e6a3027b55abdae5f0.tar.gz |
futility: Adds platform check quirk for zork
Adds a quirk for futility on zork boards.
Zork boards before 13073 used lowercase for the firmware
names which causes the compatible platform check fail.
This adds the disable_compatible_platform_check quirk and
enables it by default for zork boards.
BUG=b:156119908, b:155941790
TEST=flashed Google_trembyle.13066.0.0 using servo
chromeos-firmwareupdater --force
rebooted and confirmed Google_Trembyle.13073.0.0 was flashed
BRANCH=none
Change-Id: I6fc6bf5bb42b725b5e7c9d0166f945b9c123bab4
Signed-off-by: Rob Barnes <robbarnes@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2191089
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Eric Peers <epeers@google.com>
Commit-Queue: Edward Hill <ecgh@chromium.org>
-rw-r--r-- | futility/updater.c | 3 | ||||
-rw-r--r-- | futility/updater.h | 1 | ||||
-rw-r--r-- | futility/updater_quirks.c | 29 |
3 files changed, 33 insertions, 0 deletions
diff --git a/futility/updater.c b/futility/updater.c index 13c712ce..8f2db611 100644 --- a/futility/updater.c +++ b/futility/updater.c @@ -1162,6 +1162,9 @@ enum updater_error_codes update_firmware(struct updater_config *cfg) image_to->file_name, image_to->ro_version, image_to->rw_version_a, image_to->rw_version_b); + if (try_apply_quirk(QUIRK_DISABLE_COMPATIBLE_PLATFORM_CHECK, cfg)) + return UPDATE_ERR_PLATFORM; + if (try_apply_quirk(QUIRK_MIN_PLATFORM_VERSION, cfg)) return UPDATE_ERR_PLATFORM; diff --git a/futility/updater.h b/futility/updater.h index e11cc745..5013a789 100644 --- a/futility/updater.h +++ b/futility/updater.h @@ -44,6 +44,7 @@ enum quirk_types { QUIRK_ALLOW_EMPTY_WLTAG, QUIRK_EC_PARTIAL_RECOVERY, QUIRK_OVERRIDE_SIGNATURE_ID, + QUIRK_DISABLE_COMPATIBLE_PLATFORM_CHECK, QUIRK_MAX, }; diff --git a/futility/updater_quirks.c b/futility/updater_quirks.c index 457a79b0..22543de8 100644 --- a/futility/updater_quirks.c +++ b/futility/updater_quirks.c @@ -59,6 +59,18 @@ static const struct quirks_record quirks_records[] = { { .match = "Google_Wizpig.", .quirks = "allow_empty_wltag" }, { .match = "Google_Phaser.", .quirks = "override_signature_id" }, + + /* Zork Boards */ + { .match = "Google_Berknip.", + .quirks = "disable_compatible_platform_check" }, + { .match = "Google_Dalboz.", + .quirks = "disable_compatible_platform_check" }, + { .match = "Google_Ezkinil.", + .quirks = "disable_compatible_platform_check" }, + { .match = "Google_Morphius.", + .quirks = "disable_compatible_platform_check" }, + { .match = "Google_Trembyle.", + .quirks = "disable_compatible_platform_check" }, }; /* Preserves meta data and reload image contents from given file path. */ @@ -381,6 +393,16 @@ static int quirk_ec_partial_recovery(struct updater_config *cfg) } /* + * Disables compatible platform check. + * The compatible platform check ensures the current platform and update + * start with the same name. + */ +static int quirk_disable_compatible_platform_check(struct updater_config *cfg) { + cfg->check_platform = 0; + return 0; +} + +/* * Registers known quirks to a updater_config object. */ void updater_register_quirks(struct updater_config *cfg) @@ -433,6 +455,13 @@ void updater_register_quirks(struct updater_config *cfg) quirks->help = "chromium/146876241; override signature id for " "devices shipped with different root key."; quirks->apply = NULL; /* Simple config. */ + + quirks = &cfg->quirks[QUIRK_DISABLE_COMPATIBLE_PLATFORM_CHECK]; + quirks->name = "disable_compatible_platform_check"; + quirks->help = "b/155941790; Disables compatible platform check." + "The compatible platform check ensures the current" + " platform and update start with the same name."; + quirks->apply = quirk_disable_compatible_platform_check; } /* |