This is a new version of /sbin/init, with many features:
already implemented and working:
	o modular design (separate function for each state)
	o error logging via syslog()
	o extensive debugging facilities (compile time option)
	o detection of failing getty processes (exit status and runtime)
	o if a getty process is failing repeatedly, retry it after
	  configurable time intervals.
	o recovery from non-fatal errors such as out of memory or
	  fork failed.
	o a manual page
	o most parameters can be changed from a configuration file (default
	  startup state, retry time etc)
	o some system parameters can also be set from the configuration file
	  (default process limits, initial environment variables)
	o fully compatible with old init (if config file does not exist)
planned but not yet implemented:
	o redirecting error messages to stderr instead of syslog if init
	  is executed by the user (Syntaxcheck)
	o support for ty_window (for window systems)
	o maybe sometime support for /etc/inittab

What you can define (Add "CFLAGS += -D..." to the Makefile):
	-DDEBUG		enables debugging facilities:
			you can increment debug level with debug keyword in
			config file, -d option, or by sending SIGUSR1 to init.
			SIGUSR2 sets debug level to 0.
	-DUNTRUSTED	debugging code: on SIGINT it execs /sbin/init.ori
			(do this only in singleuser mode !)
	-DCONFIGURE	on startup (and when requested), read /etc/init.conf
			and set parameters in it.
	-DFAKE_SYSLOG	do not use syslog, but write to /dev/console.
			This makes it MUCH smaller !
	-DSMALL		do not use perror, but write error codes.
			Makes it even smaller, but requires -DFAKE_SYSLOG.
For the floppy version, compile this with -DFAKE_SYSLOG -DSMALL. If compiled
with gcc1, it is not bigger than the original init (20k).

If you want to use CONFIGURE, you also have to copy init.conf to /etc .

I'm interested in any feedback you have !

							Christoph Robitschko
							chmr@edvz.tu-graz.ac.at
