The Cisco IOS Software Boot Sequence

The basic boot sequence for a Cisco router is:

Step 1: The router performs a power-on self-test (POST) to discover and verify the hardware.

Step 2: The router loads and runs bootstrap code from ROM.

Step 3: The router finds the IOS or other software and loads it.

Step 4: The router finds the configuration file and loads it into running config.

All routers attempt all four steps each time that the router is powered on or reloaded. The POST code and functions cannot be changed by the router administrator. The location of the bootstrap code, the IOS to load, and the configuration file can be changed by the administrator-but you almost always use the default location for the bootstrap code (ROM) and for the initial configuration (NVRAM). So, the location of IOS or other software is the only part that typically is changed.

Three categories of operating systems can be loaded into the router:

• The full-function IOS image, which is typically located in Flash memory but can also be located on a TFTP server. This is the normal, full-feature IOS used in production;

• A limited-function IOS that resides in ROM; and provides basic IP connectivity when Flash memory is faulty and you need IP connectivity to copy a new IOS into Flash memory. This limited-function IOS is called RXBOOT mode.

• A different non-IOS operating system that is also stored in ROM. This operating system, called ROM Monitor (ROMMON) mode, is used for low-level debugging and for password recovery. Unless you are performing password recovery, you would seldom use ROMMON mode.

The configuration register tells the router whether to use a full-featured IOS, ROMMON, RXBOOT mode. The configuration register is a 16-bit software register in the router, and its value is set using the configregister global configuration command. The boot field is the name of the low-order 4 bits of the configuration register. This field can be considered a 4-bit value, represented as a single hexadecimal digit. If the boot field is hex 0, ROMMON is loaded. If the boot field is hex 1, RXBOOT mode is used. For anything else, it loads a full-featured IOS.

The second method used to determine where the router tries to obtain an IOS image is through the use of the boot system configuration command. If the configuration register calls for a full-featured IOS, the router reads the configuration file for boot system commands. If there are no boot system commands, the router takes the default action, which is to load the first file in Flash memory. Table 1.7 lists the configuration register and the boot system command.

Boot Filed Value Function
0x0 Loads ROMMON and ignores boot system commands.
0x1 Loads IOS from ROM and ignores boot system commands.
This is also known as RXBOOT mode.
0x2-0xF If used with the no boot command, the first IOS file in Flash
memory is loaded; if that fails, the router broadcasts looking for
an IOS on a TFTP server. If that fails, IOS from ROM is loaded.
0x2-0xF If used with the boot system ROM command, IOS from ROM is
loaded.
0x2-0xF If used with the boot system flash command, the first file
from Flash memory is loaded.
0x2-0xF If used with the boot system flash file_name command,
IOS with the specified file_name is loaded from Flash memory.
0x2-0xF If used with the boot system tftp file_name 10.1.1.1
command, IOS with the specified file_name is loaded from the
TFTP server.
0x2-0xF If used with multiple boot system commands, an attempt
occurs to load IOS based on the first boot command in
configuration. If that fails, the second boot command is used,
etc., until an IOS is loaded successfully.

TABLE 1.7: The boot system Commands

Bookmark this page | Make this your Homepage