fastbootd: Add getvar is-force-debuggable
Export ro.force.debuggable property so that the user can check image compatibility prior to running fastboot flash. For example, if is-force-debuggable is yes, then the "system" and "vendor" build fingerprint must match. Bug: 191649082 Test: fastboot getvar is-force-debuggable Change-Id: I772d98253f58ba208d5803e18b589ff693deebd0
This commit is contained in:
parent
3fca6e72cf
commit
38b68c6a0e
4 changed files with 10 additions and 0 deletions
|
@ -64,6 +64,7 @@
|
|||
#define FB_VAR_SLOT_UNBOOTABLE "slot-unbootable"
|
||||
#define FB_VAR_IS_LOGICAL "is-logical"
|
||||
#define FB_VAR_IS_USERSPACE "is-userspace"
|
||||
#define FB_VAR_IS_FORCE_DEBUGGABLE "is-force-debuggable"
|
||||
#define FB_VAR_HW_REVISION "hw-revision"
|
||||
#define FB_VAR_VARIANT "variant"
|
||||
#define FB_VAR_OFF_MODE_CHARGE_STATE "off-mode-charge"
|
||||
|
|
|
@ -131,6 +131,7 @@ const std::unordered_map<std::string, VariableHandlers> kVariableMap = {
|
|||
{FB_VAR_PARTITION_TYPE, {GetPartitionType, GetAllPartitionArgsWithSlot}},
|
||||
{FB_VAR_IS_LOGICAL, {GetPartitionIsLogical, GetAllPartitionArgsWithSlot}},
|
||||
{FB_VAR_IS_USERSPACE, {GetIsUserspace, nullptr}},
|
||||
{FB_VAR_IS_FORCE_DEBUGGABLE, {GetIsForceDebuggable, nullptr}},
|
||||
{FB_VAR_OFF_MODE_CHARGE_STATE, {GetOffModeChargeState, nullptr}},
|
||||
{FB_VAR_BATTERY_VOLTAGE, {GetBatteryVoltage, nullptr}},
|
||||
{FB_VAR_BATTERY_SOC_OK, {GetBatterySoCOk, nullptr}},
|
||||
|
|
|
@ -379,6 +379,12 @@ bool GetIsUserspace(FastbootDevice* /* device */, const std::vector<std::string>
|
|||
return true;
|
||||
}
|
||||
|
||||
bool GetIsForceDebuggable(FastbootDevice* /* device */, const std::vector<std::string>& /* args */,
|
||||
std::string* message) {
|
||||
*message = android::base::GetBoolProperty("ro.force.debuggable", false) ? "yes" : "no";
|
||||
return true;
|
||||
}
|
||||
|
||||
std::vector<std::vector<std::string>> GetAllPartitionArgsWithSlot(FastbootDevice* device) {
|
||||
std::vector<std::vector<std::string>> args;
|
||||
auto partitions = ListPartitions(device);
|
||||
|
|
|
@ -54,6 +54,8 @@ bool GetPartitionIsLogical(FastbootDevice* device, const std::vector<std::string
|
|||
std::string* message);
|
||||
bool GetIsUserspace(FastbootDevice* device, const std::vector<std::string>& args,
|
||||
std::string* message);
|
||||
bool GetIsForceDebuggable(FastbootDevice* device, const std::vector<std::string>& args,
|
||||
std::string* message);
|
||||
bool GetHardwareRevision(FastbootDevice* device, const std::vector<std::string>& args,
|
||||
std::string* message);
|
||||
bool GetVariant(FastbootDevice* device, const std::vector<std::string>& args, std::string* message);
|
||||
|
|
Loading…
Reference in a new issue