The files in /etc/conf/init.d are copies of the
Init modules in device Driver Software Packages (DSP).
There is at most one Init file per DSP.
Each file contains one line for each inittab
entry to be installed.
There may be multiple lines (that is, multiple
inittab entries) per file.
entry has the form (the ``id'' field is often called the tag):
The Init module entry must have one of the following forms:
When idmkinit encounters an entry of the first type, a valid ``id'' field will be generated, and an ``rstate'' field of 2 (indicating run on init state 2) will be generated. When an entry of the second type is encountered, only the ``id'' field is prefixed. An entry of the third type is incorporated into the new inittab unchanged.
Since add-on inittab entries specify init state 2 for their ``rstate'' field most often, an entry of the first type should almost always be used. An entry of the second type may be specified if you need to specify other than state 2. DSPs should avoid specifying the ``id'' field as in the third entry since other add-on applications or DSPs may have already used the ``id'' value you have chosen. The /etc/init program will encounter serious errors if one or more inittab entries contain the same ``id'' field.
idmkinit determines which of the three forms above
is being used for the entry
by requiring each entry to have a valid action keyword.
Valid action values are as follows:
off respawn ondemand
once wait boot
bootwait powerfail powerwait
See inittab(F) for a description of the action keywords.
The idmkinit command is called automatically upon entering init state 2 on the next system reboot after a kernel reconfiguration to establish the correct /etc/inittab for the running kernel. idmkinit can be called as a user level command to test modification of inittab before a DSP is actually built. It is also useful in installation scripts that do not reconfigure the kernel but need to create inittab entries. In this case, the inittab generated by idmkinit must be copied to /etc/inittab, and a telinit command (see init(M)) must be run to make the new entry take effect.
The command line options are: