The ROM Monitor is a bootstrap program that initializes the CRS hardware and boots the Cisco IOS XR software when you power on or reload a router. A version of the ROM Monitor software exists on each card and is factory supplied. The ROM Monitor program provides an initial power-on environment for each card. If the Cisco IOS XR software is rebooted or unable to run, the corresponding card returns to the ROM Monitor mode.
When you connect a terminal to a card that is in the ROM Monitor mode, the ROM Monitor CLI prompt is displayed.
Cisco CRS Prompt
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 XR software, ROM Monitor is a separate program from the Cisco IOS XR software. During normal startup, the ROM Monitor initializes the cards, and then control passes to the Cisco IOS XR software. After the Cisco IOS XR software takes over, ROM Monitor is no longer in use.
A copy of the ROM Monitor software exists on each card. If a card fails to boot the Cisco IOS XR software, the ROM Monitor software takes control and places the card in ROM Monitor mode. Because a card in ROM Monitor mode is not running the Cisco IOS XR software, that card becomes unavailable for normal router operations.
Understanding the Role of the DSC
The active Route Processor (RP) for the owner Secure Domain Router (SDR) is called the Designated Shelf Controller (DSC). This card performs system-wide functions, including the creation of additional non-owner SDRs. If the active DSC is placed in ROM Monitor mode, it is no longer running the Cisco IOS XR software. If a standby DSC is available, the standby RP resumes router operations. If a standby DSC is not available or is also placed in the ROM Monitor mode, then router operations stop.
In addition to the DSC, each SDR in the system contains at least one DSDRSC. The DSDRSCs provide configuration and administrative functions for a single SDR only. The DSC also serves as the DSDRSC for the owner SDR.
When the Designated Secure Domain Router Shelf Controller (DSDRSC) in an SDR is placed in ROM Monitor mode, the router operations are transferred to the standby DSDRSC (if available). If both the primary and standby DSDRSCs are in ROM Monitor mode, then the router operations cease because the Cisco IOS XR software is no longer running.
Accessing ROM Monitor Mode on the DSC
In most situations, you interact with the ROM Monitor mode only on the DSC(DSDRSC for the owner SDR). The DSC contains the administration configuration for the entire system and distributes the required software to all the other nodes in the router. All the tasks in this document describe ROM Monitor mode accessed through the DSC for the system.
Remember, the DSC is also the Active RP of rack 0 and DSDRSC for the owner SDR.
Environmental Variables and the Configuration Register
Two primary connections exist between ROM Monitor and the Cisco IOS XR software: the ROM Monitor environment variables and the configuration register.
The ROM Monitor environment variables define the location of the Cisco IOS XR software and describe how to load it. After ROM Monitor has initialized the card, it uses the environment variables to locate and load the Cisco IOS XR software. The common environment variables are BOOT, IP_ADDRESS, DEFAULT_GATEWAY, TFTP_FILE, TURBOBOOT and SUBNET_MASK.
The configuration register is a software setting that controls how a card starts up. One of the primary uses of the configuration register is to control whether the card 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 XR software prompt on the active RP when you need to use ROM Monitor mode. When the maintenance in ROM Monitor mode is complete, you change the configuration register so the card reboots with the Cisco IOS XR software.
Throughout this guide, the term RP is used to refer to the RP cards supported on Cisco CRS routers. If a feature or an issue applies to only one platform, the accompanying text specifies the platform.
Accessing ROM Monitor Mode with a Terminal Connection
When an RP 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 XR software (EXEC mode) is not operating, the nonmanagement interfaces (such as POS interfaces) are not accessible. Basically, all Cisco IOS XR software resources are unavailable. The hardware is there, but no configuration exists to make use of the hardware.
Network Management Access and ROM Monitor Mode
Some people get confused when they start to use ROM Monitor mode. It is important to remember that ROM Monitor mode is a router mode, not a mode within the Cisco IOS XR software. It is best to remember that ROM Monitor software and the Cisco IOS XR 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 XR 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 XR software. When the router is in ROM Monitor mode, however, the router is not running the Cisco IOS XR software, so that Management Ethernet interface configuration is not available.
To access other devices, such as a TFTP server, while in ROM Monitor mode on the Cisco CRS, you must configure the ROM Monitor variables with IP access information.
Entering ROM Monitor Mode
The following sections describe two ways to enter ROM Monitor mode:
Before you place a DSC in ROM Monitor mode, verify that the system is in a steady state:
Prepare the DSC:
Anticipate substantial downtime, including the loss of packet forwarding on the system.
Verify the sanity of the configuration file system using the cfs check command in EXEC mode.
Verify that all changes to the active router configuration are saved with the commit command in any configuration mode.
Verify that all changes to the active software set are saved with the install commit command in Administration EXEC mode.
Verify that all install commit processes are complete with the show install committed command in Administration EXEC mode. This command displays the committed packages that become active during the next router boot. If any of the processes are not committed, use the install commit command in the Administration mode.
Verify that the other nodes in the system are in a steady state:
If a standby RP is installed, verify that it is in the ready state with the show redundancy command in EXEC mode.
Verify that all available nodes in the system are in IOS XR RUN state with the show platform command in EXEC mode.
After you have verified that the system is in a stable state, you can enter ROM Monitor mode by setting the configuration register setting and entering the reload command, as described in the following steps:
Resetting the Configuration Register and Reloading a DSC to ROM Monitor Mode
In normal operating conditions, it should not be necessary to use ROM Monitor mode. If you do find it necessary to place a designated shelf controller (DSC) in ROM Monitor mode, make sure that the system is in a steady state and that you are prepared for the consequences of a system reload.
1.Verify the router is in a steady state.
2.Connect a terminal to the DSC console port and log in to the router.
4.config-register 0x0exitreload or config-register 0x0 location allreload location all
Command or Action
Verify the router is in a steady state.
Ensures that all configurations are saved and that no installation processes are running.
Connect a terminal to the DSC console port and log in to the router.
Connects a terminal or PC to the DSC console port and establishes a router management session.
For more information on connecting a terminal, see Connecting and Communicating with the Router in Cisco IOS XR Getting Started Guide for the Cisco CRS Router.
Enters administration EXEC mode.
config-register 0x0exitreload or config-register 0x0 location allreload location all
register 0x0RP/0/RP0/CPU0:router(admin)# exit
register 0x0 location all
RP/0/RP0/CPU0:router(admin)# reload location all
Enter the following commands to place only the DSC in ROM Monitor mode:
Enter the config-register 0x0 command to set the configuration register for ROM Monitor mode during the next card reload.
Enter the exit command to exit administration EXEC mode.
Enter the reload command to reload the DSC and enter ROM Monitor mode.
If there is a standby DSC, the configuration register on the standby DSC is also set to 0x0. When you place the active RP in ROM Monitor mode, the system fails over to the standby RP, which then becomes the active RP. If both RPs need to be in ROM Monitor mode, connect to the new active RP and enter the reload command.
Enter the following commands to place all RPsand SCs in ROM Monitor mode:
Enter the config-register 0x0location all command to reset the configuration register for all RPs in the system.
Enter the reload location all command in administration EXEC mode to reload all RPs in the system.
Make sure you have access to the console ports of both RPs on the system. To enter the system to the ROM Monitor mode, press Ctrl-C a few times on both RP consoles until you get to the ROM Monitor mode.
Resetting the configuration register may change the baud rate for the console. The default baud rate is 9600.
To verify the configuration register setting, enter the show variables boot command in the administration EXEC mode.
Verifying the Router State: Example
The following example shows the redundancy roles of both RPs and shows that both are operating in IOS XR RUN state:
Redundancy information for node 0/RP0/CPU0:
Node 0/RP0/CPU0 is in ACTIVE role
Partner node (0/RP1/CPU0) is in STANDBY role
Standby node in 0/RP1/CPU0 is ready
Standby node in 0/RP1/CPU0 is NSR-ready
Reload and boot info
RP reloaded Mon May 17 21:51:57 2010: 2 weeks, 5 days, 6 hours, 20 minutes ago
Active node booted Mon May 17 21:51:57 2010: 2 weeks, 5 days, 6 hours, 20 minutes ago
Standby node boot Mon May 17 21:51:32 2010: 2 weeks, 5 days, 6 hours, 20 minutes ago
Standby node last went not ready Mon May 17 22:03:03 2010: 2 weeks, 5 days, 6 hours, 9 minutes ago
Standby node last went ready Mon May 17 22:03:03 2010: 2 weeks, 5 days, 6 hours, 9 minutes ago
Standby node last went not NSR-ready Fri Jun 4 17:59:52 2010: 1 day, 10 hours, 12 minutes ago
Standby node last went NSR-ready Fri Jun 4 18:00:28 2010: 1 day, 10 hours, 11 minutes ago
There have been 0 switch-overs since reload
Active node reload "Cause: Lost DSC"
Standby node reload "Cause: User reload request"
Sun Jun 6 04:14:44.888 DST
Node Type PLIM State Config State
0/6/CPU0 MSC Jacket Card IOS XR RUN PWR,NSHUT,MON
0/6/0 MSC(SPA) 4XOC3-POS OK PWR,NSHUT,MON
0/6/1 MSC(SPA) 1x10GE OK PWR,NSHUT,MON
0/6/4 MSC(SPA) 8XOC3/OC12-POS OK PWR,NSHUT,MON
0/6/5 MSC(SPA) 8X1GE OK PWR,NSHUT,MON
0/RP0/CPU0 RP(Active) N/A IOS XR RUN PWR,NSHUT,MON
0/RP1/CPU0 RP(Standby) N/A IOS XR RUN PWR,NSHUT,MON
Placing the DSC in ROM Monitor Mode: Example
The following example shows how to place the RP0 in the ROM Monitor mode:
RP/0/RP0/CPU0:router# adminRP/0/RP0/CPU0:router(admin)# config-register0x0RP/0/RP0/CPU0:router(admin)# reload
Proceed with reload? [confirm]
System Bootstrap, Version 12.0(20040624:164256) [assafb-misc1 1.14dev(0.91)] DEV
Copyright (c) 1994-2004 by cisco Systems, Inc.
DRAM DIMM Slot 1: 512M found, Slot 2: Empty
MPC7450 platform with 524288 Kbytes of main memory
rommon 1 >
Configuring MPPs ...
Configuring PCMCIA slots ...
System Bootstrap, Version 2.06 ,
Copyright (c) 1994-2009 by Cisco Systems, Inc.
Acquiring backplane mastership .... successful
Preparing for fan initialization............. ready
Setting fan speed to 4000 RPMs successful
Reading backplane EEPROM ...
Released backplane mastership ...
Board type is 0x100002 (1048578)
Switch 0 initialized
Backplane FE port Up... Enabling
G4(7457-NonSMP-MV64360 Rev 3) platform with 4096 MB of main memory
rommon B1 >
Manually Halting the Initialization Process During System Reload
To force the DSC to stop loading and enter ROM Monitor mode, press Ctrl-C when you see the following message:
MBI validation sending request.
HIT Ctrl-Cto abort
TYPE 'Send Break'to abort
This message usually appears during the first 20 seconds of system startup. Press the Ctrl-C key combination immediately. It may be necessary to press the Ctrl-C keys repeatedly during this time to ensure that the initialization process stops and the system enters ROM Monitor mode. This ends your Telnet session to the console or auxiliary port.
This operation can be performed only from a terminal directly connected to the DSC console port. For more information, see the “Connecting and Communicating with the Router” section in Cisco IOS XR Getting Started Guide for the Cisco CRS Router.
When the DSC is placed in ROMMON, it switches over to the standby DSC, which can then also be placed in ROMMON. Repeat this process for both RP cards.
ROM Monitor Commands
The commands in the ROM Monitor mode are different from those available in the Cisco IOS XR software. You can run ROM Monitor commands only while in ROM Monitor mode, and you cannot run Cisco IOS XR software commands. This section includes the following topics:
The table below 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
Manually boots a vm Cisco IOS XR software image.
Manually boots the Cisco IOS XR software with a temporary alternative administration configuration file.
Manually boots the Cisco IOS XR software with an alternative SDR configuration file.
Changes the config-register setting.
When the value of confreg is 0, it means autoboot is disabled and you need to manually boot the Cisco IOS XR software image from the ROM Monitor mode. However, if the value of confreg is non-zero value of 0x2, it means autoboot is enabled and the ROM Monitor mode automatically boots the Cisco IOS XR software image given in the BOOT= environment variable.
Displays the available local storage devices (for example, disk0: and disk1:).
Displays the files on a storage device.
Displays the chassis serial number in a Cisco CRS router.
Resets the node.
Displays the currently set ROM Monitor environmental settings.
Saves the new ROM Monitor environmental settings.
Removes an environmental variable setting.
Displays the ROM Monitor version.
Displaying the Available ROM Monitor Commands
The table below describes the available help commands for ROM Monitor mode.
Table 2 Help Commands in ROMMON
help or ?
Displays a summary of all available ROM Monitor commands.
Displays information about command syntax.
Commands are case sensitive. You can halt any command by pressing Ctrl-C.
Displaying the Available ROM Monitor Commands: Examples
The following example shows what appears when you enter the ? command on a Cisco CRS:
rommon B5 > ?
addrloop walk 1 thru range of addresses
alias set and display aliases command
alter alter locations in memory
bcm_init Initialise Broadcom switch for ROMMON
getPciReg Get BCM 5600 PCI memory mapped Reg.
setPciReg Set BCM 5600 PCI Memory mapped Reg.
getSocReg Get BCM 5600 On-chip reg value
setSocReg Set BCM 5600 On-chip reg value
getMiiReg Get BCM 5600 FE PHY Regs.
setMiiReg Set BCM 5600 FE PHY Regs.
bcm_links_update Update links status of BCm 5600
show_bcm_regs Show all Broadcom switch registers
show_bcm_raw Show Broadcom Switches port info
berrscan scan range of addresses for bus errors
boot boot up an external process
break set/show/clear the breakpoint
call call a subroutine at address with converted hex args
cat concatenate files
checksum checksum a block of memory
clrerr clear the error log
compare compare two blocks of memory
dcompare compare two blocks of memory accessed as 8 bytes
confreg configuration register utility
cont continue executing a downloaded image
context display the context of a loaded image
cpu cpu / system information and control
dev list the device table
dir list files in file system
dis disassemble instruction stream
dnld serial download a program module
dump display a block of memory
ddump display a block of memory as double words
echo monitor echo command
errlog display the error log
fdump file dump utility
fill fill a block of memory
dfill fill a block of memory with double words
dpar test the CPU bus data parity
flash flash services command
frame print out a selected stack frame
getPci0ConfigReg print out PCI0 config space reg
getPci1ConfigReg print out PCI1 config space reg
setPci0ConfigReg set PCI0 config space reg
setPci1ConfigReg set PCI1 config space reg
help monitor builtin command help
history monitor command history
hang_i2c_bus cause a hang on the I2C bus
test_unhang_i2c_bus cause unhang sequence to be generated on the I2C bus
ifill fill a block of memory w/incrementing pattern
initfs re-initialize the file system access structures
jump call a subroutine at address with argc/argv
launch launch a downloaded image
memdebug write/read/verify scope loop
meminfo main memory information
memloop write or read scope loop
memtest simple memory test
move move a block of memory
pingdsc validate MBI and rack number w/ the dSC
prt6729 print CLPD6729 internal registers
dmove move a block of memory accessed as 8 bytes
dumpspd Dump the Serial Presents Detect info from the SDRAM DIMMs
dumpplaneeeprom Dump the contents of the back plane
dumpphys Dumps registers of all ethernet phys
readi2c read an I2c device
repeat repeat a monitor command
reset system reset
resetd dump core and reset a card
resetsp reset an sp card
scanpci0 scan for devices on PCI bus 0
scanpci1 scan for devices on PCI bus 1
set display the monitor variables
setprocmask Change the mask of CPUs passed to the OS in EMT_GET_SMP_MASK
setromA Set rommon to force it to rommon A upon next reset
showerr show crash error message
smptest Test the other CPU on an SMP board
speed timed performance loop
stack produce a stack trace
sync write monitor environment to NVRAM
tcal timer calibration test
tftpdnld tftpdnld no longer available, use boot
tscope timer scope loop
unalias unset an alias
unset unset a monitor variable
version display rommon software, board, version
watchdog test watchdog rebooting of the box
writei2c Write to an I2C device
The following example shows the parameters for the dir (directory) command:
rommon B5> dir -?
bad device name
usage: dir <device>
Fat 32 devices are not readable from ppc ROMMON.
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 B5> PS1= “CRS_rp1_rommon
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 is CRS_rp1_rommon followed 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 B5> confreg
(Virtual Configuration Register: 0x0)
console baud: 9600
boot: the ROM Monitor
do you wish to change the configuration? y/n [n]:
The configuration register setting is labeled Virtual Configuration Register. Enter the no command to avoid changing the configuration register setting.
The ROM Monitor environment variables define the attributes of the ROM Monitor, such as the IP address for an RP control Ethernet port or the location of the Cisco IOS XR software and describe how to load it. 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:
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.
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 Cisco CRS Router:
Perform this task to reset the configuration register in ROM Monitor mode and start the RP in EXEC mode.
Command or Action
rommon B1> confreg 0x102
Resets the configuration register to enter EXEC mode after the system is reset.
rommon B1> reset
Resets and initializes the router.
Resetting the Configuration Register Using Prompts
To change the configuration register settings in the ROM Monitor mode, enter the confreg command at the ROM Monitor mode. Entering this command displays the configuration summary and the prompts used to change the configuration.
2.Respond to each prompt as instructed.
Command or Action
rommon B1> confreg
Starts the configuration register configuration prompts.
Respond to each prompt as instructed.
See the example that follows this procedure for more information.
rommon B2> reset
Resets and initializes the router.
The following sections provide references related to the ROM Monitor.
Display chassis serial numbers (Cisco CRS Routers)
Displaying the Chassis Serial Numbers in Cisco IOS XR System Management Configuration Guide for the Cisco CRS Router
Connecting a terminal to a router
Connecting and Communicating with the Router in Cisco IOS XR Getting Started Guide for the Cisco CRS Router
The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.
To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.