Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25f1631a authored by Sandeep Patil's avatar Sandeep Patil
Browse files

DO NOT MERGE ANYWHERE Add comments and code about ro.boot.slot back



Taimen bootloader passes androidboot.slot for now.
This reverts commit 211a4a5d.

Bug: 68710251
Test: taimen successfully mounts partition in first stage
Change-Id: I046afc99120e7ec9ef4b8ea7a852eb70e7231ea9
Signed-off-by: default avatarSandeep Patil <sspatil@google.com>
parent 78d882bb
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -93,9 +93,21 @@ static bool set_verity_enabled_state(int fd, const char* block_device, const cha
/* Helper function to get A/B suffix, if any. If the device isn't
 * using A/B the empty string is returned. Otherwise either "_a",
 * "_b", ... is returned.
 *
 * Note that since sometime in O androidboot.slot_suffix is deprecated
 * and androidboot.slot should be used instead. Since bootloaders may
 * be out of sync with the OS, we check both and for extra safety
 * prepend a leading underscore if there isn't one already.
 */
static std::string get_ab_suffix() {
    return android::base::GetProperty("ro.boot.slot_suffix", "");
    std::string ab_suffix = android::base::GetProperty("ro.boot.slot_suffix", "");
    if (ab_suffix == "") {
        ab_suffix = android::base::GetProperty("ro.boot.slot", "");
    }
    if (ab_suffix.size() > 0 && ab_suffix[0] != '_') {
        ab_suffix = std::string("_") + ab_suffix;
    }
    return ab_suffix;
}

/* Use AVB to turn verity on/off */
+10 −3
Original line number Diff line number Diff line
@@ -21,12 +21,19 @@
#include "fs_mgr.h"
#include "fs_mgr_priv.h"

// Returns "_a" or "_b" based on androidboot.slot_suffix in kernel cmdline, or an empty string
// if that parameter does not exist.
// Returns "_a" or "_b" based on two possible values in kernel cmdline:
//   - androidboot.slot = a or b OR
//   - androidboot.slot_suffix = _a or _b
// TODO: remove slot_suffix once it's deprecated.
std::string fs_mgr_get_slot_suffix() {
    std::string slot;
    std::string ab_suffix;

    fs_mgr_get_boot_config("slot_suffix", &ab_suffix);
    if (fs_mgr_get_boot_config("slot", &slot)) {
        ab_suffix = "_" + slot;
    } else if (!fs_mgr_get_boot_config("slot_suffix", &ab_suffix)) {
        ab_suffix = "";
    }
    return ab_suffix;
}