stage-1-init: fix PID 1 shell

The PID 1 shell is executed as the last command in a sh invocation. Some
shells implicitly use exec for that, but the current busybox ash does not,
so the shell gets a wrong PID. Spell out the exec.
This commit is contained in:
Harald van Dijk 2015-02-13 10:20:29 +00:00
parent 92f3ec3ba5
commit 0fe9d58e4e

View File

@ -36,7 +36,7 @@ EOF
read reply read reply
if [ -n "$allowShell" -a "$reply" = f ]; then if [ -n "$allowShell" -a "$reply" = f ]; then
exec setsid @shell@ -c "@shell@ < /dev/$console >/dev/$console 2>/dev/$console" exec setsid @shell@ -c "exec @shell@ < /dev/$console >/dev/$console 2>/dev/$console"
elif [ -n "$allowShell" -a "$reply" = i ]; then elif [ -n "$allowShell" -a "$reply" = i ]; then
echo "Starting interactive shell..." echo "Starting interactive shell..."
setsid @shell@ -c "@shell@ < /dev/$console >/dev/$console 2>/dev/$console" || fail setsid @shell@ -c "@shell@ < /dev/$console >/dev/$console 2>/dev/$console" || fail