From: Alexandru DAMIAN <[email protected]>

Adds "debugshell" command line parameter for live/install images.

If the init live fails to find and mount a root-fs image,
dumps to a shell after timeout so that the developer can figure
what's wrong.

Timeout defaults to 30 seconds, but it can be changed as param
argument.

Prior art in Ubuntu. Also, leaving a system stale isn't good form.

Signed-off-by: Alexandru DAMIAN <[email protected]>
---
 meta/recipes-core/initrdscripts/files/init-live.sh |   22 +++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh 
b/meta/recipes-core/initrdscripts/files/init-live.sh
index c591f0d..e8d7f70 100644
--- a/meta/recipes-core/initrdscripts/files/init-live.sh
+++ b/meta/recipes-core/initrdscripts/files/init-live.sh
@@ -45,7 +45,13 @@ read_args() {
                     console_params=$arg
                 else
                     console_params="$console_params $arg"
-                fi
+                fi ;;
+            debugshell*)
+                if [ -z "$optarg" ]; then
+                        shelltimeout=30
+                else
+                        shelltimeout=$optarg
+                fi 
         esac
     done
 }
@@ -75,6 +81,7 @@ early_setup
 read_args
 
 echo "Waiting for removable media..."
+C=0
 while true
 do
   for i in `ls /media 2>/dev/null`; do
@@ -90,6 +97,19 @@ do
   if [ "$found" = "yes" ]; then
       break;
   fi
+  # don't wait for more than $shelltimeout seconds, if it's set
+  if [ -n "$shelltimeout" ]; then
+      echo -n " " $(( $shelltimeout - $C ))
+      if [ $C -ge $shelltimeout ]; then
+           echo "..."
+          echo "Mounted filesystems"
+           mount | grep media
+           echo "Available block devices"
+           ls /dev/sd*
+           fatal "Cannot find rootfs.img file in /media/* , dropping to a 
shell "
+      fi
+      C=$(( C + 1 ))
+  fi
   sleep 1
 done
 
-- 
1.7.10.4


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to