Recovery: When updating from SD card, update can't resume automatically
after a power loss

Submitted on behalf of Hong-Bin Wang <hong-binwang@motorola.com>
Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
diff --git a/recovery.c b/recovery.c
index ed6a9c8..f812e74 100644
--- a/recovery.c
+++ b/recovery.c
@@ -208,6 +208,15 @@
     set_bootloader_message(&boot);
 }
 
+static void
+set_sdcard_update_bootloader_message()
+{
+    struct bootloader_message boot;
+    memset(&boot, 0, sizeof(boot));
+    strlcpy(boot.command, "boot-recovery", sizeof(boot.command));
+    strlcpy(boot.recovery, "recovery\n", sizeof(boot.recovery));
+    set_bootloader_message(&boot);
+}
 
 // clear the recovery command and prepare to boot a (hopefully working) system,
 // copy our log file to cache as well (for the system to read), and
@@ -352,6 +361,7 @@
 
                 case ITEM_APPLY_SDCARD:
                     ui_print("\n-- Install from sdcard...\n");
+                    set_sdcard_update_bootloader_message();
                     int status = install_package(SDCARD_PACKAGE_FILE);
                     if (status != INSTALL_SUCCESS) {
                         ui_set_background(BACKGROUND_ICON_ERROR);