INIT.D − The SuSE boot concept





The scripts for controlling the system are placed in /etc/init.d/ (they have been moved according to the Linux Standard Base (LSB) specification). These scripts are executed directly or indirectly by /sbin/init, the father of all processes. The configuration of /sbin/init is given by the file /etc/inittab (see inittab(5)).

At boot time, the boot level master script /etc/init.d/boot is called to initialise the system (e.g. file system check, ...). It also executes some hardware init scripts linked into /etc/init.d/boot.d/. Then it calls /etc/init.d/boot.local, which executes the local commands.

After system startup, /sbin/init will normally switch on the default run level given in /etc/inittab. It calls the run level master script /etc/init.d/rc to start or stop services provided by the other scripts under /etc/init.d/.

Both scripts, then boot level master script /etc/init.d/boot and the the run level master script /etc/init.d/rc starts all other boot or runlevel scripts either sequential or partial parallel within their dependencies order.

To control the services of a run level, the corresponding scripts are linked into run level directories /etc/init.d/rc<X>.d/, where <X>=0,1,2,3,4,5,6,S is the run level number.

There are two kinds of symbolic link: start links, which are called when entering a run level, and stop links, which are called when leaving a run level. Note that each service in the run levels 2, 3, 4, and 5 consists of a start and a stop link. Within SuSE boot concept a differential link scheme is used to be able to change a runlevel in comparision with the former level.

If parallel executing of the boot scripts is enabled (see /etc/sysconfig/boot variable RUN_PARALLEL) then both master scripts uses the program startpar(8) which starts or stops multiple services in parallel. Startpar(8) will look for the files /etc/init.d/.depend.boot, /etc/init.d/.depend.start, and /etc/init.d/.depend.stop to get the dependencies for each service. The files will be written, beside the symbolic links in the boot and runlevel directories, by the program insserv(8).

To avoid redundant starts when changing run levels, only those services are started which have no start link in the previous run level. And to avoid redundant stops when changing run levels, only those services are stopped which have no start link in the current level. To control this behaviour, the names of the scripts are added on the names of the start and stop links.

To control the order of service starts and stops, the start and stop links include a number in their link name.

The system configuration files in /etc/sysconfig contain most of the variables used to configure the installed services. These variables can easily be changed by YaST or by using an editor.

Some details
The script /etc/init.d/lpd starts or stops the line printer daemon for the printing service, according to the flag used:

/etc/init.d/lpd start


/etc/init.d/lpd stop

To do this automatically in run level 3, this script is linked into /etc/init.d/rc3.d/ with these two symbolic links

/etc/init.d/rc3.d/S20lpd -> ../lpd


/etc/init.d/rc3.d/K20lpd -> ../lpd

The corresponding link with the letter S is used to start a service. For the printing service the number between the letter S and the name should be greater than the number of the start link of the network service. The corresponding link with the letter K is used to stop a service. The number of the stop link for the printing service should be less than that of the stop link for the network service so that the printer daemon is stopped before shutting down the network service.

Run levels and their services


This level is used for halting the system. The only valid service for this level is the script halt, which is linked into /etc/init.d/rc0.d/. The script halt executes /etc/init.d/halt.local. Special system issues for halt or reboot should be added there.


This level is used for rebooting the system. The only valid service for this level is the script reboot, which is linked into /etc/init.d/rc6.d/. The script reboot executes /etc/init.d/halt.local. Specials system issues for halt or reboot should be added there.


This mode is used to switch from boot phase into single user mode. The last valid service for this mode is the script single, which is linked into /etc/init.d/rcS.d/. In this mode you have only one console.


According to the Linux Standard Base (LSB) specification this runlevel is used to switch from normal runlevel into single user mode. This is different from former SuSE Linux versions!


The run level 2 is without remote networking. Note that on some other systems this is identical with the single user mode. This run level can have more than one virtual console.


The run level 3 is with network. This run level is for server stations not automatically running X.


The level 5 is with network and xdm(1). You should have a configured and perfectly running X Window System for this work station run level.


The run level 4 is not (yet) used.


This script is a model for writing your own. You can use insserv(8) to include your own script into a run level.




insserv(8), startpar(8), init(8), inittab(5), and the SuSE Linux handbook, chapter The SuSE boot concept.


1996-2005 SuSE Linux AG, Nuernberg, Germany.


Florian La Roche <>, Werner Fink <>, Burchard Steinbild <>.


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.