xref: /OK3568_Linux_fs/device/rockchip/common/data/busybox-reboot (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunCMD=${0##*/}
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun# busybox doesn't provide shutdown command
6*4882a593Smuzhiyun[ "$CMD" != shutdown ] || CMD=poweroff
7*4882a593Smuzhiyun
8*4882a593Smuzhiyununset ARGS HELP
9*4882a593Smuzhiyunwhile [ -n "$1" ];do
10*4882a593Smuzhiyun        case "$1" in
11*4882a593Smuzhiyun            # Original args
12*4882a593Smuzhiyun            -n|-f|-w)
13*4882a593Smuzhiyun                ARGS="$ARGS $1"
14*4882a593Smuzhiyun                ;;
15*4882a593Smuzhiyun            -d)
16*4882a593Smuzhiyun                ARGS="$ARGS $1 $2"
17*4882a593Smuzhiyun                shift
18*4882a593Smuzhiyun                ;;
19*4882a593Smuzhiyun            # Additional args
20*4882a593Smuzhiyun            --halt)
21*4882a593Smuzhiyun                CMD=halt
22*4882a593Smuzhiyun                ;;
23*4882a593Smuzhiyun            -p|--poweroff)
24*4882a593Smuzhiyun                CMD=poweroff
25*4882a593Smuzhiyun                ;;
26*4882a593Smuzhiyun            --reboot)
27*4882a593Smuzhiyun                CMD=reboot
28*4882a593Smuzhiyun                ;;
29*4882a593Smuzhiyun            --no-wall)
30*4882a593Smuzhiyun                ARGS="$ARGS -f"
31*4882a593Smuzhiyun                ;;
32*4882a593Smuzhiyun            --help)
33*4882a593Smuzhiyun                HELP=1
34*4882a593Smuzhiyun                ARGS="$ARGS $1"
35*4882a593Smuzhiyun                ;;
36*4882a593Smuzhiyun            *)
37*4882a593Smuzhiyun                ARGS="$ARGS $1"
38*4882a593Smuzhiyun                ;;
39*4882a593Smuzhiyun        esac
40*4882a593Smuzhiyun        shift
41*4882a593Smuzhiyundone
42*4882a593Smuzhiyun
43*4882a593Smuzhiyunif [ -n "$HELP" ]; then
44*4882a593Smuzhiyun    busybox $CMD --help
45*4882a593Smuzhiyunelse
46*4882a593Smuzhiyun    busybox $CMD $ARGS && exit 0
47*4882a593Smuzhiyunfi
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun# Print add-on usages
50*4882a593Smuzhiyuncat << EOF
51*4882a593Smuzhiyun	--help	Show this help
52*4882a593Smuzhiyun	--halt	Halt the machine
53*4882a593Smuzhiyun	-p --poweroff	Switch off the machine
54*4882a593Smuzhiyun	--reboot	Reboot the machine
55*4882a593Smuzhiyun	--no-wall	Don't send wall message before halt/power-off/reboot
56*4882a593SmuzhiyunEOF
57