galaxys
diff --git a/recovery.c b/recovery.c
index b0123db..fea1e7d 100644
--- a/recovery.c
+++ b/recovery.c
@@ -157,7 +157,9 @@
get_args(int *argc, char ***argv) {
struct bootloader_message boot;
memset(&boot, 0, sizeof(boot));
+#ifndef BOARD_HAS_NO_MISC_PARTITION
get_bootloader_message(&boot); // this may fail, leaving a zeroed structure
+#endif
if (boot.command[0] != 0 && boot.command[0] != 255) {
LOGI("Boot command: %.*s\n", sizeof(boot.command), boot.command);
@@ -214,9 +216,12 @@
strlcat(boot.recovery, (*argv)[i], sizeof(boot.recovery));
strlcat(boot.recovery, "\n", sizeof(boot.recovery));
}
+#ifndef BOARD_HAS_NO_MISC_PARTITION
set_bootloader_message(&boot);
+#endif
}
+#ifndef BOARD_HAS_NO_MISC_PARTITION
void
set_sdcard_update_bootloader_message()
{
@@ -226,6 +231,7 @@
strlcpy(boot.recovery, "recovery\n", sizeof(boot.recovery));
set_bootloader_message(&boot);
}
+#endif
// 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
@@ -260,10 +266,12 @@
check_and_fclose(log, LOG_FILE);
}
+#ifndef BOARD_HAS_NO_MISC_PARTITION
// Reset the bootloader message to revert to a normal main system boot.
struct bootloader_message boot;
memset(&boot, 0, sizeof(boot));
set_bootloader_message(&boot);
+#endif
// Remove the command file, so recovery won't repeat indefinitely.
char path[PATH_MAX] = "";
@@ -464,7 +472,9 @@
if (confirm_selection("Confirm install?", "Yes - Install /sdcard/update.zip"))
{
ui_print("\n-- Install from sdcard...\n");
+#ifndef BOARD_HAS_NO_MISC_PARTITION
set_sdcard_update_bootloader_message();
+#endif
int status = install_package(SDCARD_PACKAGE_FILE);
if (status != INSTALL_SUCCESS) {
ui_set_background(BACKGROUND_ICON_ERROR);
@@ -472,12 +482,16 @@
} else if (!ui_text_visible()) {
return; // reboot if logs aren't visible
} else {
+#ifndef BOARD_HAS_NO_MISC_PARTITION
if (firmware_update_pending()) {
ui_print("\nReboot via menu to complete\n"
"installation.\n");
} else {
ui_print("\nInstall from sdcard complete.\n");
}
+#else
+ ui_print("\nInstall from sdcard complete.\n");
+#endif
}
}
break;
@@ -524,8 +538,8 @@
return nandroid_main(argc, argv);
return busybox_driver(argc, argv);
}
- create_fstab();
__system("/sbin/postrecoveryboot.sh");
+ create_fstab();
int is_user_initiated_recovery = 0;
time_t start = time(NULL);
@@ -614,8 +628,10 @@
if (status != INSTALL_SUCCESS && !is_user_initiated_recovery) ui_set_background(BACKGROUND_ICON_ERROR);
if (status != INSTALL_SUCCESS || ui_text_visible()) prompt_and_wait();
+#ifndef BOARD_HAS_NO_MISC_PARTITION
// If there is a radio image pending, reboot now to install it.
maybe_install_firmware_update(send_intent);
+#endif
// Otherwise, get ready to boot the main system...
finish_recovery(send_intent);