add sleep and print commands.
diff --git a/commands.c b/commands.c
index 7617a8d..24bf242 100644
--- a/commands.c
+++ b/commands.c
@@ -797,6 +797,44 @@
     return do_nandroid_restore(argv[0]);
 }
 
+static int
+cmd_sleep(const char *name, void *cookie, int argc, const char *argv[],
+            PermissionRequestList *permissions)
+{
+    UNUSED(cookie);
+    CHECK_WORDS();
+
+    if (argc != 1) {
+        LOGE("Command %s requires exactly one argument\n", name);
+        return 1;
+    }
+    
+    int seconds = atoi(argv[0]);
+    sleep(seconds);
+
+    return 0;
+}
+
+static int
+cmd_print(const char *name, void *cookie, int argc, const char *argv[],
+            PermissionRequestList *permissions)
+{
+    UNUSED(cookie);
+    CHECK_WORDS();
+    
+    char message[1024];
+    message[0] = NULL;
+    int i;
+    for (i = 0; i < argc; i++)
+    {
+        strcat(message, argv[i]);
+        strcat(message, " ");
+    }
+    strcat(message, "\n");
+    
+    ui_print(message);
+    return 0;
+}
 
 /*
  * Function definitions
@@ -1167,6 +1205,12 @@
     ret = registerCommand("restore_rom", CMD_ARGS_WORDS, cmd_restore_rom, (void *)ctx);
     if (ret < 0) return ret;
 
+    ret = registerCommand("sleep", CMD_ARGS_WORDS, cmd_sleep, (void *)ctx);
+    if (ret < 0) return ret;
+
+    ret = registerCommand("print", CMD_ARGS_WORDS, cmd_print, (void *)ctx);
+    if (ret < 0) return ret;
+
     /*
      * Functions
      */
diff --git a/extendedcommands.c b/extendedcommands.c
index e9fd1a7..05ad475 100644
--- a/extendedcommands.c
+++ b/extendedcommands.c
@@ -327,6 +327,11 @@
 
 int do_nandroid_backup(char* backup_name)
 {
+    if (ensure_root_path_mounted("SDCARD:") != 0) {
+        LOGE ("Can't mount /sdcard\n");
+        return 1;
+    }
+
     char cmd[PATH_MAX];
     if (NULL == backup_name)
         backup_name = "";
@@ -344,6 +349,11 @@
 
 int do_nandroid_restore(char* backup_path)
 {
+    if (ensure_root_path_mounted("SDCARD:") != 0) {
+        LOGE ("Can't mount /sdcard\n");
+        return 1;
+    }
+
     char* command[PATH_MAX];
     sprintf(command, "nandroid-mobile.sh restore %s", backup_path);
     ui_print("Performing restore...\n");
@@ -359,11 +369,6 @@
 
 void show_nandroid_restore_menu()
 {
-    if (ensure_root_path_mounted("SDCARD:") != 0) {
-        LOGE ("Can't mount /sdcard\n");
-        return;
-    }
-
     static char* headers[] = {  "Choose an image to restore",
                                 "",
                                 NULL