[PATCH] init: handle kexec clean reboot

Harald Becker ralda at gmx.de
Wed May 22 05:17:45 UTC 2013


Hi Denys !

>> Not signal. A location/file in shared memory. Handled outside
>> of init. The usual way to pass information to such kind of
>> routines/scripts in Unix like systems.
>
>I wasn't aware it is a common practice.
>For example, who does this?

I started working with Unix like systems at the end of the 1980s
and worked on big Machines like Data General, Honeywell Bull
down to small process controlling machines. On many of those
machines either a RUNLEVEL like information is used to determine
type of system shutdown or an information passed outside the init
process.

I do not know if there are standards on how to do this. It is
just what I found to be used on many systems.

>Restart action runs after shutdown actions finish.
>I thought usually after shutdown actions most stuff
>is unmounted or remounted ro. This might complicate
>parameter passing over filesystem...

Using files on shared memory is newer practice and not so
problematic as you may assume. /etc/fstab knows about a mount
parameter called auto. Only those file systems are
mounted/umounted in an automatic process. Other systems may be
hold active during shutdown. And what matters mounting info
readonly? The final script just reads the information, so any
file written to the root system may be appropriate. As the file
needs cleaning on startup it is usually written at a location
which gets cleared on system startup (eg. /var/run).

Beside this there is another long standing practice to pass an
information through a named pipe (fifo). The information is really
short and written to the named pipe. The system startup opens the
read side of the pipe but never read info. The final shutdown
script read info from the pipe, which could be considered a shared
memory information (as it is passed through memory resources).

All this is not Linux, just Unix like machines. Linux has been
more conservative and most likely used the RUNLEVEL value passed
via telinit.

--
Harald


More information about the busybox mailing list