65 lines
2.1 KiB
Text
65 lines
2.1 KiB
Text
|
--------------------------------------------------------------------------------
|
||
|
Merging other init systems to cinit
|
||
|
Nico Schottelius 2005-06-02
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
1. Preamble
|
||
|
2. General to do
|
||
|
3. Create a script
|
||
|
|
||
|
1. Preamble
|
||
|
|
||
|
There is no tool available to merge any existing init-system-configuration
|
||
|
to cinit style. This is not because the author of cinit does not
|
||
|
care about support for that. He simply he has
|
||
|
|
||
|
a) no access to every init-system available
|
||
|
b) not the time to analyze every init system
|
||
|
|
||
|
He instead spends the time to improve and bugfix cinit.
|
||
|
This does not exclude that he accepts scripts, which do the work.
|
||
|
In fact, creating and submitting a merge tool is much
|
||
|
appreciated.
|
||
|
|
||
|
|
||
|
2. General to do
|
||
|
|
||
|
1. Choose your target init and possibly target platform:
|
||
|
- sysvinit may be different on AIX, SuSE and Debian
|
||
|
- /etc/rc may look different on each *BSD
|
||
|
- Sometimes even same platforms differ in versions:
|
||
|
SuSE 5.1 uses a different configuration then SuSE 9.0
|
||
|
|
||
|
So decide whether you want and can write a general merge tool
|
||
|
or if you have to specialize.
|
||
|
After deciding, name the script you want to write with the following
|
||
|
syntax:
|
||
|
|
||
|
cinit-merge.$init-$platform-$version
|
||
|
|
||
|
$platform and $version (either both or only platform) can be omitted.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
cinit-merge.sysvinit-debian-3.0
|
||
|
cinit-merge.minit
|
||
|
|
||
|
2. Analyze how it works, detect the mechanism in it
|
||
|
|
||
|
Your script has to detect if dependencies exist and resolve
|
||
|
them. It has to take care of special configurations and possibly
|
||
|
warn the user.
|
||
|
|
||
|
|
||
|
3. Create a script
|
||
|
|
||
|
Now, after you learned how the old init system works, you can start creating
|
||
|
the merge-script (naming see above).
|
||
|
|
||
|
This merge script
|
||
|
a) will perhaps not cover full old system (if so, warnings should be printed
|
||
|
b) should try to avoid using old (shell)-scripts, as starting
|
||
|
a shell for every service needed makes starting up slow
|
||
|
c) will include some basic features, that are needed everytime on this
|
||
|
platform (setting kernel configuration, hostname, etc)
|