Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

cinit is a fast, small and simple init with support for profiles

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 bugs
Octocat-spinner-32 conf
Octocat-spinner-32 conf2
Octocat-spinner-32 contrib+tools
Octocat-spinner-32 doc
Octocat-spinner-32 etc
Octocat-spinner-32 examples
Octocat-spinner-32 scripts
Octocat-spinner-32 size
Octocat-spinner-32 src
Octocat-spinner-32 .ditz-config
Octocat-spinner-32 .gitignore
Octocat-spinner-32 COPYING
Octocat-spinner-32 CREDITS
Octocat-spinner-32 Makefile
Octocat-spinner-32 NEXTTODO
Octocat-spinner-32 PLAN-2009
Octocat-spinner-32 README
Octocat-spinner-32 ROADMAP
Octocat-spinner-32 TODO
Octocat-spinner-32 TODO.doc
cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07]

cinit is a fast init system with dependency features and
profile support. It was orientated on the design off Richard Gooch's
need [0] and Felix von Leitner's minit[1]. Minit does not support real
dependencies (you don't know whether the service you depend on really
started) and the need concept is somehow slow (as seen in gentoo).
In addition, minit needs libowfat and dietlibc, which may not be found
on every Unix system.

cinit main features:
- portability: it should run on every Unix
- true dependencies (soft and hard!)
- parallel execution
- highly customisable (see conf/*)
- profile support (specify what services to start depending on the profile)

Getting cinit
This README is part of the source, so you should have it.
If not, goto the homepage [2] and download the tar archive
or get the lastest snapshot via git.

If you want to fine tune cinit parameters, add different path names,
change the DESTDIR, ... have a look at conf/*.

You can install cinit parallel to any other init-system, it won't
kill other init's config nor /sbin/init, if it exists.

You only have to tell your kernel to execute /sbin/cinit instead
of /sbin/init.

Everybody do:
# make all install

This will create /sbin/cinit.
If /sbin/init does not exist, it will be linked to /sbin/cinit.

If it's the first time you operate with cinit, you can also do:
# make install-test

This will populate /etc/cinit with a testing configuration,
which is somehow minimalistic
(mounting root r/w, starting gettys, setting hostname).

Although this should work on most Linux systems, it's really
minimalistic. Please configure your cinit installation yourself,
see below how to do that.

After configuring you need to tell your kernel to boot cinit instead
of your current init system. How to do that depends on your system:

   Linux/LILO and Linux/yaboot (ppc):
   Linux/grub1 and Linux/grub2:
      kernel <normal kernel specification> init=/sbin/cinit

You'll have to configure /etc/cinit and add your existing services.

Please read doc/configuring.cinit for details.
Please read doc/FAO if there are still questions open.
Please join #cLinux on if there are still questions open.

There can be found some (currently only one) testing examples
below samples/ (some I do use for testing, beware if you use it:
It loads the dvorak keymapping at startup!).

There are currently no tools to merge your existing init-system
to cinit (like sysvinit-merge, bsd-merge or minit-merge) available.
If someone cares and tries to do that, I would be happy to include
the script(s).

Additionally I would be thankful for tar-balls containing a complete
replacement of $your_unix_init.

Author, Contact, Bug reports, etc.
Nico Schottelius (nico-cinit<<at>>schottelius [[dot]] org) is the
author. Bug reports should be send to this address.

FIXME: Add mailing list here

The homepage of cinit is [2].


[0]: need:
[1]: minit:
[2]: cinit:
Something went wrong with that request. Please try again.