recovery: Add "boot-fastboot" command to BCB.
This change adds a new "boot-fastboot" command in order to boot into fastboot without overwriting recovery tasks. This also allows bootloaders to boot directly into userspace fastboot from the bootloader menu, or via bootloader fastboot. Bug: 112277594 Test: adb reboot fastboot Change-Id: Ia0c9a0961a76c6cbe19486590179abaa50d93f58
This commit is contained in:
parent
fae0881528
commit
eee4e260f9
1 changed files with 12 additions and 1 deletions
|
@ -97,8 +97,13 @@ static std::vector<std::string> get_args(const int argc, char** const argv) {
|
|||
}
|
||||
stage = std::string(boot.stage);
|
||||
|
||||
std::string boot_command;
|
||||
if (boot.command[0] != 0) {
|
||||
std::string boot_command = std::string(boot.command, sizeof(boot.command));
|
||||
if (memchr(boot.command, '\0', sizeof(boot.command))) {
|
||||
boot_command = std::string(boot.command);
|
||||
} else {
|
||||
boot_command = std::string(boot.command, sizeof(boot.command));
|
||||
}
|
||||
LOG(INFO) << "Boot command: " << boot_command;
|
||||
}
|
||||
|
||||
|
@ -149,6 +154,12 @@ static std::vector<std::string> get_args(const int argc, char** const argv) {
|
|||
LOG(ERROR) << "Failed to set BCB message: " << err;
|
||||
}
|
||||
|
||||
// Finally, if no arguments were specified, check whether we should boot
|
||||
// into fastboot.
|
||||
if (args.size() == 1 && boot_command == "boot-fastboot") {
|
||||
args.emplace_back("--fastboot");
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue