Next Generation Init System ( initng )
======================================

Contents
--------
1    Introduction
 1.1  Developers
2    Initng: An Overview
 2.1  The Next Generation Control (ngc)
3    How to get initng
 3.1  How to Install
 3.2  Caveats/Known Issues
4    Terms of Licensing
5    Development


1 Introduction
--------------

initng is meant to be a full replacement of the old and in many ways deprecated sysvinit tool.

This package currently includes:

- initng       an application that will handle system & service control
- ngc          an application for controlling initng
- initfiles/*  initfiles for handling system start up and shutdown
- fixes/*      experimental patches and fixes

1.1 Developers
--------------

If you find this little piece of software useful, please email me <jimmy.wennlund@gmail.com> with some feedback.

* Jimmy Wennlun <jimmy.wennlund@gmail.com>

  I am the original author of the initng project, which was created in my spare time and mostly for fun. I live in Sweden, outside Uppsala. 

2 Initng: An Overview
---------------------

On boot, initng will be started as the first process (pid = 1) by the kernel.
At first, initng will parse configuration files located in /etc/initng for critical information such as runlevel and service data. Then, all services required by the default runlevel will be started as parallel and asynchronously as possible. Starting processes in parallel will improve boot time and will use more system resources, especially in the case of multiprocessor systems.

If initng detects a daemon's death, it will try to re-spawn the daemon it by any means, which may be deemed especially important for server systems that require a constant uptime for crucial services.

initng is designed to use a minimum of system resources and to boot your system quickly and safely.

Using initng will give you full control over your boot. The status of your system's startup will be presented in a percentile fashion and you will know exactly how long any specific service took to start so you can find startup services or processes that waist boot time.

Another feature is the "relay warm reboot". Using 'ngc -x' it will bring down all
services and really soft reboot your system, from user level in
only a few seconds.


2.1 The Next Generation Control (ngc)
-------------------------------------

Using the included ngc control program to communicate with initng in a two-way
communication, checking the status of all services, browse history, bring services
up and down, reboot or halt, and change runlevels.

Executing 'ngc -h' will display the command's help and description.


3 How to get initng
-------------------

For now, a test or relay first beta is located at http://jw.dyndns.org/initng/.
You are free to test AT YOUR OWN RISK! REMEMBER, this is a beta release
and many new features that are on the TODO list are not yet fixed.

3.1 How to Install
-----------------

In order to install initng, run 'make install' as super-user. 
Subsequently, 'make uninstall' will clean up all installed files.


3.2 Caveats/Known Issues
------------------------

initng is in the testing phrase, and might not be fully usable and stable. Therefore, you are strongly encouraged to use this piece of software with care if you wish to employ it in on a production platform.

WARNING: Many parts might be "Gentooish" since it's my favorite distro.

4 Terms of Licensing
--------------------

The full package is licensed under the GNU Public License (GPL)
version 2, released in June of 1991. The full text of the GPL is located in this package and can be retireved from http://www.gnu.org/copyleft/gpl.html in a variety of formats.


5 Development
-------------

Please mail directly to main developers.
Jimmy Wennlund or by phone: +46 737 623932
