cc/td/doc/product/access/acs_mod/cis3600
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

ROM Monitor

ROM Monitor

This appendix describes the ROM monitor (also called the bootstrap program), the firmware that runs when your Cisco 3600 series router is powered on or reset. The ROM monitor can help you isolate or rule out hardware problems encountered when installing your router.

This appendix contains the following sections:

Entering the ROM Monitor

In normal operation, the ROM monitor helps to initialize the processor hardware and boot the operating system software. To use the ROM monitor, you must have access to the console port. See the "Console Port" section.

From the operating system software, you can configure the router to remain in the ROM monitor the next time it boots by setting virtual configuration register bits 3, 2, 1, and 0 to zero. From the console, enter the following configuration command:

configuration-register 0x0
 

The new configuration register value, 0x0, is effective after the router is rebooted with the reload command. The router remains in the ROM monitor and does not boot the operating system.

If the configuration value remains 0x0, you must manually boot the operating system from the console. (See the boot command in the "Command Descriptions" section.)

TimeSaver
Break (system interrupt) is always enabled for 60 seconds after the router reboots, regardless of whether Break is configured on or off in the configuration register (see the appendix "Virtual Configuration Register"). During this 60-second period, you can break to the ROM monitor prompt by pressing the Break key.

The ROM monitor prompt is as follows:

rommon 1 >
 

In this example, 1 (the number one) is the line number and is incremented at each prompt.

ROM Monitor Commands

Enter ? or help at the ROM monitor prompt to display a list of available commands and options, as follows:

rommon 1 > ?
alias               set and display aliases command
boot                boot up an external process
break               set/show/clear the breakpoint
confreg             configuration register utility
cont                continue executing a downloaded image
context             display the context of a loaded image
cookie              display contents of cookie PROM in hex
dev                 list the device table
dir                 list files in file system
dis                 disassemble instruction stream
dnld                serial download a program module
frame               print out a selected stack frame
help                monitor builtin command help
history             monitor command history
iomemdef            force the default IO memory configuration
meminfo             main memory information
repeat              repeat a monitor command
reset               system reset
set                 display the monitor variables
stack               produce a stack trace
sync                write monitor environment to NVRAM
sysret              print out info from last system return
unalias             unset an alias
unset               unset a monitor variable
xmodem              x/ymodem image download
rommon 2 > 

Note To display information about command syntax, enter the command name followed by the -? option.

Commands are case sensitive. You can abort any command by pressing the Break key at the console.

ROM Monitor Syntax Conventions

ROM monitor syntax in this appendix uses the following conventions:

Command Descriptions

This section lists some useful ROM monitor commands. Refer to the Cisco IOS configuration guides and command references for more information.

The router does not have a dedicated boothelper image ([rx]boot) as used by some other Cisco routers. Any system image can be used for this purpose. The default boothelper image is the first image in Flash memory, but this can be overridden by setting the BOOTLDR Monitor environment variable to point to another image. The boothelper image is invoked any time the ROM Monitor does not recognize the device ID in the boot command.
b filename:[host] boots from the specified file over the network using TFTP. If a host is specified, by either name or IP address, the router boots from that host.
b device:[name] boots the Cisco IOS software from the specified device. If the filename name is not specified, the router boots from the first file in the device. Some examples are shown as follows:

  • b flash: or b---Boot from the first file in the first partition of Flash memory.

  • b slot0:---Boot from the first file in the first partition of the slot 0 PCMCIA card.

  • b slot0:2:---Boot from the first file in the second partition of the slot 0 PCMCIA card.

  • b slot0:3:imagename---Boot from the file named imagename in the third partition of the slot 0 PCMCIA card.

  • b flash---ROM monitor will boot from the boothelper image because it does not recognize the device ID. The boothelper image is the first file in the first partition of Flash memory.

  • b imagename---ROM monitor will boot from the boothelper image because it does not recognize the device ID. This form of the command is used to netboot the image named imagename.

Options to the boot command are -x, load the image but do not execute, and -v, verbose.
The Cisco IOS commands show version and show hardware will display the source of the currently running image.
rommon 10 > dev
Devices in device table:
idname
flash:flash 
slot0:PCMCIA slot 0
slot1:PCMCIA slot 1
eprom:eprom 
 
rommon 11 > dir flash:
         File size           Checksum   File name
       2229799 bytes (0x220627)   0x469e    C3600-j-m2
 

Debugging Commands

Most debugging commands are functional only when Cisco IOS software has crashed or is aborted. If you enter a debugging command and Cisco IOS crash information is not available, the following error message displays:

"xxx: kernel context state is invalid, can not proceed."
 
rommon 8 > sysret
System Return Info:
count: 19,  reason: user break
pc:0x60043754,  error address: 0x0
Stack Trace:
FP: 0x80007e78, PC: 0x60043754
FP: 0x80007ed8, PC: 0x6001540c
FP: 0x80007ef8, PC: 0x600087f0
FP: 0x80007f18, PC: 0x80008734
 
rommon 9 > meminfo
 
Main memory size: 16 MB in 32-bit mode.
Available main memory starts at 0xa000e000, size 16328KB
IO (packet) memory size: 25 percent of main memory.
NVRAM size: 128KB

Configuration Register

The virtual configuration register resides in NVRAM. You can display or modify the virtual configuration register from either the ROM monitor or the operating system software. For procedures used to change the virtual configuration register from the operating system, and for information about register settings, see Appendix D, "Virtual Configuration Register."

To change the virtual configuration register from the ROM monitor, enter confreg by itself to access the menu mode, or enter the new value of the register in hexadecimal.

In either case, the new virtual configuration register value is written into NVRAM, but is not effective until you reset or power-cycle the router.
The following display shows an example of menu mode:
rommon 7 > confreg
 
 
Configuration Summary
enabled are:
break/abort has effect
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]:  
disable  "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

BOOTLDR Environment Variable

The BOOTLDR environment variable is used to change the default boothelper image from the first image in Flash memory to the specified image.

To set the BOOTLDR environment variable, perform the following tasks, beginning in the privileged EXEC mode.

First, verify that Flash memory contains the boot image:

Router> show [/all | /deleted] | [/long] [device:][filename]
 

Enter configuration mode:

Router> configure terminal
 

Set the BOOTLDR environment variable to specify the Flash device and filename of the boot image:

Router> boot bootldr device:filename
 

Exit configuration mode:

Router> Ctrl-Z
 

Save the BOOTLDR environment variable to your startup configuration:

Router> copy running-config startup-config
 

You can verify the contents of the BOOTLDR environment variable by using the show boot command:

Router> show boot

Disaster Recovery

The xmodem command establishes a connection between a console and the router console or auxiliary port for disaster recovery if both the boot and system images are erased from Flash memory. For a description of the disaster recovery procedure, see the "Recovering Software Images" section.

Other options are:

Recovering a Lost Enable Password

This section describes how to recover a lost enable password.


Note You cannot recover a lost enable secret password because this password is encrypted. You must erase the configuration and replace it with a new enable secret password.

Follow this procedure to recover a lost enable password:

Step 1 Connect an ASCII terminal or a PC running a terminal emulation program to the console port located on the front panel of the router. See the "Console Port" section.

Step 2 Reboot the router. If asked whether you would like to enter the initial dialog, answer n:

    Would you like to enter the initial dialog? [yes]: n
     
    

You are now in the router's normal operating mode.

Step 3 After a few seconds you see the user EXEC prompt (Router>). Enter the show version command to display the existing configuration register value. Record the setting of the configuration register.

Step 4 If Break is enabled, send a Break by pressing the Break key. This action causes the terminal to display the ROM monitor prompt (rommon >). Proceed to Step 6.

Step 5 If Break is disabled, or if you do not know whether Break is enabled, or sending a Break fails, power OFF the router, wait five seconds, and power it ON again. Within five seconds of powering on the router, press the Break key. This action causes the terminal to display the ROM monitor prompt (rommon >).

Step 6 Enter confreg at the ROM monitor prompt. This command allows you to configure the register.

    rommon> confreg
     
    

Step 7 Enter y at the following prompt:

    Do you wish to change the configuration? y/n [n]: y
     
    

Step 8 Enter n in response to all the prompts until you reach the following prompt, then enter y:

    enable "ignore system config info"? [y/n] n: y
     
    

Step 9 Enter n in response to all the prompts until you reach the following prompt, then enter y:

    change the boot characteristics? [y/n] [n]: y
     
    

Step 10 At the following prompt, enter 2 and press Return. A configuration summary is displayed.

    enter to boot: 2
     
    

Step 11 Enter n at the following prompt:

    Do you wish to change the configuration? y/n [n]: n
     
    

Step 12 Enter reset at the ROM monitor prompt. The router reboots.

    rommon> reset
     
    

Step 13 Enter n at the following prompt:

    Would you like to enter the initial dialog? [yes]: no
     
    

Step 14 Enter enable to enter privileged EXEC mode:

    Router> enable
    Password: <password>
    Router#
     
    

Configuration changes can be made only in enable mode. The prompt changes to the privileged EXEC prompt (Router#):

Step 15 Enter the show startup-config command to display the enable password in the configuration file:

    Router# show startup-config
     
    

Step 16 Enter the configure terminal command to enter configuration mode:

    Router# configure terminal
     
    

Step 17 Enter the configure register command followed by a number to return the original value found in Step 3.

Step 18 Press Ctrl-z to exit configuration mode.

Step 19 Reboot the router and enter the recovered password.

Recovering Software Images

If both the boot and system images have been erased and only the ROM monitor is available, you can use the ROM monitor xmodem command to copy a Cisco IOS image to Flash memory from the console. The console can be connected directly to the router through the console port, or remotely through a modem connected to the auxiliary port.


Note Copying a Cisco IOS image from the console is very slow. This procedure should be used only in an emergency and is not recommended for normal Cisco IOS image upgrades.

Note Using a PCMCIA card to update the Cisco IOS image is much faster than using the console port and, when available, is the recommended method of recovering a software image.

Console Requirements

The console must have the following files to use this procedure:

Copying the Cisco IOS Image

Perform the following steps to copy the Cisco IOS image to Flash memory:

Step 1 Connect the console using the instructions in the "Connecting the Console Terminal and Modem" section.

Step 2 Power ON the router. The power-on self-test diagnostics run and the boot ROM searches for a valid boot image and Cisco IOS image in Flash memory. If the boot image and Cisco IOS image are not found, the ROM monitor prompt is displayed:

    rommon 1>
     
    

Step 3 Enter the xmodem command and the name of the source file containing the Cisco IOS image:

    rommon 1> xmodem filename
     
    

Step 4 The source file is searched for and found. Messages similar to the following appear:

    Do not start upload program yet...
    File size           Checksum   File name
    2537948 bytes        (0x26b9dc)   3640-boot-l
     
    WARN: This operation will ERASE bootflash. If the xmodem
    download to bootflash fails, you will lose any good image
    you may already have in bootflash.
    Invoke this application only for disaster recovery.
     
    Do you wish to continue? [yes/no]: 
     
    

Step 5 Enter yes to copy the Cisco IOS image into Flash memory. Messages similar to the following appear:

    Ready to receive file prog ...
     
    Erasing flash at 0x3000000
     
    program flash location 0x3000000
     
    Transfer complete!
    


hometocprevnextglossaryfeedbacksearchhelp
Posted: Thu Jul 29 08:09:13 PDT 1999
Copyright 1989-1999©Cisco Systems Inc.