diff options
author | Damien Lespiau <damien.lespiau@intel.com> | 2012-09-27 15:20:50 +0100 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2012-09-28 01:14:02 -0700 |
commit | ae5e2bd994e3f60d3803ab56e6ed34d08fbc56f0 (patch) | |
tree | d28a987d0e18ccc26554c1b305f7ab2060f7c0ca | |
parent | 03ad4edace5db9c6e15ca776d06d20b7d4e42afc (diff) | |
download | openembedded-core-ae5e2bd994e3f60d3803ab56e6ed34d08fbc56f0.tar.gz openembedded-core-ae5e2bd994e3f60d3803ab56e6ed34d08fbc56f0.tar.bz2 openembedded-core-ae5e2bd994e3f60d3803ab56e6ed34d08fbc56f0.zip |
initrd: Spawn an emergency shell when something goes wrong
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@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rw-r--r-- | meta/recipes-core/initrdscripts/files/init-live.sh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh index 3fba7dc3a1..fb7af31a13 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" |