Rommon Mode Recovery
Rommon Mode Recovery
Rommon Mode Recovery
ROM Monitor
This appendix describes the Cisco router ROM monitor (also called the bootstrap program). The ROM monitor firmware runs when the router is powered up or reset. The firmware helps to initialize the processor hardware and boot the operating system software. You can perform certain configuration tasks, such as recovering a lost password or downloading software over the console port, by using the ROM monitor. If there is no Cisco IOS software image loaded on the router, the ROM monitor runs the router. This appendix contains the following sections:
Entering the ROM Monitor ROM Monitor Commands Command Descriptions Disaster Recovery with TFTP Download Configuration Register Console Download
B-1
ROM Monitor
Follow these steps to configure the router to boot up in ROM monitor mode the next time it is rebooted. Command
Step 1
Router Prompt
Router>
Task If there is an enable password configured, enter the enable command and the enable password to enter privileged EXEC mode. Enter global configuration mode. Reset the configuration register. Exit global configuration mode. Reboot the router with the new configuration register value. The router remains in ROM monitor and does not boot the Cisco IOS software. As long as the configuration value is 0x0, you must manually boot the operating system from the console. See the boot command in the Command Descriptions section on page B-4.
enable
Step 6
rommon 1>
After the router reboots, it is in ROM monitor mode. The number in the prompt increments with each new line.
Timesaver
A break (system interrupt) is always enabled for 60 seconds after the router reboots, regardless of its setting (on or off) in the configuration register. During this 60-second window, you can break to the ROM monitor prompt by pressing the Break key.
B-2
78-5407-03
Appendix B
?
set and display aliases command boot up an external process set/show/clear the breakpoint configuration register utility continue executing a downloaded image display the context of a loaded image display contents of cookie PROM in hex list the device table list files in file system display instruction stream serial download a program module print out a selected stack frame monitor builtin command help monitor command history main memory information repeat a monitor command system reset display the monitor variables produce a stack trace write monitor environment to NVRAM print out info from last system return tftp image download unset an alias unset a monitor variable x/ymodem image download
Commands are case sensitive. You can halt any command by pressing the Break key on a terminal. If you are using a PC, most terminal emulation programs halt a command when you press the Ctrl and the Break keys at the same time. If you are using another type of terminal emulator or terminal emulation software, refer to the documentation for that product for information on how to send a Break command.
B-3
ROM Monitor
Command Descriptions
Table B-1 describes commonly used ROM monitor commands.
Table B-1 Common ROM Monitor Commands
Command help or ? -?
Description Displays a summary of all available ROM monitor commands. Displays information about command syntax, for example:
rommon 16 > dis -? usage : dis [addr] [length]
The output for this command is slightly different for the xmodem download command:
rommon 11 > xmodem -? xmodem: illegal option -- ? usage: xmodem [-cyrx] destination filename -c CRC-16 -y ymodem-batch protocol -r copy image to dram for launch -x do not launch on download completion
reset or i dev
Resets and initializes the router, similar to a power-up. Lists boot device identifications on the router. For example:
rommon 2> dev Devices in device table: id name flash: flash eprom: eprom
dir device:
B-4
78-5407-03
Appendix B
Table B-2 describes the ROM monitor boot commands. For more information about the ROM monitor boot commands, refer to the Cisco IOS Configuration Guide and Cisco IOS Command Reference publications.
Table B-2 Boot Commands
Description Boots the first image in Flash memory. Attempts to boot the image directly from the first partition of Flash memory. If you do not enter a filename, this command will boot the first image in Flash. Attempts to boot the image directly from the second partition of Flash memory. If you do not enter a filename, this command will boot the first image in the second partition of Flash memory.
b flash:2: [filename]
Note
A 10BASE-T Ethernet Port is not active in ROM monitor mode and, thus, cannot be used for TFTP download.
B-5
ROM Monitor
Note
The commands described in this section are case sensitive and must be entered exactly as shown in the lists.
Required Variables
The following variables must be set with the commands shown before using the tftpdnld command: Variable IP address of the router. Subnet mask of the router. Command IP_ADDRESS= ip_address IP_SUBNET_MASK= ip_address
IP address of the default gateway of the DEFAULT_GATEWAY= ip_address router. IP address of the TFTP server from which the software will be downloaded. The name of the file that will be downloaded to the router. TFTP_SERVER= ip_address
TFTP_FILE= filename
Optional Variables
The following variables can be set with the commands shown before using the tftpdnld command: Variable Whether or not the router performs a checksum test on the downloaded image: 1Checksum test is performed. 0No checksum test is performed. Command TFTP_CHECKSUM=setting
B-6
78-5407-03
Appendix B
Variable
Command
Number of times the router attempts TFTP_RETRY_COUNT= ARP and TFTP download. The default retry_times is 7. Amount of time, in seconds, before the TFTP_TIMEOUT= time download process times out. The default is 2400 seconds (40 minutes). Configures how the router displays file TFTP_VERBOSE= setting download progress. 0No progress is displayed. 1Exclamation points (!!!) are displayed to indicate file download progress. This is the default setting. 2Detailed progress is displayed during the file download process. For example: Initializing interface. Interface link state up. ARPing for 1.4.0.1 ARP reply for 1.4.0.1 received. MAC address 00:00:0c:07:ac:01
Use the appropriate commands to enter all the required variables and any optional variables. Enter the tftpdnld command as follows:
rommon 1 > tftpdnld [ -r ]
B-7
ROM Monitor
Note
The -r variable is optional. Entering this variable downloads and boots the new software but does not save the software to Flash. You can then use the image that is in Flash the next time you enter the reload command in the Cisco IOS software CLI.
Step 3
If you are sure that you want to continue, enter y in response to the question in the output:
Do you wish to continue? y/n: [n]:y
The router will begin to download the new file. Pressing Ctrl-C or Break stops the transfer before the Flash memory is erased.
Configuration Register
The virtual configuration register is in NVRAM and has the same functionality as other Cisco routers. You can view or modify the virtual configuration register from either the ROM monitor or the operating system software. To change the virtual configuration register from the ROM monitor, enter confreg by itself for menu mode, or enter the new value of the register in hexadecimal. For example:
confreg [hexnum]
B-8
78-5407-03
Appendix B
This will change the virtual configuration register to the value specified. The value is always interpreted as hexadecimal. Entering confreg without an argument displays the contents of the virtual configuration register and a prompt to alter the contents by describing the meaning of each bit. Whether or not an argument is provided, the new virtual configuration register value is written into NVRAM, but it does not take effect until you reset or power-cycle the router. The following display shows an example of menu mode:
rommon 7> confreg Configuration Summary enabled are: console baud: 9600 boot: the ROM Monitor do you wish to change the configuration? y/n [n]: y enable diagnostic mode? y/n [n]: y enable use net in IP bcast address? y/n [n]: enable load rom after netboot fails? y/n [n]: enable use all zero broadcast? y/n [n]: enable break/abort has effect? y/n [n]: enable ignore system config info? y/n [n]: change console baud rate? y/n [n]: y enter rate: 0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400 4 = 19200, 5 = 38400, 6 = 57600, 7 = 115200 [0]: 0 change the boot characteristics? y/n [n]: y enter to boot: 0 = ROM Monitor 1 = the boot helper image 2-15 = boot system [0]: 0 Configuration Summary enabled are: diagnostic mode console baud: 9600 boot: the ROM Monitor do you wish to change the configuration? y/n [n]:
You must reset or power cycle for new config to take effect
B-9
ROM Monitor
Console Download
You can use console download, a ROM monitor function, to download over the router console port either a software image or a configuration file. After downloading, the file is saved either to Flash memory or to main memory for execution (image files only). Use console download when you do not have access to a TFTP server.
Note
If you want to download a software image or a configuration file to the router over the console port, you must use the ROM monitor command.
Note
If you are using a PC to download a Cisco IOS image over the router console port at 115,200 bps, ensure that the PC serial port is using a 16550 universal asynchronous receiver/transmitter (UART). If the PC serial port is not using a 16550 UART, we recommend using a speed of 38,400 or lower when downloading a Cisco IOS image over the console port.
Command Description
The following are the syntax and argument descriptions for the xmodem console download command. The syntax is as follows:
xmodem [-cyrx] destination_file_name
The argument descriptions are as follows: Argument c Description Optional. Performs the download using 16-bit cyclic redundancy check (CRC) error checking to validate packets. Default is 8-bit CRC.
B-10
78-5407-03
Appendix B
Argument y
Description Optional. Sets the router to perform the download using ymodem protocol. Default is xmodem protocol. The protocols differ as follows:
The xmodem protocol supports a 128-block transfer size, whereas the ymodem protocol supports a 1024-block transfer size. The ymodem protocol uses 16-bit CRC error checking to validate each packet. Depending on the device that the software is being downloaded from, this function might not be supported by the xmodem protocol.
r x destination_file_name
Optional. Image is loaded into DRAM for execution. Default is to load the image into Flash memory. Optional. Image is loaded into DRAM without being executed. The name of the system image file or the system configuration file. In order for the router to recognize it, the name of the configuration file must be router_confg.
Error Reporting
Because the ROM monitor console download uses the console to perform the data transfer, error messages are displayed on the console only when the data transfer is terminated. If an error does occur during a data transfer, the transfer is terminated, and an error message is displayed. If you have changed the baud rate from the default rate, the error message is followed by a message telling you to restore the terminal to the baud rate specified in the configuration register.
B-11
ROM Monitor
Debug Commands
Most ROM monitor debugging commands are functional only when Cisco IOS software has crashed or stopped. If you enter a debugging command and Cisco IOS crash information is not available, you see the following error message:
"xxx: kernel context state is invalid, can not proceed."
PC PC PC PC PC PC
= = = = = =
LR
R10 = 0x0000954c R14 = 0xffffffff R18 = 0xffffffff R22 = 0xffffffff R26 = 0xffffffff
B-12
78-5407-03
Appendix B
R29 = 0xffffffff
R30 = 0xffffffff
R31
frameDisplay an individual stack frame. sysretDisplay return information from the last booted system image. This information includes the reason for terminating the image, a stack dump of up to eight frames, and, if an exception is involved, the address where the exception occurred. For example:
rommon 8> sysret System Return Info: count: 19, reason: user break pc:0x801111b0, error address: 0x801111b0 Stack Trace: FP: 0x80005ea8, PC: 0x801111b0 FP: 0x80005eb4, PC: 0x80113694 FP: 0x80005f74, PC: 0x8010eb44 FP: 0x80005f9c, PC: 0x80008118 FP: 0x80005fac, PC: 0x80008064 FP: 0x80005fc4, PC: 0xfff03d70 FP: 0x80005ffc, PC: 0x00000000 FP: 0x00000000, PC: 0x00000000
meminfoDisplay size in bytes, starting address, available range of main memory, the starting point and size of packet memory, and size of nonvolatile random-access memory (NVRAM). For example:
rommon 3> meminfo Main memory size: 64 MB. Available main memory starts at 0x10000, size 65472KB IO (packet) memory size: 25 percent of main memory. NVRAM size: 32KB
B-13
ROM Monitor
B-14
78-5407-03