-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathboot_parameters.html
200 lines (200 loc) · 12.4 KB
/
boot_parameters.html
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>boot_parameters(7) - SerenityOS man pages</title>
<style>
html {
line-height: 1.5;
font-family: Georgia, serif;
font-size: 20px;
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
word-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 1em;
}
}
@media print {
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
font-size: 85%;
margin: 0;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<img src="/banner.png" style="display: block; margin-left: auto; margin-right: auto; margin-bottom: 2em;">
<header id="title-block-header">
<h1 class="title">boot_parameters(7) - SerenityOS man pages</h1>
</header>
<h2 id="name"><a style="margin-right: 15px" href="#name">#</a>Name</h2>
<p>Boot Parameters - optional parameters accepted by the kernel</p>
<h2 id="description"><a style="margin-right: 15px" href="#description">#</a>Description</h2>
<p>Serenity's kernel can process parameters at boot time. This functionality is used to control or augment the state of features during the initial startup of the system.</p>
<h3 id="options"><a style="margin-right: 15px" href="#options">#</a>Options</h3>
<p>The kernel boot parameters take the form of <strong><code>{option_name}={value}</code></strong>, where the <strong><code>={value}</code></strong> trailer can be omitted for specific parameters.</p>
<p>List of options:</p>
<ul>
<li><p><strong><code>acpi</code></strong> - This parameter expects one of the following values. <strong><code>on</code></strong> - Boot with full ACPI support, using ACPI Machine Language interpretation (default). <strong><code>limited</code></strong> - Boot with limited ACPI support. <strong><code>off</code></strong> - Don't initialize ACPI at all.</p></li>
<li><p><strong><code>ahci_reset_mode</code></strong> - This parameter expects one of the following values. <strong><code>controllers</code></strong> - Reset just the AHCI controller on boot (default). <strong><code>aggressive</code></strong> - Reset the AHCI controller, and all AHCI ports on boot.</p></li>
<li><p><strong><code>boot_prof</code></strong> - If present on the command line, global system profiling will be enabled as soon as possible during the boot sequence. Allowing you to profile startup of all applications.</p></li>
<li><p><strong><code>disable_physical_storage</code></strong> - If present on the command line, neither AHCI, or IDE controllers will be initialized on boot.</p></li>
<li><p><strong><code>disable_ps2_mouse</code></strong> - If present on the command line, no PS2 mouse will be attached.</p></li>
<li><p><strong><code>disable_uhci_controller</code></strong> - If present on the command line, the UHCI controller will not be initialized on boot.</p></li>
<li><p><strong><code>disable_virtio</code></strong> - If present on the command line, virtio devices will not be detected, and initialized on boot.</p></li>
<li><p><strong><code>early_boot_console</code></strong> - This parameter expects <strong><code>on</code></strong> or <strong><code>off</code></strong> and is by default set to <strong><code>on</code></strong>. When set to <strong><code>off</code></strong>, the kernel will not initialize any early console to show kernel dmesg output. When set to <strong><code>on</code></strong>, the kernel will try to initialize either a text mode console (if VGA text mode was detected) or framebuffer console, based on what the Multiboot bootloader specified on the physical address, width, height and bit color depth.</p></li>
<li><p><strong><code>enable_ioapic</code></strong> - This parameter expects <strong><code>on</code></strong> or <strong><code>off</code></strong> and is by default set to <strong><code>on</code></strong>. When set to <strong><code>off</code></strong>, the kernel will initialize the two i8259 PICs. When set to <strong><code>on</code></strong>, the kernel will try to initialize the IOAPIC (or IOAPICs if there's more than one), but only if <strong><code>acpi</code></strong> is set to <strong><code>limited</code></strong> or <strong><code>on</code></strong>, and a <code>MADT</code> (APIC) table is available. Otherwise, the kernel will fallback to use the i8259 PICs.</p></li>
<li><p><strong><code>graphics_subsystem_mode</code></strong> - This parameter expects one of the following values. <strong><code>on</code></strong>- Boot into the graphical environment if possible (default). <strong><code>off</code></strong> - Boot into text mode, don't initialize any driver. <strong><code>limited</code></strong> - Boot into the pre-defined framebuffer that the bootloader has set up before booting the Kernel, don't initialize any driver.</p></li>
<li><p><strong><code>hpet</code></strong> - This parameter expects one of the following values. <strong><code>periodic</code></strong> - The High Precision Event Timer should be configured in a periodic mode. <strong><code>nonperiodic</code></strong> - The High Precision Event Timer should eb configure din non-periodic mode.</p></li>
<li><p><strong><code>init</code></strong> - This parameter expects the fully qualified path to the init program the Kernel should launch after boot. This defaults to <a href="/man7/SystemServer.html"><code>SystemServer</code>(7)</a>.</p></li>
<li><p><strong><code>init_args</code></strong> - This parameter expects a set of arguments to pass to the <strong><code>init</code></strong> program. The value should be a set of strings separated by <code>,</code> characters.</p></li>
<li><p><strong><code>i8042_presence_mode</code></strong> - This parameter expects one of the following values: <strong><code>aggressive-test</code></strong> - The i8042 initialization sequence should only try an aggressive presence test. <strong><code>auto</code></strong> - The i8042 initialization sequence should try to check if ACPI says i8042 exists, and if not an aggressive presence test should take place to determine presence. <strong><code>none</code></strong> - Assume there's no i8042 controller in the system. <strong><code>force</code></strong> - Assume there's i8042 controller in the system.</p></li>
<li><p><strong><code>i8042_first_port_translation</code></strong> - This parameter expects <strong><code>on</code></strong> or <strong><code>off</code></strong> and is by default set to <strong><code>off</code></strong>. When set to <strong><code>off</code></strong>, the kernel will not enable first PS2 port translation. When set to <strong><code>on</code></strong>, the kernel will enable first PS2 port translation.</p></li>
<li><p><strong><code>panic</code></strong> - This parameter expects <strong><code>halt</code></strong> or <strong><code>shutdown</code></strong>. This is particularly useful in CI contexts.</p></li>
<li><p><strong><code>pci</code></strong> - This parameter expects <strong><code>ecam</code></strong>, <strong><code>io</code></strong> or <strong><code>none</code></strong>. When selecting <strong><code>none</code></strong> the kernel will not use PCI resources/devices.</p></li>
<li><p><strong><code>root</code></strong> - This parameter configures the device to use as the root file system. It defaults to <strong><code>/dev/hda</code></strong> if unspecified.</p></li>
<li><p><strong><code>pcspeaker</code></strong> - This parameter controls whether the kernel can use the PC speaker or not. It defaults to <strong><code>off</code></strong> and can be set to <strong><code>on</code></strong> to enable the PC speaker.</p></li>
<li><p><strong><code>smp</code></strong> - This parameter expects a binary value of <strong><code>on</code></strong> or <strong><code>off</code></strong>. If enabled kernel will enable available APs (application processors) and use them with the BSP (Bootstrap processor) to schedule and run threads. This parameter defaults to <strong><code>off</code></strong>. This parameter requires <strong><code>enable_ioapic</code></strong> to be enabled and a <code>MADT</code> (APIC) table to be available.</p></li>
<li><p><strong><code>nvme_poll</code></strong> - This parameter configures the NVMe drive to use polling instead of interrupt driven completion.</p></li>
<li><p><strong><code>system_mode</code></strong> - This parameter is not interpreted by the Kernel, and is made available at <code>/sys/kernel/system_mode</code>. SystemServer uses it to select the set of services that should be started. Common values are:</p>
<ul>
<li><strong><code>graphical</code></strong> (default) - Boots the system in the normal graphical mode.</li>
<li><strong><code>self-test</code></strong> - Boots the system in self-test, validation mode.</li>
<li><strong><code>text</code></strong> - Boots the system in text only mode. (You may need to also set <strong><code>graphics_subsystem_mode=off</code></strong>.)</li>
</ul></li>
<li><p><strong><code>time</code></strong> - This parameter expects one of the following values. <strong><code>modern</code></strong> - This configures the system to attempt to use High Precision Event Timer (HPET) on boot. <strong><code>legacy</code></strong> - Configures the system to use the legacy programmable interrupt time for managing system team.</p></li>
<li><p><strong><code>vmmouse</code></strong> - This parameter expects a binary value of <strong><code>on</code></strong> or <strong><code>off</code></strong>. If enabled and running on a VMWare Hypervisor, the kernel will enable absolute mouse mode.</p></li>
<li><p><strong><code>disable_kaslr</code></strong> - If present on the command line, the KASLR security mitigation will be disabled.</p></li>
</ul>
<h2 id="see-also"><a style="margin-right: 15px" href="#see-also">#</a>See also</h2>
<ul>
<li><a href="/man7/SystemServer.html"><code>SystemServer</code>(7)</a>.</li>
</ul>
</body>
</html>