blob: 029cd6556d57b076eb16c66b26b6b3f5a3105f80 [file] [log] [blame]
#!/bin/sh
echo shutdown: "$@"
export PS1=shutdown-sh#\
# exec bin/sh
if [ ! -e /proc/mounts ]
then
mkdir -p /proc
mount proc proc -tproc
umount_proc=1
else
umount_proc=
fi
# remove an empty oldroot, that means we are not invoked from systemd-shutdown
rmdir /oldroot 2>/dev/null
set -x
for f in $( awk '/oldroot/ { print $2 }' < /proc/mounts | sort -r )
do
umount $f
done
set +x
if test -x /update && ls image-* > /dev/null 2>&1
then
exec /update ${1+"$@"}
fi
echo Remaining mounts:
cat /proc/mounts
test "umount_proc" && umount /proc && rmdir /proc
# Execute the command systemd told us to ...
if test -d /oldroot && test "$1"
then
if test "$1" == kexec
then
$1 -f -e
else
$1 -f
fi
fi
echo "Execute ${1-reboot} -f if all unounted ok, or exec /init"
export PS1=shutdown-sh#\
exec /bin/sh