-------------------------------------------------------------------------------- cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] -------------------------------------------------------------------------------- Introduction ============ 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. Pre-Configuring =============== If you want to fine tune cinit parameters, add different path names, change the DESTDIR, ... have a look at conf/*. Installing ========== 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): append="init=/sbin/cinit" Linux/grub1 and Linux/grub2: kernel init=/sbin/cinit Configuring =========== 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 irc.freenode.org 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<>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]. References: =========== [0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ [1]: minit: http://www.fefe.de/minit/ [2]: cinit: http://linux.schottelius.org/cinit/