The Cisco IOS Software Boot Sequence

Cisco routers perform the same types of tasks that a typical computer performs when you power it on or reboot (reload) it. Of course, most of us do not think about these details very often. The router performs some somewhat obvious steps, with one of those being tricky— namely, the process of choosing the location of the software to load and use in the router. And that software might not be IOS.

The boot process follows this basic litany:

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

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

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

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 that you have already been introduced to in this chapter.

■ A limited-function IOS that resides in ROM.

■ A different non-IOS operating system that also is stored in ROM. This operating system, called ROM Monitor, or ROMMON, is used for two purposes—for low-level debugging and for password recovery. Unless you are performing password recovery, you seldom will use ROMMON mode.

Table 7-5 lists the three operating system categories and their main functions.

Table 7-5 Three OS Categories for Routers

Operating System

Typical Location Where It Is Stored


Full-featured IOS


Full-featured, normal IOS used in production.

Limited-function IOS (RXBOOT mode)


Basic IP connectivity, used when Flash memory is broken and you need IP connectivity to copy a new IOS into Flash memory.



Low-level debugging, usually by the Cisco TAC and for password recovery.

You need to tell the router whether to use ROMMON, the limited-function IOS, or the full-featured IOS. Of course, most of the time you use the full-featured IOS in Flash memory. However, you might want to use IOS that resides on a TFTP server, or there could be multiple IOS images in Flash memory—and all of these options are configurable.

Two configuration tools tell the router what OS to load:

■ The configuration register

■ The boot system configuration command

First, the configuration register tells the router whether to use a full-featured IOS, ROMMON, or the limited-feature IOS, which also is called RXBOOT mode. The configuration register is a 16-bit software register in the router, and its value is set using the config-register global configuration command. (Some older routers had a hardware configuration register with jumpers on the processor card, to set bits to a value of 0 or 1.) On most Cisco routers, the default Configuration Register setting is hexadecimal 2102.

Figure 7-9 shows an example binary breakdown of the default value for the configuration register, which is hexadecimal 2102.

Figure 7-9 Binary Version of Configuration Register, Value Hex 2102

Bit Position, in Decimal Default Binary Value

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. (Cisco represents hexadecimal values by preceding the hex digit[s] with 0x—for example, 0xA would mean a single hex digit A.) 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. But which one?

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 (boot field 2-F), the router reads the startup-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 7-6 summarizes the use of the configuration register and the boot system command at initialization time, when the boot field's value implies that the router will look for boot commands.

Table 7-6 Impact of the boot system Command on Choice of IOS: Boot Field Between 2 and F

Boot System Commands


No boot command

Tries loading the following (in order): first file in flash; broadcasts looking for TFTP server and a default filename; IOS in ROM; or uses ROM Monitor.

boot system ROM

IOS from ROM is loaded.

boot system flash

The first file from Flash memory is loaded.

boot system flash filename

IOS with the name filename is loaded from Flash memory.

boot system tftp filename

IOS with the name filename is loaded from the TFTP server.

Multiple boot system commands, any variety

An attempt occurs to load IOS based on the first boot command the in configuration. If that fails, the second boot command is used, and so on, until one is successful.


14 13 12



9 8






2 1



0 1 0



0 1






0 1


Was this article helpful?

0 0

Post a comment