Sparc-Boot.org logo

·What is SILO?
·How does it work?
·Installation
·Configuration
·Using SILO
·Using TILO
·Download
·Changes
·Documentation
·Mailing Lists
·Links
·Credits
·Code License

How does it work?

At boot time, after hardware checks and device initialization are performed, the PROM of a SPARC loads a boot block from a boot device such as a hard disk drive, CD-ROM, or a network card. This boot block is so short (512 Bytes) that a full featured boot loader will not fit into this space, especially since file systems like ext2 reserve only 1024 Bytes for a boot block, while the partition table itself already takes up 512 Bytes.

To overcome this lack of space, SILO consists of a collection of stage loaders, as shown in the figure below:

silo boot flowchart

The first stage boot loader (/boot/first.b), written completely in assembly language, is used only to retrieve a second stage boot loader (/boot/second.b). This second stage boot loader loads the actual operating system. It understands file systems, allowing the parsing of the configuration file and the handling of compressed files. It also provides a command-line interface to interactively select entries from the configuration file, to add boot parameters, or to load a path you entered on the SILO command line prompt. See Using SILO for more information about using the SILO prompt.

The program /sbin/silo is used to install the first stage loader by copying the right first stage loader into the boot block (unless the correct first stage is already installed and the -f option is not used to force the installation).

/sbin/silo then writes the block number of the first block of the second stage boot loader (usually /boot/second.b) into it, and then records all the block numbers of second.b and the name and location of the configuration file into the second stage boot loader.

If the file old.b can't be found in the /boot directory, the old boot loader will be copied there by /sbin/silo.

The configuration file /etc/silo.conf is parsed by the actual boot loader at boot time. This means that the /sbin/silo program must be run only if you install a new version of SILO or if you move the second stage boot loader on the disk. This is different from the LILO boot loader on the i386 platform where you must run LILO each time when you have installed new kernel images or operating systems.

Last update: Sunday August 17, 2003 - pkrul at auxio.org