1 Because OpenWrt uses its own init script system, all init scripts must be installed
2 as
\texttt{/etc/init.d/
\textit{name
}} use
\texttt{/etc/rc.common
} as a wrapper.
4 Example:
\texttt{/etc/init.d/httpd
}
7 #!/bin/sh /etc/rc.common
8 # Copyright (C)
2006 OpenWrt.org
12 [ -d /www
] && httpd -p
80 -h /www -r OpenWrt
20 as you can see, the script does not actually parse the command line arguments itself.
21 This is done by the wrapper script
\texttt{/etc/rc.common
}.
23 \texttt{start()
} and
\texttt{stop()
} are the basic functions, which almost any init
24 script should provide.
\texttt{start()
} is called when the user runs
\texttt{/etc/init.d/httpd start
}
25 or (if the script is enabled and does not override this behavior) at system boot time.
27 Enabling and disabling init scripts is done by running
\texttt{/etc/init.d/
\textit{name
} enable
}
28 or
\texttt{/etc/init.d/
\textit{name
} disable
}. This creates or removes symbolic links to the
29 init script in
\texttt{/etc/rc.d
}, which is processed by
\texttt{/etc/init.d/rcS
} at boot time.
31 The order in which these scripts are run is defined in the variable
\texttt{START
} in the init
32 script. Changing it requires running
\texttt{/etc/init.d/
\textit{name
} enable
} again.
34 You can also override these standard init script functions:
36 \item \texttt{boot()
} \\
37 Commands to be run at boot time. Defaults to
\texttt{start()
}
39 \item \texttt{restart()
} \\
40 Restart your service. Defaults to
\texttt{stop(); start()
}
42 \item \texttt{reload()
} \\
43 Reload the configuration files for your service. Defaults to
\texttt{restart()
}
47 You can also add custom commands by creating the appropriate functions and referencing them
48 in the
\texttt{EXTRA
\_COMMANDS} variable. Helptext is added in
\texttt{EXTRA
\_HELP}.
54 # print the status info
57 EXTRA_COMMANDS="status"
58 EXTRA_HELP=" status Print the status of the service"