ROM Monitor Overview and Basic Procedures

ROM Monitor Overview and Basic Procedures

This chapter provides an overview of ROM Monitor concepts and operations.

This chapter includes the following main topics:

ROM Monitor Overview

The ROM Monitor is a bootstrap program that initializes the hardware and boots the Cisco IOS XE software when you power on or reload a router. When you connect a terminal to the router that is in ROM Monitor mode, the ROM Monitor command-line interface (CLI) prompt is displayed.

If your system (router, switch, or access server) does not find a valid system image to load when it is booting, the system will enter the ROM monitor mode. ROM monitor (ROMMON) mode can also be accessed by interrupting the boot sequence during startup.

The ROM monitor mode is used to:

  • specify config-register value to use for the next boot up

  • boot a valid IOS XE image

  • bypass NVRAM settings and config-register value for password recovery

The ROM Monitor software is known by many names. It is sometimes called ROMMON because of the CLI prompt in ROM Monitor mode. The ROM Monitor software is also called the boot software , boot image , or boot helper . Although it is distributed with routers that use the Cisco IOS XE software, ROM Monitor is a separate program from the Cisco IOS XE software. During normal startup, the ROM Monitor initializes the router, and then control passes to the Cisco IOS XE software. After the Cisco IOS XE software takes over, ROM Monitor is no longer in use.

Environmental Variables and the Configuration Register

Two primary connections exist between ROM Monitor and the Cisco IOS XE software: the ROM Monitor environment variables and the configuration register.

The ROM Monitor environment variables define the location of the Cisco IOS XE software and describe how to load it. After ROM Monitor has initialized the router, it uses the environment variables to locate and load the Cisco IOS XE software.

The configuration register is a software setting that controls how a router starts up. One of the primary uses of the configuration register is to control whether the router starts in ROM Monitor mode or Administration EXEC mode. The configuration register is set in either ROM Monitor mode or Administration EXEC mode as needed. Typically, you set the configuration register using the Cisco IOS XE software prompt when you need to use ROM Monitor mode. When the maintenance in ROM Monitor mode is complete, you change the configuration register so the router reboots with the Cisco IOS XE software.

Accessing ROM Monitor Mode with a Terminal Connection

When the router is in ROM Monitor mode, you can access the ROM Monitor software only from a terminal connected directly to the console port of the card. Because the Cisco IOS XE software (EXEC mode) is not operating, the nonmanagement interfaces are not accessible. Basically, all Cisco IOS XE software resources are unavailable.

Network Management Access and ROM Monitor Mode

ROM Monitor mode is a router mode, not a mode within the Cisco IOS XE software. ROM Monitor software and the Cisco IOS XE software are two separate programs that run on the same router. At any given time, the router is running one of these programs, but it never runs both at the same time.

One area that can be confusing when using ROM Monitor and the Cisco IOS XE software is the area that defines the IP configuration for the Management Ethernet interface. Most router users get comfortable with configuring the Management Ethernet interface in the Cisco IOS XE software. When the router is in ROM Monitor mode, however, the router is not running the Cisco IOS XE software, so that Management Ethernet interface configuration is not available.

When you want to access other devices, such as a TFTP server, while in ROM Monitor mode on the router, you must configure the ROM Monitor variables with IP access information.

Entering ROM Monitor Mode

The following sections describe how to enter the ROMMON mode, and contains the following sections:

Checking the Current ROMmon Version

To display the version of ROMmon running on a router, use the show rom-monitor command or the show platform command.

Router# show rom-monitor r0

System Bootstrap, Version 12.2[16.6(1r)RC3], DEVELOPMENT SOFTWARE
Copyright (c) 1994-2017 by cisco Systems, Inc.
Compiled at Fri Jul 28 13:07:32 2017 by user5

Router# show platform
Chassis type: C1111-8PLTELAWN

Slot      Type                State                 Insert time (ago) 
--------- ------------------- --------------------- ----------------- 
0         C1111-8PLTELAWN     ok                    00:04:56      
 0/0      C1111-2x1GE         ok                    00:02:41      
 0/1      C1111-ES-8          ok                    00:02:40      
 0/2      C1111-LTE           ok                    00:02:41      
 0/3      ISR-AP1100AC-N      ok                    00:02:41      
R0        C1111-8PLTELAWN     ok, active            00:04:56      
F0        C1111-8PLTELAWN     ok, active            00:04:56      
P0        PWR-12V             ok                    00:04:30      

Slot      CPLD Version        Firmware Version                        
--------- ------------------- --------------------------------------- 
0         17100501            16.6(1r)RC3                         
R0        17100501            16.6(1r)RC3                         
F0        17100501            16.6(1r)RC3                         

Commonly Used ROM Monitor Commands

This table summarizes the commands commonly used in ROM Monitor. For specific instructions on using these commands, refer to the relevant procedure in this document.

Table 1 Commonly Used ROM Monitor Commands

ROMMON Command

Description

boot image

Manually boots a Cisco IOS XE software image.

confreg

Changes the config-register setting.

dev

Displays the available local storage devices.

dir

Displays the files on a storage device.

reset

Resets the node.

set

Displays the currently set ROM Monitor environmental settings.

sync

Saves the new ROM Monitor environmental settings.

unset

Removes an environmental variable setting.

Displaying the Available ROM Monitor Commands

This topic describes the available help commands for ROM Monitor mode.

Table 2 Help Commands in ROMMON

Command

Description

help or ?

Displays a summary of all available ROM Monitor commands.

-?

Displays information about command syntax.


Note


Commands are case-sensitive. You can halt any command by pressing Ctrl-C.
Examples

The following example shows what appears when you enter the ? command on a router:

rommon 2 > ?
alias     set and display aliases command
boot      boot up an external process
confreg   configuration register utility 
dev       list the device table
dir       list files in file system
help      monitor builtin command help
history   monitor command history
meminfo    main memory information
repeat     repeat a monitor command
reset      system reset
set        display the monitor variables
showmon    display currently selected ROM monitor
sync       write monitor environment to NVRAM
token      display board's unique token identifier
unalias     unset an alias
unset       unset a monitor variable	

Changing the ROM Monitor Prompt

You can change the prompt in ROM Monitor mode by using the PS1= command as shown in the following example:

rommon 8 > PS1="ISR1110 rommon ! > "
ISR1110 rommon 9 > 

Changing the prompt is useful if you are working with multiple routers in ROM Monitor at the same time. This example specifies that the prompt should be “ISR1110 rommon ”, followed by the line number, and then followed by “ > “ by the line number.

Displaying the Configuration Register Setting

To display the current configuration register setting, enter the confreg command without parameters as follows:

rommon 3 > confreg

Configuration Summary
(Virtual Configuration Register: 0x0)	
enabled are:
[ 0 ] break/abort has effect
[ 1 ] console baud: 9600
boot:...... the ROM Monitor
do you wish to change the configuration? y/n [n]: n

The configuration register setting is labeled Virtual Configuration Register . Enter the no command to avoid changing the configuration register setting.

Environment Variable Settings

The ROM Monitor environment variables define the attributes of the ROM Monitor. Environmental variables are entered like commands and are always followed by the equal sign (=). Environment variable settings are entered in capital letters, followed by a definition. For example:

IP_ADDRESS=10.0.0.2

Under normal operating conditions, you do not need to modify these variables. They are cleared or set only when you need to make changes to the way ROM Monitor operates.

This section includes the following topics:

Frequently Used Environmental Variables

The table shows the main ROM Monitor environmental variables. For instructions on how to use these variables, see the relevant instructions in this document.

Table 3 Frequently Used ROM Monitor Environmental Variables

Environmental variable

Description

IP_ADDRESS=ip_address

Sets the IP address for the Management Ethernet interface.

IP_SUBNET_MASK=ip_address

Sets the subnet mask for the Management Ethernet interface.

DEFAULT_GATEWAY=ip_address

Sets the default gateway that serves.

TFTP_SERVER=ip_address

Sets the IP address of the TFTP server where a bootable software image is located.

TFTP_FILE=path/file

Sets the directory and filename of a bootable software image.

BOOT=path/file

Identifies the boot software for a node. This variable is usually set automatically when the router boots.

Displaying Environment Variable Settings

To display the current environment variable settings, enter the set command :

rommon 1 > set
PS1=rommon ! >
LICENSE_SUITE=
LICENSE_BOOT_LEVEL=
MCP_STARTUP_TRACEFLAGS=00000000:00000000
RET_2_RTS=
RANDOM_NUM=1721712417
BSI=0
RET_2_RCALTS= 

Entering Environment Variable Settings

Environment variable settings are entered in capital letters, followed by a definition. The following example shows the environmental variables used to configure the control Ethernet port on a router:

rommon > IP_ADDRESS=10.0.0.2

Saving Environment Variable Settings

To save the current environment variable settings, enter the sync command:

rommon > sync

Note


Environmental values that are not saved with the sync command are discarded whenever the system is reset or booted.

Exiting ROM Monitor Mode

To exit ROM Monitor mode, you must change the configuration register and reset the router.

SUMMARY STEPS

    1.    confreg

    2.    Respond to each prompt as instructed.

    3.    reset


DETAILED STEPS
     Command or ActionPurpose
    Step 1confreg


    Example:
    rommon 1> confreg
     

    Initiates the configuration register configuration prompts.

     
    Step 2 Respond to each prompt as instructed. 

    See the example that follows this procedure for more information.

     
    Step 3reset


    Example:
    rommon 2> reset
     

    Resets and initializes the router.

     

    Configuration Example

    rommon 5 > confreg
    
    Configuration Summary
    (Virtual Configuration Register: 0x0)
    enabled are:
    [ 0 ] break/abort has effect
    [ 1 ] console baud: 9600
    boot:...... the ROM Monitor
    do you wish to change the configuration? y/n [n]: y
    enable "diagnostic mode"? y/n [n]:
    disable "break/abort has effect"? y/n [n]:
    enable "ignore system config info"? y/n [n]:
    change console baud rate? y/n [n]:
    change the boot characteristics? y/n [n]:
    
    
    Configuration Summary
    (Virtual Configuration Register: 0x0)
    enabled are:
    [ 0 ] break/abort has effect
    [ 1 ] console baud: 9600
    boot:...... the ROM Monitor
    do you wish to change the configuration? y/n [n]:
      
    

    Upgrading the ROMmon for a Router

    Use this procedure to upgrade the ROMmon on a router:

    SUMMARY STEPS

      1.    (Optional) Run the show platform command or the show rom-monitor slot command on the router to see the current release numbers of ROMmon on the hardware.

      2.    If the ROMmon image has not been copied onto the router, copy the PKG file that is made available as part of this ROMmon release onto the bootflash: or usb[0-1]: file system using the copy source-location destination-location command.

      3.    Run the dir file-system command to verify that the ROMmon file is copied into the specified directory.

      4.    Run the upgrade rom-monitor filename location all command to begin the ROMmon image upgrade, where location is the path to the ROMmon file.

      5.    Messages pertaining to the upgrade are displayed on the console. After the display of these messages stops and the router prompt is available, run the reload command to reload the router.

      6.    If autoboot has not been enabled by using the config-register 0x2102 command, run the boot filesystem:/file-location command at the ROMmon prompt to boot the Cisco IOS XE image, where filesystem:/file-location is the path to the consolidated package file. The ROMmon upgrade is not permanent for any piece of hardware until the Cisco IOS XE image is booted.

      7.    Run the enable command at the user prompt to enter the privileged EXEC mode after the boot is complete.

      8.    Run the show platform command or the show rom-monitor slot command to verify whether the ROMmon has been upgraded.


    DETAILED STEPS
      Step 1   (Optional) Run the show platform command or the show rom-monitor slot command on the router to see the current release numbers of ROMmon on the hardware.
      Step 2   If the ROMmon image has not been copied onto the router, copy the PKG file that is made available as part of this ROMmon release onto the bootflash: or usb[0-1]: file system using the copy source-location destination-location command.
      Step 3   Run the dir file-system command to verify that the ROMmon file is copied into the specified directory.
      Step 4   Run the upgrade rom-monitor filename location all command to begin the ROMmon image upgrade, where location is the path to the ROMmon file.
      Caution    Do not remove hardware, turn off power, or interrupt the router in any way during the ROMmon upgrade. Although the router should be able to recover from most interruptions during the ROMmon upgrade, certain scenarios may cause unpredictable problems.
      Step 5   Messages pertaining to the upgrade are displayed on the console. After the display of these messages stops and the router prompt is available, run the reload command to reload the router.
      Step 6   If autoboot has not been enabled by using the config-register 0x2102 command, run the boot filesystem:/file-location command at the ROMmon prompt to boot the Cisco IOS XE image, where filesystem:/file-location is the path to the consolidated package file. The ROMmon upgrade is not permanent for any piece of hardware until the Cisco IOS XE image is booted.
      Step 7   Run the enable command at the user prompt to enter the privileged EXEC mode after the boot is complete.
      Step 8   Run the show platform command or the show rom-monitor slot command to verify whether the ROMmon has been upgraded.