[OE-core] [PATCH 1/2] initrd: Spawn an emergency shell when something goes wrong
Ross Burton
ross.burton at intel.com
Thu Sep 27 14:20:50 UTC 2012
From: Damien Lespiau <damien.lespiau at intel.com>
set -e allows to exit if a command fails. We install a trap and execute
emergency_shell() when either the init script exits or when ctrl-c is
typed (say if we are stuck somewhere and we want to debug it).
Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
meta/recipes-core/initrdscripts/files/init-live.sh | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh
index 3fba7dc..fb7af31 100644
--- a/meta/recipes-core/initrdscripts/files/init-live.sh
+++ b/meta/recipes-core/initrdscripts/files/init-live.sh
@@ -2,6 +2,17 @@
PATH=/sbin:/bin:/usr/sbin:/usr/bin
+emergency_shell()
+{
+ echo "Bug in initramfs /init detected. Dropping to a shell. Good luck!"
+ echo
+ sh
+}
+trap "emergency_shell" 0 2
+
+# exit immediately if a command fails
+set -e
+
ROOT_MOUNT="/rootfs/"
ROOT_IMAGE="rootfs.img"
MOUNT="/bin/mount"
--
1.7.10
More information about the Openembedded-core
mailing list