cinit is a fast, small and simple init with support for profiles ## Why should I use cinit? * To significant speedup the startup process * To use highest level of parallelisation at startup * To benefit from real dependencies (so called ***needs*** and ***wants***) * To easily create profiles that can be chosen at startup (even **before** init is started!) ## How does cinit work? Cinit creates a dependency tree at startup and executes the services. A service can have two type of dependencies: * ***wants*** describe soft dependencies (i.e. it's not fatal if the wanted service fails to start) * ***needs*** describe hard dependencies (if the needed service fails, the depending won't be started) Let's have a look at an example: A (wants) / \ |------> B \ C | / \ / \ ^ (needs) (needs) (wants) | D E F | | |------<------(needs)----| Or in words: * B and C do not have dependencies * They will be started at the beginning * A wants B and C * A waits until B and C are executed and started afterwards, independently of the success of B and C * A will also be started, if B and C fail to start. * D needs B * D will only be started, if B is successfully started * E needs B and C * E will only be started, if both B and C are successfully started * F wants C and needs B * F will only be started, if B is successfully started * F waits until C is started and is started afterwards ## Getting cinit ### Development versions You can get the latest (development) version via git: git clone git://git.schottelius.org/cLinux/cinit.git Additionally, the following other git ressources are available: * [Gitweb](http://git.schottelius.org/?p=cLinux/cinit.git;a=summary). * [Mirror at github](http://github.com/telmich/cinit) ### Archives * [[cinit-0.3pre15.tar.bz2|archives/cinit-0.3pre15.tar.bz2]] ([browse source](browse_source/cinit-0.3pre15/)) [[changes|browse_source/cinit-0.3pre15/doc/changes/0.3pre15]] * [[cinit-0.3pre14.tar.bz2|archives/cinit-0.3pre14.tar.bz2]] ([browse source](browse_source/cinit-0.3pre14/)) [[changes|browse_source/cinit-0.3pre14/CHANGES]] * [[cinit-0.3pre13.tar.bz2|archives/cinit-0.3pre13.tar.bz2]] ([browse source](browse_source/cinit-0.3pre13/)) [[changes|browse_source/cinit-0.3pre13/CHANGES]] * [[cinit-0.3pre12.tar.bz2|archives/cinit-0.3pre12.tar.bz2]] ([browse source](browse_source/cinit-0.3pre12/)) [[changes|browse_source/cinit-0.3pre12/CHANGES]] * [[cinit-0.3pre11.tar.bz2|archives/cinit-0.3pre11.tar.bz2]] ([browse source](browse_source/cinit-0.3pre11/)) [[changes|browse_source/cinit-0.3pre11/CHANGES]] * [[cinit-0.3pre10.tar.bz2|archives/cinit-0.3pre10.tar.bz2]] ([browse source](browse_source/cinit-0.3pre10/)) [[changes|browse_source/cinit-0.3pre10/CHANGES]] * [[cinit-0.3pre9.tar.bz2|archives/cinit-0.3pre9.tar.bz2]] ([browse source](browse_source/cinit-0.3pre9/)) [[changes|browse_source/cinit-0.3pre9/CHANGES]] * [[cinit-0.3pre8.tar.bz2|archives/cinit-0.3pre8.tar.bz2]] ([browse source](browse_source/cinit-0.3pre8/)) [[changes|browse_source/cinit-0.3pre8/CHANGES]] * [[cinit-0.3pre7.tar.bz2|archives/cinit-0.3pre7.tar.bz2]] ([browse source](browse_source/cinit-0.3pre7/)) [[changes|browse_source/cinit-0.3pre7/CHANGES]] * [[cinit-0.3pre6.tar.bz2|archives/cinit-0.3pre6.tar.bz2]] ([browse source](browse_source/cinit-0.3pre6/)) [[changes|browse_source/cinit-0.3pre6/CHANGES]] * [[cinit-0.3pre5.tar.bz2|archives/cinit-0.3pre5.tar.bz2]] ([browse source](browse_source/cinit-0.3pre5/)) [[changes|browse_source/cinit-0.3pre5/CHANGES]] * [[cinit-0.3pre4.tar.bz2|archives/cinit-0.3pre4.tar.bz2]] ([browse source](browse_source/cinit-0.3pre4/)) [[changes|browse_source/cinit-0.3pre4/CHANGES]] * [[cinit-0.3pre3.tar.bz2|archives/cinit-0.3pre3.tar.bz2]] ([browse source](browse_source/cinit-0.3pre3/)) [[changes|browse_source/cinit-0.3pre3/CHANGES]] * [[cinit-0.3pre2.tar.bz2|archives/cinit-0.3pre2.tar.bz2]] ([browse source](browse_source/cinit-0.3pre2/)) [[changes|browse_source/cinit-0.3pre2/CHANGES]] * [[cinit-0.3pre1.tar.bz2|archives/cinit-0.3pre1.tar.bz2]] ([browse source](browse_source/cinit-0.3pre1/)) [[changes|browse_source/cinit-0.3pre1/CHANGES]] * [[cinit-0.2.1.tar.bz2|archives/cinit-0.2.1.tar.bz2]] ([browse source](browse_source/cinit-0.2.1/)) [[changes|browse_source/cinit-0.2.1/CHANGES]] * [[cinit-0.2.tar.bz2|archives/cinit-0.2.tar.bz2]] ([browse source](browse_source/cinit-0.2/)) [[changes|browse_source/cinit-0.2/CHANGES]] * [[cinit-0.1.tar.bz2|archives/cinit-0.1.tar.bz2]] ([browse source](browse_source/cinit-0.1/)) [[changes|browse_source/cinit-0.1/CHANGES]] * [[cinit-0.0.8.tar.bz2|archives/cinit-0.0.8.tar.bz2]] ([browse source](browse_source/cinit-0.0.8/)) [[changes|browse_source/cinit-0.0.8/CHANGES]] * [[cinit-0.0.7.tar.bz2|archives/cinit-0.0.7.tar.bz2]] ([browse source](browse_source/cinit-0.0.7/)) [[changes|browse_source/cinit-0.0.7/CHANGES]] * [[cinit-0.0.6.tar.bz2|archives/cinit-0.0.6.tar.bz2]] ([browse source](browse_source/cinit-0.0.6/)) [[changes|browse_source/cinit-0.0.6/CHANGES]] * [[cinit-0.0.5.tar.bz2|archives/cinit-0.0.5.tar.bz2]] ([browse source](browse_source/cinit-0.0.5/)) [[changes|browse_source/cinit-0.0.5/CHANGES]] * [[cinit-0.0.4.tar.bz2|archives/cinit-0.0.4.tar.bz2]] ([browse source](browse_source/cinit-0.0.4/)) [[changes|browse_source/cinit-0.0.4/CHANGES]] ## Support ### Documentation The documentation is currently spread all over the ***doc/*** directory within the tarball and is being cleaned up. Additionally there are two presentations available: * [[2005-10-22: (German) speech at Technophil|software/cinit/speeches/2005-10-22]] * [[2005-08-06: (German) online speech|software/cinit/speeches/2005-08-06]] ### Mailing list There is a general [cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit) available. ### IRC You can join the development ***IRC channel*** [#cLinux on irc.freenode.org](irc://irc.freenode.org/#cLinux). ## Related websites * BSD init systems (same codebase): * FreeBSD, * NetBSD, * OpenBSD * initng * minit * runit * simpleinit * sysvinit * upstart [[!tag unix]]