Die genaue Funktion und der Aufbau der Systeminitialisierungsdatei kann sich für die beiden Versionen von init ganz erheblich unterscheiden. Dabei ist wieder das sysvinit das bei weitem kompliziertere, aber auch das vielseitigere der beiden Modelle.
Mike Jagdis hat seinem sysvinit eine ganze Kaskade von Initialisierungsdateien mitgegeben, die bei jedem Moduswechsel bestimmen, welche Prozesse gestartet werden sollen, welche angehalten und welche weiterlaufen sollen. Dazu wird das /etc/rc-Script von init mit einem Parameter aufgerufen, der genau dem gewünschten Runlevel entspricht. Das /etc/rc-Script sucht seinerseits in einem dem Runlevel entsprechend benannten Verzeichnis nach weiteren Scriptdateien. Wenn in den Runlevel 4 gewechselt werden soll, sucht es beispielsweise in dem Verzeichnis /etc/rc4.d
Die Scriptdateien in den rc?.d Verzeichnissen beginnen allen entweder mit einem K für kill oder einem S für start. Zuerst werden die Killscripts aufgerufen, denen der Parameter ßtopïn der Kommandozeile übergeben wird. Danach werden die Startscripts mit dem Parameter ßtartäusgeführt. Die Parameter werden von den mit dem sysvinit gelieferten Shellscripts ausgewertet. Es werden die gleichen Scriptdateien zum Starten und zum Anhalten der Prozesse verwendet. Das ermöglicht es, einen Satz dieser Dateien in dem zentralen Verzeichnis /etc/init.d zu installieren und diese Dateien mit Links auf die entsprechenden Start- und Killscripts in den Verzeichnissen für die einzelnen Runlevel zu verbinden.
Weil es sich um normale Shellprogramme handelt, wird die genaue Arbeitsweise der Scripts nicht weiter erklärt (-> bash).
Das simpleinit kann mit diesen Initialisierungskaskaden nicht viel anfangen, weil es keine Runlevel unterstützt. Es benutzt die /etc/rc Datei viel direkter, beispielsweise um den bdflush-Dämon im Hintergrund zu starten oder den cron Dämon aufzurufen. Hier wird auch das Dateisystem montiert, indem das mount -a Kommando aufgerufen wird, und im Dateisystem aufgeräumt, indem überflüssige Dateien gelöscht und die Partitionen gecheckt werden.
Natürlich kann auch das sysvinit mit einem einfachen rc File ohne den ausgefeilten Start/Stop Mechanismus arbeiten. In den aktuellen Distributionen werden die Initialisierungsdateien von Mike Jagdis nicht mitgeliefert.
Um auch beim simpleinit eine gewisse Strukturierung für die doch manchmal sehr umfangreichen Initialisierungen einzuführen, werden aus der zentralen /etc/rc Datei heraus weitere Shellscripts mit speziellen Aufgabenbereichen aufgerufen.