fs_mgr: update to new androidboot.slot param
androidboot.slot_suffix is being deprecated for a androidboot.slot. Bootloader must pass slot used to boot into the androidboot.slot which does not include the '_' character Test: boot android Bug: 36533366 Change-Id: I6137bd08418f67a88120c8609eda10b2ada4607d Signed-off-by: Fernando Lugo <flugo@google.com>
This commit is contained in:
parent
c10c31e8ba
commit
9c7ae587c2
2 changed files with 14 additions and 7 deletions
|
@ -489,7 +489,13 @@ int fs_mgr_load_vbmeta_images(struct fstab* fstab) {
|
|||
// fs_mgr only deals with HASHTREE partitions.
|
||||
const char *requested_partitions[] = {nullptr};
|
||||
std::string ab_suffix;
|
||||
fs_mgr_get_boot_config("slot_suffix", &ab_suffix);
|
||||
std::string slot;
|
||||
if (fs_mgr_get_boot_config("slot", &slot)) {
|
||||
ab_suffix = "_" + slot;
|
||||
} else {
|
||||
// remove slot_suffix once bootloaders update to new androidboot.slot param
|
||||
fs_mgr_get_boot_config("slot_suffix", &ab_suffix);
|
||||
}
|
||||
AvbSlotVerifyResult verify_result =
|
||||
avb_slot_verify(fs_mgr_avb_ops, requested_partitions, ab_suffix.c_str(),
|
||||
fs_mgr_vbmeta_prop.allow_verification_error, &fs_mgr_avb_verify_data);
|
||||
|
|
|
@ -31,15 +31,16 @@ int fs_mgr_update_for_slotselect(struct fstab *fstab)
|
|||
char *tmp;
|
||||
|
||||
if (!got_suffix) {
|
||||
if (!fs_mgr_get_boot_config("slot_suffix", &suffix)) {
|
||||
return -1;
|
||||
std::string slot;
|
||||
if (fs_mgr_get_boot_config("slot", &slot)) {
|
||||
suffix = "_" + slot;
|
||||
} else if (!fs_mgr_get_boot_config("slot_suffix", &suffix)) {
|
||||
// remove slot_suffix once bootloaders update to new androidboot.slot param
|
||||
return -1;
|
||||
}
|
||||
got_suffix = 1;
|
||||
// remove below line when bootloaders fix androidboot.slot_suffix param
|
||||
if (suffix[0] == '_') suffix.erase(suffix.begin());
|
||||
}
|
||||
|
||||
if (asprintf(&tmp, "%s_%s", fstab->recs[n].blk_device, suffix.c_str()) > 0) {
|
||||
if (asprintf(&tmp, "%s%s", fstab->recs[n].blk_device, suffix.c_str()) > 0) {
|
||||
free(fstab->recs[n].blk_device);
|
||||
fstab->recs[n].blk_device = tmp;
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue