table of contents
other versions
- wheezy 1.4.14+git20120819-1
SILO.CONF(5) | File Formats Manual | SILO.CONF(5) |
NAME¶
silo.conf - File format used by SILO.SYNOPSIS¶
/etc/silo.confDESCRIPTION¶
The silo.conf file is a configuration file for SILO which is read during booting.FILE FORMAT¶
The file consists of comments and variable assignments.- Comments
- Start with a # character, and continue to the end of the line.
- Flag variables
- Consist of a single keyword and are followed by whitespace or the end of the file.
- String variables
- Consist of the variable name, optional architecture scope, optional whitespace, a = character, optional whitespace, the value and required whitespace, or the end of the file.
- Architecture scope
- Allowed only for variable names image and other. Must directly follow variable name without any whitespace. Consists of the [ character, a subset of case-insensitive tokens sun4, sun4c, sun4d, sun4e, sun4m, sun4u, separated by , characters (no whitespace allowed in between) and ends with the ] character.
- File names
- Some string variables are expecting file names. A file name
format in SILO is:
[<devicename>][<part>]<absolute_pathname>
or
[<devicename>][<part>][ [<m>-<n>]]
- Device names
- Depend on the PROM version of the machine used during
bootup. For older PROMs (v0), the device name syntax is:
<xx> (<m>,<n>,<o>)
<xx> is one of sd, st, xd, xy, fd, le, ie,
<m> is controller number as decimal number,
<n> is device id as decimal number,
and <o> is zero based partition number.
sd(0,3,0)
fd(0,0,0)
<fully_qualified_prom_device_name>[ :<part_letter>]
/sbus@3,0/SUNW,fas@3,8800000/sd@0,0
/iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@6,0:d
/pci@1f,0/pci@1,1/ide@3/disk@2,0
/pci@1f,4000/ide/ata@0,0/cmdk@0,0
# Simple silo.conf
timeout=50
partition=5
root=/dev/sda5
read-only
image=/boot/vmlinux
label=linux
image=/boot/vmlinux.old
label=old
GLOBAL OPTIONS¶
/etc/silo.conf begins with a possibly empty global options section. This section contains all variable assignments up to the first image or other setting.- default=name
- Uses the specified image as the default boot image. If `default' is omitted, the image appearing first in the configuration file is used.
- message=message_filename
- Specifies a file containing a message that is displayed before the boot prompt.
- password=password
- Protect booting by a password. The password is given in cleartext in the configuration file. Because of that the configuration file should be only readable by the super user and the password should differ if possible from other passwords on the system.
- restricted
- A password is only required to boot the image specified in /etc/silo.conf if parameters are specified on the command line or if the image is not specified in the configuration file at all (ie. arbitrary file load).
- timeout=tsecs
- Sets a timeout (in tenths of a second) for keyboard input. If no key is pressed for the specified time, the first image is automatically booted.
- partition-boot
- This flag causes the same functionality as the -t command line option for the silo program. It's useful for not having to manually add that option everytime.
- secondary=filename
- Forces the second stage boot loader to be other than /boot/second.b. Same as the -b command line option. This can be overriden by the command line option.
PER-IMAGE SECTIONS¶
A per-image section starts with either a lineimage=filename
other=partition_name
image[sun4c,sun4d,sun4m]=/boot/vmlinux32.gz
other=1
bootblock=/boot/old.b
# Example with device for v0 PROM:
other=sd(0,2,0)3
# Example with device for v2 or P1275 PROM:
other=/iommu/sbus/espdma/esp/sd@3,0;3
ls [-[l][t][r]] <dirname>
image="cat /etc/passwd"
image="ls /lib/modules/"
image="ls -lt /lib/"
- label=name
- The boot loader uses the main file name (without its path) of each image specification to identify that image. A different name can be used by setting the variable `label'.
- alias=name
- A second name for the same entry can be used by specifying an alias.
- partition=part_no
- Specifies the default partition number (a digit between 1 and 8, sda1 is part_no 1) to be used if some filename does not specify a partition number explicitely.
- device=device_name
- Specifies the default device name to be used if some filename does not specify a partition number explicitely. This defaults to the device SILO has been booted from if you don't specify device in either the global section or per-image section of the config file.
- append=string
- Appends the options specified to the parameter line passed
to the kernel. This is typically used to specify parameters of hardware
that can't be entirely auto-detected or for which probing may be
dangerous. Example:
append = "video=sbusfb:off"
- literal=string
- Like `append', but removes all other options (e.g. setting of the root device). Because vital options can be removed unintentionally with `literal', this option cannot be set in the global options section.
- ramdisk=size
- This specifies the size of the optional RAM disk. A value of zero indicates that no RAM disk should be created. If this variable is omitted, the RAM disk size configured into the boot image is used.
- read-only
- This specifies that the root file system should be mounted read-only. Typically, the system startup procedure re-mounts the root file system read-write later (e.g. after fsck'ing it).
- read-write
- This specifies that the root file system should be mounted read-write.
- root=root-device
- This specifies the device that should be mounted as root.
- proll=filename
- This should be only used for JavaStation flash installs. It specifies a file that will be loaded at boot time and executed in order to emulate old Sun v2 PROM on top of IEEE P1275 PROM called PROLL.
- initrd=filename
- Specifies the file that will be loaded at boot time as the
initial RAM disk. Example:
initrd=/images/initrd.img
initrd=/initrd1.img|/initrd2.img
initrd-size=1700000
initrd-prompt
- initrd-size=size
- When more than one initial ramdisk part is specified in the initrd setting, this option is required to be the sum of sizes of all the images mentioned on that line, in bytes. It is required so that SILO can reserve space for the image, eventhough size of some parts has not been determined yet.
- initrd-prompt
- If more than one initial ramdisk part is specified, wait for user pressing a key between loading the different images, so that the user can exchange media. This flag is needed if some initrd parts reside on the same device, but different removable media. On the other side, if you e.g. load one part from a floppy and the second part from a hard disk, such option is not needed (the question is who'd write something like that into silo.conf).
- bootblock=filename
- For the other image section, if booting from some
partition is desired but the bootblock on that partition has been saved
off to some file and the bootblock in that partition contains something
else (e.g. SILO bootblock), this option specifies the name of the file
where the bootblock has been saved to. SILO loads the image from that
file, pretends as if it had loaded it from the specified partition and
executes it. This is e.g. useful if you have Solaris installed on the
first partition of the disk and want to install SILO into the master boot
record (ie. bootblock of the first partition). Then you should first save
the Solaris bootblock into some file, e.g. by issuing:
dd if=/dev/sda of=/boot/old.b bs=512 count=15 skip=1
other=1
bootblock=/boot/old.b
- fill-reboot-cmd
- This flag should be used only with Linux kernels. If specified for an image, it causes the file /proc/sys/kernel/reboot-cmd to be initialized by the device SILO has been booted from, image name of the kernel beeing loaded and all arguments to it specified either in the configuration file, or on the input line. This means that if the user does not modify that file and reboots the system, it should load the same kernel as last time and pass it the same arguments.
- pause-after
- If this flag is specified, SILO will stop after loading the kernel (and initial ramdisks if specified) and ask the user to press a key before continuing.
- pause-message=string
- If pause-after is specified, this variable specifies
the string to print to the user when asking him to press a key. The
default is:
Press ENTER to continue.
- single-key
- Enables booting the image by hitting a single key when the cursor is at the first character in the input line, without the need to press <ENTER> afterwards. single-key requires that either the image's label or its alias (or both) is a single character. If you need to specify parameters for such an image, or if you want to boot some other image which happens to start with the same letter, then you need to start the input line with at least one space which will be removed before processing but will disable this single-key feature.
- solaris
- This flag tells SILO that the image to be loaded is a
Solaris kernel. This has been implemented so that users don't have to save
the old Solaris bootblock or in case it has been lost. SILO then tries to
use the Solaris ufsboot second stage loader to load specified kernel
image. The usual kernel name is /kernel/unix (SILO automatically
prepends the /platform/<platform> path before it if needed).
SILO recognizes the special pathname /kernel/unix (with any device
and/or partition) though and assumes the solaris flag for it by
default. Note that this method of loading Solaris might not work for you,
as it is quite error prone due to different versions of Solaris and
different PROMs. The recommended solution for sharing Solaris and Linux on
the same disk is to install SILO into the Linux's own partition bootblock
(as opposed to the master bootblock) and add PROM aliases to boot from the
devices. E.g. if Solaris is installed on Linux device sda1 and Linux on
sda4, silo.conf could look like this:
partition=4
timeout=50
image=/boot/vmlinux
label=linux
root=/dev/sda4
other=1
label=solaris
/sbin/silo -t
setenv boot-device /sbus/espdma/esp/sd@0,0:d
nvalias linux /sbus/espdma/esp/sd@0,0:d
nvalias solaris /sbus/espdma/esp/sd@0,0:a
AUTHOR¶
SILO has been written by Jakub Jelinek <jakub@redhat.com> and the SparcLinux team (see documentation on the list of contributors).AVAILABILITY¶
The latest version of the sources may be obtained by ftp/http from http://www.sparc-boot.org/SEE ALSO¶
silo(8)20 September 1999 | SILO |