summaryrefslogtreecommitdiffstats
path: root/init_functions
diff options
context:
space:
mode:
authorThomas Bächler <thomas@archlinux.org>2010-02-15 16:19:04 +0100
committerThomas Bächler <thomas@archlinux.org>2010-02-15 16:19:04 +0100
commit049712038da250f1436373ae62e2d611f1edfb49 (patch)
tree0d21be2954b7b6369069776fedb356ec787a47de /init_functions
parent9ce0669a892c5e6608e215a38768f2b65dbd7ec9 (diff)
downloadmkinitcpio-049712038da250f1436373ae62e2d611f1edfb49.tar.gz
mkinitcpio-049712038da250f1436373ae62e2d611f1edfb49.tar.xz
If we could not mount the real root device, or the init program did not exist on it, bail out instead of panicing
In these cases, we will exec /bin/sh, such that manual recovery is still possible as sh has PID 1 An expert might be able to mount and switch_root manually. In any case, this is less scary than a panic and a useless trace.
Diffstat (limited to 'init_functions')
-rw-r--r--init_functions4
1 files changed, 3 insertions, 1 deletions
diff --git a/init_functions b/init_functions
index c0f10e9..72bf6ae 100644
--- a/init_functions
+++ b/init_functions
@@ -23,5 +23,7 @@ poll_device() {
}
launch_interactive_shell() {
- PS1='[ramfs \W]\$ ' /bin/sh -i
+ PS1='[ramfs \W]\$ '
+ [ "$1" = "--exec" ] && exec /bin/sh -i
+ /bin/sh -i
}