~ubuntu-branches/ubuntu/quantal/silo/quantal

« back to all changes in this revision

Viewing changes to man/silo.conf.5

  • Committer: Bazaar Package Importer
  • Author(s): Fabio M. Di Nitto
  • Date: 2007-10-25 09:28:08 UTC
  • mfrom: (15.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20071025092808-1yhj12t7s4zqsfu5
Tags: 1.4.13a+git20070930-1ubuntu1
* Merge from debian unstable, remaining changes:
  - Build with -fno-stack-protector.
  - Change silo.postinst to automatically update the boot block without
    invoking siloconfig and keep asking questions on upgrades.
  - Convert silo.conf to use /dev/disk/by-uuid.
  - Ubuntu maintainer foobar.
  - Fix debian/rules call to dh_installdocs.
  - Drop the requirement of gcc-4.1 and start using default gcc.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.\" Copyright (c) 1999 Jakub Jelinek <jakub@redhat.com>
 
2
.\" Portions of this manual page from lilo.conf documentation
 
3
.\" Copyright (c) 1992-1998 Werner Almesberger
 
4
.\" This program is distributed according to the Gnu General Public License.
 
5
.\" See the file COPYING in the SILO source distribution.
 
6
.\"
 
7
.TH SILO.CONF 5 "20 September 1999" "SILO"
 
8
.SH NAME
 
9
silo.conf \- File format used by SILO.
 
10
.SH SYNOPSIS
 
11
.BI "/etc/silo.conf"
 
12
.SH DESCRIPTION
 
13
The \fBsilo.conf\fP file is a configuration file for \fBSILO\fP
 
14
which is read during booting.
 
15
 
 
16
\fBsilo.conf\fP provides instructions for \fBSILO\fP. This includes
 
17
which kernels or other operating systems to load and what options pass to
 
18
them. Unlike \fBLILO\fP bootloader on the Intel platform, \fBSILO\fP reads
 
19
and parses the configuration file at boot time. This means any
 
20
changes can be made to the configuration file and if the system is shut down
 
21
properly or the config file makes it to the disk, \fBSILO\fP will use it on
 
22
next bootup.
 
23
 
 
24
\fBSILO\fP is able to boot kernels even without this configuration file or
 
25
if this file is crippled or contains syntax errors, but the user has to
 
26
enter full PROM names and full path of the images to load and all options
 
27
required for them manually.
 
28
.SH "FILE FORMAT"
 
29
The file consists of comments and variable assignments.
 
30
.TP
 
31
Comments
 
32
Start with a \fI#\fP character, and continue to
 
33
the end of the line.
 
34
.TP
 
35
Flag variables
 
36
Consist of a single keyword and are followed by whitespace
 
37
or the end of the file.
 
38
.TP
 
39
String variables
 
40
Consist of the variable name, optional architecture scope,
 
41
optional whitespace, a \fI=\fP character, optional whitespace, the value
 
42
and required whitespace, or the end of the file.
 
43
.TP
 
44
Architecture scope
 
45
Allowed only for variable names \fIimage\fP and \fIother\fP. Must directly
 
46
follow variable name without any whitespace. Consists of the \fI[\fP character,
 
47
a subset of case-insensitive tokens \fIsun4\fP, \fIsun4c\fP, \fIsun4d\fP,
 
48
\fIsun4e\fP, \fIsun4m\fP,  \fIsun4u\fP, separated by \fI,\fP characters
 
49
(no whitespace allowed in between) and ends with the \fI]\fP character.
 
50
.TP
 
51
File names
 
52
Some string variables are expecting file names. A file name format in \fBSILO\fP
 
53
is:
 
54
 
 
55
  [<devicename>][<part>]<absolute_pathname>
 
56
 
 
57
  or
 
58
 
 
59
  [<devicename>][<part>][\fB[\fP<m>\fB-\fP<n>\fB]\fP]
 
60
 
 
61
The first form refers to a file or directory on some supported filesystem
 
62
(currently \fIext2\fP, \fIext3\fP, \fIufs\fP, \fIromfs\fP or \fIiso9660\fP),
 
63
the latter refers to a range of 512B blocks on a device. For a device block
 
64
range, either <devicename>, or <part>, or [<m>-<n>] must be given. If the last
 
65
part is not given, it defaults to [1-16] (ie. 7680 bytes from offset 512 in
 
66
the device - normal SPARC bootblock location).
 
67
 
 
68
Optional <devicename> is the PROM name of the device the file or range
 
69
is located on. See below for its syntax. For v2 and P1275 PROMs the device
 
70
name must be immediately followed by the \fI;\fP character. The default is
 
71
the boot device SILO was booted from.
 
72
 
 
73
Optional <part> is the 1 based partition number on the device. First
 
74
partition is 1 (e.g. on \fI/dev/sda\fP in Linux is this \fI/dev/sda1\fP).
 
75
The default is the default partition (the value of the \fIpartition\fP
 
76
variable in the config file).
 
77
 
 
78
<absolute_pathname> must start with a \fI/\fP character and is the
 
79
pathname from the root of the filesystem on that device (unless it is the
 
80
root filesystem this is different to the pathname you will see in Linux).
 
81
 
 
82
<m> is the first block number (in blocksize 512 bytes) of the range to
 
83
be loaded and <n> is the last block number plus one.
 
84
 
 
85
SILO will transparently uncompress files when loading them if they are
 
86
gzipped, unless the file is an initial ramdisk.
 
87
.TP
 
88
Device names
 
89
Depend on the PROM version of the machine used during bootup. For older
 
90
PROMs (v0), the device name syntax is:
 
91
 
 
92
  <xx>\fB(\fP<m>\fB,\fP<n>\fB,\fP<o>\fB)\fP
 
93
 
 
94
where:
 
95
 
 
96
  <xx> is one of \fIsd\fP, \fIst\fP, \fIxd\fP, \fIxy\fP, \fIfd\fP, \fIle\fP, \fIie\fP,
 
97
 
 
98
  <m> is controller number as decimal number,
 
99
 
 
100
  <n> is device id as decimal number,
 
101
 
 
102
  and <o> is zero based partition number.
 
103
 
 
104
Example:
 
105
 
 
106
  sd(0,3,0)
 
107
  fd(0,0,0)
 
108
 
 
109
For newer PROMs (v2) and all PROMs in the 64bit SPARC machines the syntax
 
110
is:
 
111
 
 
112
  <fully_qualified_prom_device_name>[\fB:\fP<part_letter>]
 
113
 
 
114
where the fully qualified PROM device name starts with a \fI/\fP character
 
115
for the root of the PROM device tree and contains all the nodes from the
 
116
root in the tree up to the disk device node. If some node contains more than
 
117
one child node with the same name and the path has to go through such node,
 
118
a \fI@\fP character followed by hexadecimal address pair is desirable to
 
119
resolve the ambiguity. Optional partition number is a \fI:\fP character
 
120
followed by a letter \fIa\fP (for first partition) through \fIh\fP (for
 
121
last, 8th, partition). v2 PROM device names might look like:
 
122
 
 
123
  /sbus@3,0/SUNW,fas@3,8800000/sd@0,0
 
124
  /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@6,0:d
 
125
  /pci@1f,0/pci@1,1/ide@3/disk@2,0
 
126
  /pci@1f,4000/ide/ata@0,0/cmdk@0,0
 
127
 
 
128
v2 PROM device names if specified as part of the file name (see above)
 
129
should be followed by the \fI;\fP character to separate the device name from
 
130
the optional Linux partition number (note that there can be two partition
 
131
numbers specified, the latter takes precedence) and from the required
 
132
pathname.
 
133
.PP
 
134
Variable names are case insensitive, values of string variables are case
 
135
sensitive.
 
136
 
 
137
Blanks and equal signs may only be part of a variable name or a value if
 
138
they are escaped by a backslash or if the value is embedded in double
 
139
quotes. An equal sign may not be the only character in a name or value.
 
140
 
 
141
An escaped tab is converted to an escaped blank. An escaped newline is
 
142
removed from the input stream. An escaped backslash (i.e. two
 
143
backslashes) is converted to a backslash. Inside quoted strings, only
 
144
double quotes, backslashes and newlines can be escaped.
 
145
 
 
146
Example:
 
147
 
 
148
  # Simple silo.conf
 
149
  timeout=50
 
150
  partition=5
 
151
  root=/dev/sda5
 
152
  read-only
 
153
  image=/boot/vmlinux
 
154
    label=linux
 
155
  image=/boot/vmlinux.old
 
156
    label=old
 
157
 
 
158
.SH "GLOBAL OPTIONS"
 
159
\fB/etc/silo.conf\fP begins with a possibly empty global options section.
 
160
This section contains all variable assignments up to the first \fIimage\fP
 
161
or \fIother\fP setting.
 
162
 
 
163
The following global options are recognized:
 
164
.TP
 
165
.BI "default=" name
 
166
Uses the specified image as the default boot image. If `default' is omitted,
 
167
the image appearing first in the configuration file is used.
 
168
.TP
 
169
.BI "message=" message_filename
 
170
Specifies a file containing a message that is displayed before the boot
 
171
prompt.
 
172
.TP
 
173
.BI "password=" password
 
174
Protect booting by a password. The password is given in cleartext in the
 
175
configuration file. Because of that the configuration file should be only
 
176
readable by the super user and the password should differ if possible from
 
177
other passwords on the system.
 
178
.TP
 
179
.BI "restricted"
 
180
A password is only required to boot the image specified in
 
181
\fB/etc/silo.conf\fP if parameters are specified on the command line
 
182
or if the image is not specified in the configuration file at all (ie.
 
183
arbitrary file load).
 
184
.TP
 
185
.BI "timeout=" tsecs
 
186
Sets a timeout (in tenths of a second) for keyboard input. If no key is
 
187
pressed for the specified time, the first image is automatically booted.
 
188
.TP
 
189
.BI "partition-boot"
 
190
This flag causes the same functionality as the \fI-t\fP command line
 
191
option for the silo program. It's useful for not having to manually add
 
192
that option everytime.
 
193
.TP
 
194
.BI "secondary=" filename
 
195
Forces the second stage boot loader to be other than /boot/second.b. Same
 
196
as the \fI-b\fP command line option. This can be overriden by the command
 
197
line option.
 
198
.PP
 
199
In addition to these global options, per-image options
 
200
\fIappend\fP, \fIdevice\fP, \fIfill-reboot-cmd\fP, \fIimage\fP,
 
201
\fIinitrd-prompt\fP, \fIinitrd-size\fP, \fIinitrd\fP,
 
202
\fIother\fP, \fIpartition\fP, \fIpause-after\fP, \fIpause-message\fP,
 
203
\fIramdisk\fP, \fIread-only\fP, \fIread-write\fP and \fIroot\fP can be
 
204
specified in the global section. They are used as defaults if they aren't
 
205
specified in the configuration sections of the respective kernel images
 
206
and will be used also for the arbitrary images specified on the input line
 
207
and not mentioned in the configuration file (unless overridden by input line
 
208
options).
 
209
.SH "PER-IMAGE SECTIONS"
 
210
A per-image section starts with either a line
 
211
 
 
212
  \fBimage=\fP\fIfilename\fP
 
213
 
 
214
(for booting from files) or
 
215
 
 
216
  \fBother=\fP\fIpartition_name\fP
 
217
 
 
218
(for booting from device ranges).
 
219
The \fIimage\fP or \fIother\fP tokens can be directly followed by
 
220
architecture scope (see above). In that case, the image declaration will be
 
221
only available if the architecture of the booting machine is listed in the
 
222
scope. If it is not listed, the whole \fIimage\fP or \fIother\fP line and
 
223
the following related section will be treated as not present in the config
 
224
file.
 
225
Example:
 
226
 
 
227
  image[sun4c,sun4d,sun4m]=/boot/vmlinux32.gz
 
228
 
 
229
will declare image with the specified filename only on sun4c, sun4d or
 
230
sun4m.
 
231
 
 
232
SILO will transparently decompress gzipped images.
 
233
 
 
234
\fIpartition_name\fP in the \fBother\fP setting is a normal filename whose
 
235
syntax is described above, but without the pathname part. So it is either a
 
236
single partition number (starting with 1), or a device name (for v2 and
 
237
P1275 PROMs followed by \fI;\fP character) followed by such partition
 
238
number. Examples:
 
239
 
 
240
  other=1
 
241
    bootblock=/boot/old.b
 
242
  # Example with device for v0 PROM:
 
243
  other=sd(0,2,0)3
 
244
  # Example with device for v2 or P1275 PROM:
 
245
  other=/iommu/sbus/espdma/esp/sd@3,0;3
 
246
 
 
247
The \fIfilename\fP above can also include two special tokens: \fIcat\fP and
 
248
\fIls\fP. Both have to be followed by whitespace and some filename (directory
 
249
name in the \fIls\fP case). \fIls\fP can have options between the \fIls\fP
 
250
token and the directory name. \fIcat\fP causes the filename to be loaded and
 
251
printed to the screen instead of being executed, \fIls\fP causes a directory
 
252
listing to be generated to the screen. \fIls\fP uses syntax:
 
253
 
 
254
  \fBls\fP [\fB-\fP[\fBl\fP][\fBt\fP][\fBr\fP]] <dirname>
 
255
 
 
256
Option \fBl\fP generates long listing instead of listing only filenames,
 
257
option \fBt\fP sorts by mtime instead of name and \fBr\fP reverses the
 
258
sorting. As both \fIcat\fP and \fIls\fP require white space between the
 
259
token and the filename, you should probably surround it into double quotes
 
260
as in:
 
261
 
 
262
  image="cat /etc/passwd"
 
263
  image="ls /lib/modules/"
 
264
  image="ls -lt /lib/"
 
265
 
 
266
From the \fIimage\fP or \fIother\fP line on until next \fIimage\fP or
 
267
\fIother\fP line are variable assignments and flags for this image's
 
268
section. The following options and flags are recognized:
 
269
.TP
 
270
.BI "label=" name
 
271
The boot loader uses the main file name (without its path) of each image
 
272
specification to identify that image. A different name can be used by
 
273
setting the variable `label'.
 
274
.TP
 
275
.BI "alias=" name
 
276
A second name for the same entry can be used by specifying an alias.
 
277
.TP
 
278
.BI "partition=" part_no
 
279
Specifies the default partition number (a digit between 1 and 8, sda1 is
 
280
part_no 1) to be used if some filename does not specify a partition number
 
281
explicitely.
 
282
.TP
 
283
.BI "device=" device_name
 
284
Specifies the default device name to be used if some filename does not
 
285
specify a partition number explicitely. This defaults to the device
 
286
\fBSILO\fP has been booted from if you don't specify \fIdevice\fP in either
 
287
the global section or per-image section of the config file.
 
288
.TP
 
289
.BI "append=" string
 
290
Appends the options specified to the parameter line
 
291
passed to the kernel. This is typically used to
 
292
specify parameters of hardware that can't be
 
293
entirely auto-detected or for which probing may be
 
294
dangerous. Example:
 
295
 
 
296
  append = "video=sbusfb:off"
 
297
.TP
 
298
.BI "literal=" string
 
299
Like `append', but removes all other options (e.g. setting of the root
 
300
device). Because vital options can be removed unintentionally with
 
301
`literal', this option cannot be set in the global options section.
 
302
.TP
 
303
.BI "ramdisk=" size
 
304
This specifies the size of the optional RAM disk. A value of zero indicates
 
305
that no RAM disk should be created. If this variable is omitted, the RAM
 
306
disk size configured into the boot image is used.
 
307
.TP
 
308
.BI "read-only"
 
309
This specifies that the root file system should be mounted read-only.
 
310
Typically, the system startup procedure re-mounts the root file system
 
311
read-write later (e.g. after fsck'ing it).
 
312
.TP
 
313
.BI "read-write"
 
314
This specifies that the root file system should be mounted read-write.
 
315
.TP
 
316
.BI "root=" root-device
 
317
This specifies the device that should be mounted as root.
 
318
.TP
 
319
.BI "proll=" filename
 
320
This should be only used for JavaStation flash installs. It specifies a file
 
321
that will be loaded at boot time and executed in order to emulate old Sun v2
 
322
PROM on top of IEEE P1275 PROM called PROLL.
 
323
.TP
 
324
.BI "initrd=" filename
 
325
Specifies the file that will be loaded at boot time as the initial RAM disk.
 
326
Example:
 
327
 
 
328
  initrd=/images/initrd.img
 
329
 
 
330
SILO will not decompress the initial ramdisk, the Linux kernel will do that.
 
331
If the initial ramdisk does not fit on one media (usually floppy), you can
 
332
split it into several pieces and separate the filenames in the list by
 
333
\fI|\fP characters. In this case, you have to provide a non-zero
 
334
\fIinitrd-size\fP and, if the images reside on different medias,
 
335
\fIinitrd-prompt\fP as well.
 
336
Example (on the first floppy is initrd1.img, on the second initrd2.img
 
337
always in the root directory and the sum of both image sizes is 1700000
 
338
bytes):
 
339
 
 
340
  initrd=/initrd1.img|/initrd2.img
 
341
  initrd-size=1700000
 
342
  initrd-prompt
 
343
.TP
 
344
.BI "initrd-size=" size
 
345
When more than one initial ramdisk part is specified in the \fIinitrd\fP
 
346
setting, this option is required to be the sum of sizes of all the images
 
347
mentioned on that line, in bytes. It is required so that SILO can reserve
 
348
space for the image, eventhough size of some parts has not been determined
 
349
yet.
 
350
.TP
 
351
.BI "initrd-prompt"
 
352
If more than one initial ramdisk part is specified, wait for user pressing a
 
353
key between loading the different images, so that the user can exchange
 
354
media. This flag is needed if some initrd parts reside on the same device,
 
355
but different removable media. On the other side, if you e.g. load one part
 
356
from a floppy and the second part from a hard disk, such option is not
 
357
needed (the question is who'd write something like that into silo.conf).
 
358
.TP
 
359
.BI "bootblock=" filename
 
360
For the \fIother\fP image section, if booting from some partition is desired
 
361
but the bootblock on that partition has been saved off to some file and the
 
362
bootblock in that partition contains something else (e.g. SILO bootblock),
 
363
this option specifies the name of the file where the bootblock has been
 
364
saved to. SILO loads the image from that file, pretends as if it had
 
365
loaded it from the specified partition and executes it. This is e.g. useful
 
366
if you have Solaris installed on the first partition of the disk and want to
 
367
install SILO into the master boot record (ie. bootblock of the first
 
368
partition). Then you should first save the Solaris bootblock into some file,
 
369
e.g. by issuing:
 
370
 
 
371
  \fBdd if=/dev/sda of=/boot/old.b bs=512 count=15 skip=1\fP
 
372
 
 
373
then install SILO and put this snippet into \fIsilo.conf\fP:
 
374
 
 
375
  other=1
 
376
    bootblock=/boot/old.b
 
377
 
 
378
Note that this does not work correctly on UltraSPARC boxes at the moment.
 
379
.TP
 
380
.BI "fill-reboot-cmd"
 
381
This flag should be used only with Linux kernels. If specified for an image,
 
382
it causes the file \fI/proc/sys/kernel/reboot-cmd\fP to be initialized by
 
383
the device SILO has been booted from, image name of the kernel beeing loaded
 
384
and all arguments to it specified either in the configuration file, or on
 
385
the input line. This means that if the user does not modify that file and
 
386
reboots the system, it should load the same kernel as last time and pass it
 
387
the same arguments.
 
388
.TP
 
389
.BI "pause-after"
 
390
If this flag is specified, SILO will stop after loading the kernel (and
 
391
initial ramdisks if specified) and ask the user to press a key before
 
392
continuing.
 
393
.TP
 
394
.BI "pause-message=" string
 
395
If \fIpause-after\fP is specified, this variable specifies the string to
 
396
print to the user when asking him to press a key. The default is:
 
397
 
 
398
  Press ENTER to continue.
 
399
.TP
 
400
.BI "single-key"
 
401
Enables booting the image by hitting a single key when the cursor is at the
 
402
first character in the input line, without the need to press <ENTER>
 
403
afterwards. \fIsingle-key\fP requires that either the image's label or its
 
404
alias (or both) is a single character. If you need to specify parameters for
 
405
such an image, or if you want to boot some other image which happens to
 
406
start with the same letter, then you need to start the input line with at
 
407
least one space which will be removed before processing but will disable
 
408
this single-key feature.
 
409
.TP
 
410
.BI "solaris"
 
411
This flag tells SILO that the image to be loaded is a Solaris kernel. This
 
412
has been implemented so that users don't have to save the old Solaris
 
413
bootblock or in case it has been lost. SILO then tries to use the Solaris
 
414
ufsboot second stage loader to load specified kernel image. The usual kernel
 
415
name is \fI/kernel/unix\fP (SILO automatically prepends the
 
416
\fI/platform/<platform>\fP path before it if needed). SILO recognizes the
 
417
special pathname \fI/kernel/unix\fP (with any device and/or partition) though
 
418
and assumes the \fIsolaris\fP flag for it by default. Note that this method
 
419
of loading Solaris might not work for you, as it is quite error prone due to
 
420
different versions of Solaris and different PROMs.
 
421
The recommended solution for sharing Solaris and Linux on the same disk is
 
422
to install SILO into the Linux's own partition bootblock (as opposed to the
 
423
master bootblock) and add PROM aliases to boot from the devices. E.g. if
 
424
Solaris is installed on Linux device sda1 and Linux on sda4, \fIsilo.conf\fP
 
425
could look like this:
 
426
 
 
427
  partition=4
 
428
  timeout=50
 
429
  image=/boot/vmlinux
 
430
    label=linux
 
431
    root=/dev/sda4
 
432
  other=1
 
433
    label=solaris
 
434
 
 
435
one would invoke SILO as:
 
436
 
 
437
  \fB/sbin/silo -t\fP
 
438
 
 
439
and in PROM (this depends on the PROM version, lets assume P1275)
 
440
one would do either:
 
441
 
 
442
  \fBsetenv boot-device /sbus/espdma/esp/sd@0,0:d\fP
 
443
 
 
444
(so that by default it boots from the 4th (ie. Linux) partition) or:
 
445
 
 
446
  \fBnvalias linux /sbus/espdma/esp/sd@0,0:d\fP
 
447
  \fBnvalias solaris /sbus/espdma/esp/sd@0,0:a\fP
 
448
 
 
449
so that one could already in PROM boot either with \fBboot linux\fP or with
 
450
\fBboot solaris\fP. For the former, there would still be possibility to type
 
451
\fBsolaris\fP on the SILO prompt to boot Solaris.
 
452
.SH AUTHOR
 
453
\fBSILO\fP has been written by Jakub Jelinek <jakub@redhat.com> and
 
454
the SparcLinux team (see documentation on the list of contributors).
 
455
.SH AVAILABILITY
 
456
The latest version of the sources may be obtained by ftp/http from
 
457
http://www.sparc-boot.org/
 
458
.SH "SEE ALSO"
 
459
silo(8)