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]]