All versions of SRM can boot from SCSI disks and the versions for
recent platforms, such as the Noname or AlphaStations can boot from
floppy disks as well. Network booting via bootp is supported.
Note that older SRM versions (notably the one for the Jensen)
cannot boot from floppy disks. Also, booting from IDE disk
drives is unsupported.

Booting Linux with SRM is a two step process: first, SRM loads and
transfers control to the secondary bootstrap loader. Then the
secondary bootstrap loader sets up the environment for Linux, reads
the kernel image from a disk filesystem and finally transfers control
to Linux.

Currently, there are two secondary bootstrap loaders for Linux:
the raw loader that comes with the Linux kernel and aboot
which is distributed separately. These two loaders are described in
more detail below.

SRM knows nothing about filesystems or disk-partitions. It simply
expects that the secondary bootstrap loader occupies a consecutive
range of physical disk sector, starting from a given offset. The
information on the size of the secondary bootstrap loader and the
offset of its first disk sector is stored in the first 512 byte
sector. Specifically, the long integer at offset 480 stores the
size of the secondary bootstrap loader (in 512-byte blocks) and
the long at offset 488 gives the sector number at which the
secondary bootstrap loader starts. The first sector also stores a
flag-word at offset 496 which is always 0 and a checksum at offset
504. The checksum is simply the sum of the first 63 long integers in
the first sector.

If the checksum in the first sector is correct, SRM goes ahead and
reads the size sectors starting from the sector given in the
sector number field and places them in virtual memory at
address 0x20000000. If the reading completes successfully,
SRM performs a jump to address 0x20000000.