source: BOOK/bootscripts/common/usage.xml @ 6cc3c3f

clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 6cc3c3f was 6cc3c3f, checked in by Joe Ciccone <jciccone@…>, 13 years ago

Add a note to the usage page to completly disregard it until
it can be re-written to show how systemd controls services.

  • Property mode set to 100644
File size: 5.6 KB
RevLine 
[3f8be484]1<?xml version="1.0" encoding="ISO-8859-1"?>
[aa18ac0]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[3f8be484]4  <!ENTITY % general-entities SYSTEM "../../general.ent">
5  %general-entities;
6]>
7
8<sect1 id="ch-scripts-usage">
9  <?dbhtml filename="usage.html"?>
10
11  <title>How Do These Bootscripts Work?</title>
12
13  <indexterm zone="ch-scripts-usage">
14    <primary sortas="a-Bootscripts">Bootscripts</primary>
15  <secondary>usage</secondary></indexterm>
16
[6cc3c3f]17  <warning>
18    <para>Please completely disregard this page until it can be
19    rewritten.</para>
20  </warning>
21
[3f8be484]22  <para>Linux uses a special booting facility named SysVinit that is
23  based on a concept of <emphasis>run-levels</emphasis>. It can be quite
24  different from one system to another, so it cannot be assumed that
25  because things worked in one particular Linux distribution, they should work
[fb40919]26  the same in CLFS too. CLFS has its own way of doing things, but it
[3f8be484]27  respects generally accepted standards.</para>
28
29  <para>SysVinit (which will be referred to as <quote>init</quote> from
30  now on) works using a run-levels scheme. There are seven (numbered 0 to 6)
31  run-levels (actually, there are more run-levels, but they are for
32  special cases and are generally not used. See <filename>init(8)</filename>
33  for more details), and each one of those corresponds to the actions the
34  computer is supposed to perform when it starts up. The default
35  run-level is 3. Here are the descriptions of the different run-levels
36  as they are implemented:</para>
37
38<literallayout>0: halt the computer
391: single-user mode
402: multi-user mode without networking
413: multi-user mode with networking
424: reserved for customization, otherwise does the same as 3
435: same as 4, it is usually used for GUI login (like X's <command>xdm</command> or KDE's <command>kdm</command>)
446: reboot the computer</literallayout>
45
46  <para>The command used to change run-levels is <command>init
47  <replaceable>[runlevel]</replaceable></command>, where
48  <replaceable>[runlevel]</replaceable> is the target run-level. For example,
49  to reboot the computer, a user could issue the <command>init 6</command>
50  command, which is an alias for the <command>reboot</command> command.
51  Likewise, <command>init 0</command> is an alias for the
52  <command>halt</command> command.</para>
53
54  <para>There are a number of directories under <filename
55  class="directory">/etc/rc.d</filename> that look like <filename
56  class="directory">rc?.d</filename> (where ? is the number of the
57  run-level) and <filename class="directory">rcsysinit.d</filename>, all
58  containing a number of symbolic links. Some begin with a
59  <emphasis>K</emphasis>, the others begin with an
60  <emphasis>S</emphasis>, and all of them have two numbers following the
61  initial letter. The K means to stop (kill) a service and the S means
62  to start a service. The numbers determine the order in which the
63  scripts are run, from 00 to 99&mdash;the lower the number the earlier it
64  gets executed. When <command>init</command> switches to another run-level,
65  the appropriate services are either started or stopped, depending on the
66  runlevel chosen.</para>
67
68  <para>The real scripts are in <filename
69  class="directory">/etc/rc.d/init.d</filename>. They do the actual work,
70  and the symlinks all point to them. Killing links and starting links point
71  to the same script in <filename class="directory">/etc/rc.d/init.d</filename>.
72  This is because the scripts can be called with different parameters like
73  <option>start</option>, <option>stop</option>, <option>restart</option>,
74  <option>reload</option>, and <option>status</option>. When a K link is
75  encountered, the appropriate script is run with the <option>stop</option>
76  argument. When an S link is encountered, the appropriate script is run
77  with the <option>start</option> argument.</para>
78
79  <para>There is one exception to this explanation. Links that start
80  with an <emphasis>S</emphasis> in the <filename
81  class="directory">rc0.d</filename> and <filename
82  class="directory">rc6.d</filename> directories will not cause anything
83  to be started. They will be called with the parameter
84  <option>stop</option> to stop something. The logic behind this
85  is that when a user is going to reboot or halt the system, nothing
86  needs to be started. The system only needs to be stopped.</para>
87
88  <para>These are descriptions of what the arguments make the scripts
89  do:</para>
90
91  <variablelist>
92    <varlistentry>
93      <term><option>start</option></term>
94      <listitem>
95        <para>The service is started.</para>
96      </listitem>
97    </varlistentry>
98
99    <varlistentry>
100      <term><option>stop</option></term>
101      <listitem>
102        <para>The service is stopped.</para>
103      </listitem>
104    </varlistentry>
105
106    <varlistentry>
107      <term><option>restart</option></term>
108      <listitem>
109        <para>The service is stopped and then started again.</para>
110      </listitem>
111    </varlistentry>
112
113    <varlistentry>
114      <term><option>reload</option></term>
115      <listitem>
116        <para>The configuration of the service is updated. This is used
117        after the configuration file of a service was modified, when the
118        service does not need to be restarted.</para>
119      </listitem>
120    </varlistentry>
121
122    <varlistentry>
123      <term><option>status</option></term>
124      <listitem>
125        <para>Tells if the service is running and with which PIDs.</para>
126      </listitem>
127    </varlistentry>
128  </variablelist>
129
130  <para>Feel free to modify the way the boot process works (after all,
[fb40919]131  it is your own CLFS system). The files given here are an example of how
[3f8be484]132  it can be done.</para>
133
134</sect1>
Note: See TracBrowser for help on using the repository browser.