How RH Linux Boots :: /sbin/init  &  /etc/inittab

/sbin/init is the only process forked by the kernerl during system initialization.  The man page defines /sbin/init as a general process spawner.  (Every other process can trace its heritage back to /sbin/init.)  Its job is to create processes at boot time, and thereafter to create and/or destroy them in response to certain changes, all as defined in the /etc/inittab file.

/sbin/init looks to /etc/inittab for all of its activity.  The /etc/inittab file holds text formed into command lines of a scripting language dedicated to /sbin/init only.  /etc/inittab is a fairly short file.  The default RH version contains only about 20 lines, not counting comments.  It does the following

Be aware that /sbin/init is more than just a simple interpreter for the inittab file.  It persists during the entire lifetime of a single kernel boot bringing up all the tasks at the beginning, and doing an orderly shutdown at the end.  In between, it responds to events and changes to the runlevel by reinspecting inittab, just in case it was edited since last interpreted.

Since inittab holds a script which will drive the entire initialization process from here on, an authorized user is given breathtaking freedom and power to do it anyway seen fit, without having to compile anything.  In prinicple, you could write a wholly original way of raising the system.  But in practice, it doesn't work that way.  In fact, there exist two well understood general ways to do this:  the BSD way and the sysV way. Without going into painful detail, RH Linux is close kin to the sysV style of initialization, but it is not pure bred.  It clearly uses some BSDesque techniques, as well, and probably some NIH-syndrome creations.  So take off your shoes and loosen your mind as we proceed.  :-)