aboutsummaryrefslogtreecommitdiff
path: root/src/docs/Configuring-Init.html
blob: e90cd743d390d73120e668062ff6e606c529649a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2020 Cem Keylan

Licensed under Gnu Free Documentation License. -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Configuring Init (Carbs Linux User Manual)</title>

<meta name="description" content="Configuring Init (Carbs Linux User Manual)">
<meta name="keywords" content="Configuring Init (Carbs Linux User Manual)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html" rel="start" title="Top">
<link href="Init-System.html" rel="up" title="Init System">
<link href="Changing-Init-Program.html" rel="next" title="Changing Init Program">
<link href="Init-System.html" rel="prev" title="Init System">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<span id="Configuring-Init"></span><div class="header">
<p>
Next: <a href="Changing-Init-Program.html" accesskey="n" rel="next">Changing Init Program</a>, Up: <a href="Init-System.html" accesskey="u" rel="up">Init System</a> &nbsp; </p>
</div>
<hr>
<span id="Configuring-Init-1"></span><h3 class="section">3.1 Configuring Init</h3>

<p>There are three ways you can change the behaviour of the init system. Those are:
</p>
<ol>
<li> Kernel Command Line
</li><li> <samp>/etc/init/rc.conf</samp> file
</li><li> Init Hooks
</li></ol>

<span id="Kernel-Command-Line"></span><h4 class="subsection">3.1.1 Kernel Command Line</h4>

<p>On GRUB, you can edit the kernel command line parameters, which will be parsed
as variables on the init system. Not all of the parameters will be acted upon,
but all of them will be set as variables on the init script. For example an
example command line, and how it is interpreted.
</p>
<div class="example">
<pre class="example">BOOT_IMAGE=/boot/vmlinuz root=/dev/sda2 rw loglevel=3 quiet
</pre></div>

<p>This command line will be parsed to set the following variables:
</p>
<div class="example">
<pre class="example">BOOT_IMAGE=/boot/vmlinuz
root=/dev/sda2
rw=1
loglevel=3
quiet=1
</pre></div>

<p>Some of these variables, such as <code>rw</code>/<code>ro</code>, <code>loglevel</code>, and
<code>quiet</code>, will be used by the init system to change the behaviour of the
startup.
</p>
<span id="g_t_002fetc_002finit_002frc_002econf-file"></span><h4 class="subsection">3.1.2 <samp>/etc/init/rc.conf</samp> file</h4>

<p>However, the kernel command line isn&rsquo;t the only place to set your boot
parameters. You can specify variables here as well, although note that the
kernel command line always gets the priority for these variables since they can
be set just before boot.
</p>
<span id="Init-Hooks"></span><h4 class="subsection">3.1.3 Init Hooks</h4>

<p>Init hooks are for custom personal commands that the user may want to add to
alter their boot. These can be used to load kernel modules, modify interfaces,
and lot more. Those hooks are added to the <samp>/etc/init</samp> directory with the
hook name as the suffix. For example, a boot script will be placed as
<samp>/etc/init/my-hook.boot</samp>. Currently, there are 4 hooks that the user can use.
</p>
<dl compact="compact">
<dt><samp>early-boot</samp></dt>
<dd><p>Run after pseudo-filesystems are mounted.
</p></dd>
<dt><samp>boot</samp></dt>
<dd><p>Run before the boot stage is completed.
</p></dd>
<dt><samp>pre.shutdown</samp></dt>
<dd><p>Run first when shutting down.
</p></dd>
<dt><samp>post.shutdown</samp></dt>
<dd><p>Run just before the system is halted.
</p></dd>
</dl>

<hr>
<div class="header">
<p>
Next: <a href="Changing-Init-Program.html" accesskey="n" rel="next">Changing Init Program</a>, Up: <a href="Init-System.html" accesskey="u" rel="up">Init System</a> &nbsp; </p>
</div>



</body>
</html>