31 lines
1.1 KiB
Plaintext
31 lines
1.1 KiB
Plaintext
|
# Replaces traditional overdesigned shutdown mechanism.
|
||
|
#
|
||
|
# No communication with init is necessary:
|
||
|
# just ask all processes to exit.
|
||
|
# Then unmount everything. Then reboot or power off.
|
||
|
|
||
|
# Install /sbin/ symlinks named halt, reboot, poweroff
|
||
|
# (and also possibly shutdown) to e.g.
|
||
|
# /app/shutdown-1.0/script/shutdown:
|
||
|
#
|
||
|
ln -s /app/shutdown-1.0/script/shutdown /sbin/halt
|
||
|
ln -s /app/shutdown-1.0/script/shutdown /sbin/reboot
|
||
|
ln -s /app/shutdown-1.0/script/shutdown /sbin/poweroff
|
||
|
#
|
||
|
# shutdown spawns do_shutdown in new session, redirected to /dev/null,
|
||
|
# tells user that shutdown is in progress, and sleeps
|
||
|
# (for cosmetic reasons: do not confuse user by letting him
|
||
|
# type more commands in this terminal).
|
||
|
#
|
||
|
# do_shutdown tries to switch to a VT console.
|
||
|
# Then, (only if -r) it spawns a hardshutdown child, to reboot
|
||
|
# unconditionally in 30 seconds if something later goes seriously bad.
|
||
|
# Then it runs stop_tasks, writing to /var/log/reboot/YYYYMMDDhhmmss.log,
|
||
|
# then it runs stop_storage.
|
||
|
# Then it commands kernel to halt/reboot/poweroff, if requested.
|
||
|
# Then it sleeps forever.
|
||
|
#
|
||
|
# Build the hardshutdown binary:
|
||
|
#
|
||
|
cd script && ./hardshutdown.make.sh
|