1
.TH SILO 8 "11 February 2000" "Linux"
3
\fBSILO\fP \- Sparc Improved boot LOader
6
\fB/sbin/silo\fP [-r root_path] [-b secondary] [-i primary] [-C config-file]
7
[-S backup-file] [-s backup-file] [-J flash-image ]
12
\fBSILO\fP can be used to boot Linux, SunOS, and/or Solaris. It is a program
13
that runs from the PROM on your SPARC machine and allows for loading of
14
operating systems. It also has extended features like the ability to load
15
Linux kernels arbitrarily from an \fIext2\fP, \fIext3\fP, \fIufs\fP,
16
\fIromfs\fP or \fIiso9660\fP filesystem.
18
The PROM in the SPARC at boot time loads a bootblock from a boot
19
device. This bootblock is quite short, so a full featured boot loader does
20
not fit into it, especially since filesystems like \fIext2\fP reserve only 1024
21
bytes for it and the partition table itself takes 512 bytes.
22
That's why SILO consists of a collection of first stage loaders which are
23
just able to load a second stage loader which already understands all
24
supported filesystems and handles the config file, input line editing and
25
actual loading of operating systems.
27
The program \fB/sbin/silo\fP is used to install the first stage loader by
28
copying the right first stage loader into the bootblock (unless the correct
29
first stage is already installed and the \fI-f\fP option is not used to
30
force it), writes the block number of the first block of the second stage
31
loader (usually \fB/boot/second.b\fP) into it and into the second stage
32
loader it records all the block numbers of \fBsecond.b\fP and the name and
33
location of the configuration file. The configuration file itself is parsed
34
by the boot loader at boot time. See \fBsilo.conf(5)\fP for details.
36
This means that the \fB/sbin/silo\fP program must be run only if you install
37
a new version of \fISILO\fP or if you move the second stage loader on the
38
disk. Unlike the \fILILO\fP bootloader on the Intel platform, you don't have
39
to rerun it every time you make a change into \fB/etc/silo.conf\fP or when
40
you install new kernels.
42
\fB/sbin/silo\fP used to assist in creating SPARC bootable CDs, but this
43
feature has been moved into the \fBmkisofs(8)\fP program and you only need
44
to put \fBSILO\fP first and second stage loaders and the configuration on
45
the CD before running it.
47
.SH "COMMAND\-LINE OPTIONS"
50
This does a chroot into \fIroot_path\fP before performing any actions.
53
This tells SILO to use \fIsecondary\fP as the second stage loader instead
54
of \fB/boot/second.b\fP
57
Install \fIprimary\fP as the first stage loader instead of the default one
58
(depending on other command line options and architecture of the machine
59
\fB/sbin/silo\fP is being run on it is either \fB/boot/first.b\fP,
60
\fB/boot/ultra.b\fP or \fB/boot/fd.b\fP).
63
specify alternate config file instead of \fB/etc/silo.conf\fP. The config
64
file must reside on the same physical disk (though it can be on
65
different partitions) as the secondary loader (usually \fB/boot/second.b\fP).
68
This forces saving your old bootblock into file \fIbackup-file\fP.
71
This forces saving your old bootblock into file \fIbackup-file\fP
72
if and only if \fIbackup-file\fP does not exist yet.
75
force PROM version to be 0 or 2 (default is autodetection).
78
force overwriting of bootblock.
81
store bootblock into the same partition as second stage loader.
82
By default SILO on SCSI/IDE disks writes bootblock into masterboot
83
(bootblock of partition starting at cylinder 0), with
85
you change this behaviour.
91
Generate the bootblock for booting from the \fIromfs\fP filesystem.
92
To create a bootable \fIromfs\fP filesystem, usually floppy, prepare the
93
tree for that filesystem and run \fBgenromfs(8)\fP and make sure you pass it
94
the \fB-a 512 -A 2048,/..\fP options. Then mount it and run \fB/sbin/silo\fP
95
on it with the \fB-F\fP option. The procedure usually goes like this:
97
\fBgenromfs -d \fP\fIdirectory\fP\fB/ -f \fP\fIdevice\fP\fB -a 512 -A 2048,/..\fP
98
\fBmount -t romfs \fP\fIdevice mountpoint\fP
99
\fBsilo -r \fP\fImountpoint\fP\fB -i /boot/fd.b -F\fP
100
\fBumount \fP\fImountpoint\fP
102
.BI "-J " flash-image
103
Generate the bootblock for booting JavaStation off an flash image.
104
To create it, prepare the tree for that filesystem and run \fBgenromfs(8)\fP
105
and make sure you pass it the \fB-a512\fP option. You have to keep 1KB of
106
space before the filesystem for the ELF bootblock. THe procedure usually
109
\fBdd if=/dev/zero of=\fP\fIflash.img\fP\fB bs=1k count=1\fP
110
\fBgenromfs -a 512 -f \fP\fIromfs.img\fP\fB -d \fP\fIflash/\fP
111
\fBcat \fP\fIromfs.img\fP\fB >> \fP\fIflash.img\fP
112
\fBrm -f \fP\fIromfs.img\fP
113
\fBlosetup \fP\fI/dev/loop0\fP\fB -o 1024 \fP\fIflash.img\fP
114
\fBmount -t romfs -o ro \fP\fI/dev/loop0\fP\fB \fP\fI/mnt\fP
115
\fBsilo -J \fP\fIflash.img\fP\fB -i /boot/ieee32.b -r \fP\fI/mnt\fP
116
\fBumount \fP\fI/mnt\fP
117
\fBlosetup -d \fP\fI/dev/loop0\fP
118
\fBjsflash \fP\fIflash.img\fP
121
Assume the machine is an UltraSPARC (the default is obviously the machine
122
\fB/sbin/silo\fP is running on). This can be useful e.g. if you plan to move
123
a disk from a 32bit box to a 64bit box, you run \fB/sbin/silo -f -u\fP and
124
then after the shutdown move the disk.
127
Assume the machine is not an UltraSPARC.
130
Print PROM version and exit.
133
Usually, when silo is run, it reads and checks the syntax of the silo.conf
134
that will be used when the system boots. This is generally good, but
135
sometimes you may wish to create a boot block when no silo.conf is
136
available yet. The \fB-a\fP option will allow this check to fail. USE WITH
139
.SH "BOOT TIME OPERATION"
140
When the PROM boots from a disk and partition on which SILO is installed, it
141
will print the string \fBSILO\fP to the screen (if the second stage loader
142
is moved away or is crippled it might actually print less letters from that
143
string and die). If \fItimeout\fP is specified in \fBsilo.conf(5)\fP, it
144
will wait like that until the user presses some key or until the timeout
145
expires. If the timeout expires, the default image is booted, otherwise SILO
146
continues normal operation, ie. prints the string \fBboot:\fP and waits for
149
At the prompt, you can enter the \fIlabel\fP or
150
\fIalias\fP of some image present in the config file, plus additional
151
arguments you want to give it and \fBSILO\fP will boot such image, give it
152
all the arguments specified in the config and all the arguments you gave on
153
the command line. Entering an empty line will cause the default image to be
158
boot: \fBlinux.old init=/bin/sh\fP
160
The arguments you pass on the line after the name of the image to be loaded
161
are basically kernel arguments which are normally specified in the
162
\fIappend\fP variable in \fBsilo.conf(5)\fP. In addition to that, several
163
special arguments are handled by \fBSILO\fP internally and are not passed to
164
the kernel. These include \fIinitrd\fP, \fIinitrd-size=\fPnumber,
165
\fIinitrd-prompt\fP, \fIpause-after\fP and \fIshow-arguments\fP.
166
\fIshow-arguments\fP causes the arguments which will be passed to the kernel
167
to be printed on the screen before the kernel is loaded, the other options
168
ressemble flags and string variables of the same names from
171
You can also enter one of the special keywords, \fBhalt\fP or \fBhelp\fP.
172
\fBhalt\fP causes \fBSILO\fP to return PROM, \fBhelp\fP prints some short
173
incomplete help message.
175
If you want to load some image or other operating system not mentioned in
176
the config file (or if the config file could not be loaded because it has
177
not been found or had syntax errors in it - \fBSILO\fP will print a message
178
about this in such a case), you can load arbitrary image from any local
179
\fIext2\fP, \fIext3\fP, \fIufs\fP, \fIromfs\fP or \fIiso9660\fP filesystem
180
and give it arbitrary arguments. \fBSILO\fP will handle transparent
181
decompression of gzipped images. You type in the fully qualified \fBSILO\fP
182
file name or partition name and arguments. For the syntax of the fully qualified
183
\fBSILO\fP file names and partition names see \fBsilo.conf(5)\fP.
186
boot: \fB/pci@1f,4000/ide/ata@0,0/cmdk@0,0;4/boot/vmlinux.new root=/dev/hda4\fP
188
boot: \fB2/boot/vmlinux initrd=/boot/initrd.img\fP
190
boot: \fBsd(0,2,0)2/boot/vmlinux.gz root=/dev/sdc2 init=/bin/sh ro\fP
192
If there are \fIsingle-key\fP images in the config file, then they will be
193
loaded as soon as you press that key at the beginning of the input line.
194
If you want to give them arguments or load a different image which starts
195
with that letter, you can type a space at the beginning of the input line so
196
that the image is not autostarted.
198
You can also view short files and see directory listings.
199
Details are listed in \fBsilo.conf(5)\fP, here just a few examples:
201
boot: \fBcat /etc/silo.conf\fP
203
boot: \fBcat /sbus/espdma@1,280000/esp/sd@2,0;5/etc/inittab\fP
205
boot: \fBls -lt /lib/modules/\fP
207
boot: \fBls /pci@1f,4000/ide/ata@0,0/cmdk@0,0;2/lib/\fP
209
\fBSILO\fP operation can be password protected in two different ways (in
210
addition to no password protection at all). Either a password will be
211
required to load any image, or password will be required to load any image
212
not mentioned in \fBsilo.conf\fP or if the user gives some arguments to some
213
image mentioned there.
217
was written by Jakub Jelinek (jakub@redhat.com) and is released
218
under the conditions of the GNU General Public License. See the file
219
COPYING for details. This man page was written by Donald Barnes
220
(djb@redhat.com) and updated by the author.
250
\fBsilo.conf(5)\fP, \fBmkisofs(8)\fP, \fBgenromfs(8)\fP