123456789101112131415161718192021222324252627282930 |
- # 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
|