diff options
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r-- | init/builtins.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp index f37ccc2fe..3e50f4da8 100644 --- a/init/builtins.cpp +++ b/init/builtins.cpp @@ -703,6 +703,15 @@ static int do_powerctl(const std::vector<std::string>& args) { callback_on_ro_remount = unmount_and_fsck; } else if (cmd == ANDROID_RB_RESTART2) { reboot_target = &command[len + 1]; + // When rebooting to the bootloader notify the bootloader writing + // also the BCB. + if (strcmp(reboot_target, "bootloader") == 0) { + std::string err; + if (!write_reboot_bootloader(&err)) { + LOG(ERROR) << "reboot-bootloader: Error writing " + "bootloader_message: " << err; + } + } } } else if (command[len] != '\0') { LOG(ERROR) << "powerctl: unrecognized reboot target '" << &command[len] << "'"; |