44 lines
989 B
Plaintext
Executable File

#!/bin/busybox sh
. /etc/init.def
. /etc/init.script
# Set up symlinks
run busybox --install -s
ln -s /proc/self/mounts /etc/mtab
ACTION="${1:-halt}"
good_msg "Shutdown ramdisk script. Linux kernel ${KV}"
log_msg "COMMAND: 'echo "" > /proc/sys/kernel/hotplug'"
echo "" > /proc/sys/kernel/hotplug
good_msg "Move all to temporary..."
sh_mnt=$(cat /proc/self/mountinfo | cut -d' ' -f5 | grep "^/oldroot/run/shutdown/mounts/")
good_msg ${sh_mnt}
for ddir in ${sh_mnt}
do
run mount --move "${ddir}" "/tmp"
done
good_msg "Move system mounts..."
for ddir in /dev /proc /sys /run
do
run mount --move "/oldroot${ddir}" "${ddir}"
done
good_msg "Unmount old root..."
for ddir in /oldroot /tmp
do
run umount "${ddir}"
done
good_msg "Finished"
#for debug - uncomment
#run_emergency_shell
# send sysrq
case "${ACTION}" in
reboot) reboot -f; break;;
poweroff) poweroff -f; break;;
halt) halt -f; break;;
esac
# this should never happen
run_emergency_shell