路由器ROM monitor模式
Table of Contents
Identifying Hardware Problems with the ROM Monitor
Entering ROM Monitor Mode
Configuring for Autoboot
ROM Monitor Commands
ROM Monitor Syntax Conventions
Command Descriptions
General Use Commands
Debugging Commands
Cookie Commands
Configuration Register Command
Modifying the Configuration Register from the Operating System Software
Boot and System Image Recovery Command: tftpdnld
Upgrading the ROM Monitor
Upgrading the ROM Monitor from Cisco IOS CLI
Upgrading the ROM Monitor from ROMMON
Identifying Hardware Problems with the ROM Monitor
——————————————————————————–
This section describes the ROM monitor bootstrap program, which you can use to identify hardware problems encountered during installation. The ROM monitor runs when you power on or restart the Catalyst 4224 Access Gateway Switch. During normal operation, the ROM monitor helps to initialize the processor hardware and boot the operating system software.
This section includes the following topics:
Entering ROM Monitor Mode
Configuring for Autoboot
ROM Monitor Commands
Upgrading the ROM Monitor
Entering ROM Monitor Mode
To use the ROM monitor, your terminal or workstation must be connected to the console port of the switch. See the "Connecting a Terminal to the Console Serial and Ethernet Management Ports" section for information on making this connection.
To enter ROMMON mode, perform the following tasks:
Procedure
——————————————————————————–
Step 1 Enter the enable command at the Gateway> prompt to enter privileged mode.
Step 2 Enter the reload command at the Gateway# prompt to restart the Catalyst 4224.
Step 3 Press the Break key for 60 seconds while the system is starting up. Pressing this key forces the Catalyst 4224 to stop booting and enter the ROMMON mode.
——————————————————————————–
This example shows how to enter ROMMON mode:
Gateway>
Gateway> enable
Gateway# reload
System configuration has been modified. Save? [yes/no]:yes
Building configuration…
[OK]
Proceed with reload? [confirm]
16:51:22:%SYS-5-RELOAD:Reload requested
System Bootstrap, Version 12.0(20001221:021337) [ssamiull-gateway_g1 108], DEVELOPMENT SOFTWARE
Copyright (c) 1994-2000 by cisco Systems, Inc.
Compiled Tue 26-Dec-00 17:52 by ssamiull-gateway_g1
Board Rev 0×04, Brazil Rev 0×03, Rio Rev 0×01, Disco Rev 0×01
C4924V platform with 65536 Kbytes of main memory
rommon 1 >
*** This ROMMON prompt will appear provided Autoboot is disabled.
*** The number "1" represents the line number, which increases
*** incrementally at each prompt.
rommon 1 > cont
*** Returns you to IOS.
Gateway#
telnet> send break
*** System received an abort due to Break Key ***
signal= 0×3, code= 0×500, context= 0×817aaa30
PC = 0×802948d0, Vector = 0×500, SP = 0×80006548
rommon 2 >
Configuring for Autoboot
You can configure the Catalyst 4224 to enter ROMMON mode automatically upon a reboot by setting virtual configuration register bits 3, 2, 1, and 0 to 0.
To configure automatic reboot, follow these steps:
Procedure
——————————————————————————–
Step 1 Enter the enable command at the Gateway> prompt to enter privileged mode.
Step 2 Enter the configuration command configuration-register 0×0 at the Gateway# prompt.
Step 3 Enter the reload command at the Gateway# prompt to restart the Catalyst 4224.
——————————————————————————–
This example shows how to configure for autoboot:
Gateway> enable
Gateway# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(config)# config-register ?
Config register number
Gateway(config)# config-register 0
Gateway(config)# end
Gateway#
The new configuration register value, 0×0, is effective after the reboot. This means that upon a reboot, the Catalyst 4224 remains in ROMMON mode and does not boot the operating system. To boot the operating system, you must do so from the console.
Refer to the boot command in the "General Use Commands" section and the tftpdnld command in the "Boot and System Image Recovery Command: tftpdnld" section.
ROM Monitor Commands
This section describes the ROM monitor syntax conventions and the most commonly used commands. To display a complete list, enter ? or help at the ROMMON prompt, as follows:
rommon 1 > ?
——————————————————————————–
Note You can terminate any command by pressing the Break key at the console.
——————————————————————————–
ROM Monitor Syntax Conventions
The ROM monitor commands use the following conventions:
Convention Purpose
[ ]
Square brackets [ ] denote an optional element.
-s:
If a minus option is followed by a colon (for example, [-s:]), you must provide an argument for the option.
italics
A term in italics means that you must fill in the appropriate information.
Command Descriptions
This section describes some of the more commonly used ROM monitor commands:
General Use Commands
Debugging Commands
Cookie Commands
Configuration Register Command
Modifying the Configuration Register from the Operating System Software
Boot and System Image Recovery Command: tftpdnld
For more information, refer to the Cisco IOS configuration guides and command references.
General Use Commands
This section lists the ROM monitor general-use commands.
boot or b
Enter the boot or b command to boot the Cisco IOS software image from either Flash memory, TFTP, or boothelper.
boot usage notes are as follows:
b boots the first image (if multiple images exist) in Flash memory.
b flash:[name] boots the named Cisco IOS software from the Flash memory.
b filename tftpserver boots the named Cisco IOS software from the specified TFTP server.
An example of this command is as follows:
boot c4gwy-io3s-mz 172.15.19.11
b filename boots the named Cisco IOS software from the boothelper image. (The boothelper is the downloaded image that downloads the IOS image.) This method of booting is necessary if the device ID is unrecognizable.
——————————————————————————–
Note If the device does not have an image or if the Flash is corrupt, the devices Flash ID might be lost.
——————————————————————————–
You can override the default setting for the boothelper image by pointing the BOOTLDR monitor environment variable to another image. (Any system image can be used for this purpose.)
boot command options are as follows:
-x downloads the image and puts it into memory, but does not execute.
-v ("verbose"
screen.width/2)this.style.width=screen.width/2;”> prints detailed information while downloading the image.
To display the running image, enter the show version and show hardware IOS commands.
dir device: [partition:]
Enter the dir device [partition] command to list the files on the named device. An example of this command is as follows:
rommon 8 > dir flash:
File size Checksum File name
2229799 bytes (0×220627) 0×469e c4gwy-io3s-mz-j-m2.113-4T
meminfo
Enter the meminfo command to display the following details of main memory:
nbyte size
Starting address
Available range of main memory
Starting point and size of packet memory
Size of nonvolatile memory (NVRAM)
An example of this command is as follows:
rommon 9 > meminfo
Main memory size: 32 MB.
Available main memory starts at 0xa000e000, size 32704KB
IO (packet) memory size: 25 percent of main memory.
NVRAM size: 256KB
meminfo [-l]
Enter the meminfo[-I] command to display supported Dual In-Line Memory Module (DIMM) configurations. An example of this command is as follows:
rommon 1 > meminfo -l
Supported memory configurations:
DIMM 0
———
priv
Enter the priv command to enter privileged ROMMON mode. An example of this command is as follows:
rommon 3 > priv
You now have access to the full set of monitor commands.
Warning:some commands will allow you to destroy your
configuration and/or system images and could render
the machine unbootable.
reset or i
Enter the reset or i command to reset and initialize the Catalyst 4224. This commands function is similar to power on.
An example of this command is as follows:
rommon 5 > reset
System Bootstrap, Version 12.0(20001221:021337) [ssamiull-gateway_g1 108], DEVELOPMENT SOFTWARE
Copyright (c) 1994-2000 by cisco Systems, Inc.
Compiled Tue 26-Dec-00 17:52 by ssamiull-gateway_g1
Board Rev 0×04, Brazil Rev 0×03, Rio Rev 0×01, Disco Rev 0×01
C4924V platform with 65536 Kbytes of main memory
rommon 1 >
version
Enter the version command to display the software version of ROMMON. An example of this command is as follows:
rommon 1 > version
System Bootstrap, Version 12.0(20001221:021337) [ssamiull-gateway_g1 108], DEVELOPMENT SOFTWARE
Copyright (c) 1994-2000 by cisco Systems, Inc.
Compiled Tue 26-Dec-00 17:52 by ssamiull-gateway_g1
Board Rev 0×04, Brazil Rev 0×03, Rio Rev 0×01, Disco Rev 0×01
rommon 2 >
Debugging Commands
This section lists the ROM monitor debugging commands.
Most debugging commands are functional only when IOS software has crashed or is aborted. If you enter a debugging command and IOS crash information is unavailable, this error message is displayed:
"xxx: kernel context state is invalid, can not proceed."
stack or k
Enter the stack command produces a stack trace. An example of this command is as follows:
rommon 2 > k
Stack trace:
PC = 0×80266a38
Frame 00:FP = 0×80006560 PC = 0×80266a38
Frame 01:FP = 0×8000656c PC = 0×80265ac0
Frame 02:FP = 0×8000662c PC = 0×80262718
Frame 03:FP = 0×8000665c PC = 0×8002011c
Frame 04:FP = 0×8000666c PC = 0×80020068
Frame 05:FP = 0×80006684 PC = 0xfff03e7c
Invalid FP = 0×800066bc, cannot proceed
context
Enter the context command to display processor context. An example of this command is as follows:
rommon 5 > context
CPU context of the most recent exception:
PC = 0×801ca8d0 MSR = 0×00009032 CR = 0×22000022 LR = 0×801c61f0
CTR = 0×801ed28c XER = 0×00000000 DAR = 0xffffffff DSISR = 0xffffffff
DEC = 0xffffffff TBU = 0xffffffff TBL = 0xffffffff IMMR = 0xffffffff
R0 = 0×801c61f0 R1 = 0×80006540 R2 = 0xffffffff R3 = 0×00000000
R4 = 0×00000000 R5 = 0×81858a7c R6 = 0×00009032 R7 = 0xdeadfeed
R8 = 0×00000000 R9 = 0×00000000 R10 = 0×0000fe8c R11 = 0×00000000
R12 = 0×0000003c R13 = 0xffffffff R14 = 0xffffffff R15 = 0xffffffff
R16 = 0xffffffff R17 = 0xffffffff R18 = 0xffffffff R19 = 0xffffffff
R20 = 0xffffffff R21 = 0xffffffff R22 = 0xffffffff R23 = 0xffffffff
R24 = 0xffffffff R25 = 0xffffffff R26 = 0xffffffff R27 = 0xffffffff
R28 = 0xffffffff R29 = 0xffffffff R30 = 0xffffffff R31 = 0xffffffff
rommon 6 >
frame
Enter the frame command to display an individual stack frame. An example of this command is as follows:
rommon 5 > frame 00
Frame 00:FP = 0×80006560 PC = 0×80266a38
at 0×80006568 (fp + 0×08) = 0×817b4280
rommon 6 > frame 01
Frame 01:FP = 0×8000656c PC = 0×80265ac0
at 0×80006574 (fp + 0×08) = 0×00000000
at 0×80006578 (fp + 0×0c) = 0×80010000
at 0×8000657c (fp + 0×10) = 0xfff30000
at 0×80006580 (fp + 0×14) = 0×80020000
at 0×80006584 (fp + 0×18) = 0×83ff7800
at 0×80006588 (fp + 0×1c) = 0×80020000
at 0×8000658c (fp + 0×20) = 0×8000667c
at 0×80006590 (fp + 0×24) = 0×00000000
at 0×80006594 (fp + 0×28) = 0×81250000
at 0×80006598 (fp + 0×2c) = 0×00000001
rommon 7 > frame 03
Frame 03:FP = 0×8000665c PC = 0×8002011c
at 0×80006664 (fp + 0×08) = 0×0122ed84
at 0×80006668 (fp + 0×0c) = 0×83ff7800
rommon 8 > frame 04
Frame 04:FP = 0×8000666c PC = 0×80020068
at 0×80006674 (fp + 0×08) = 0×00000002
at 0×80006678 (fp + 0×0c) = 0×00000000
at 0×8000667c (fp + 0×10) = 0×0122ed84
at 0×80006680 (fp + 0×14) = 0×83ff7800
rommon 9 > frame 05
Frame 05:FP = 0×80006684 PC = 0xfff03e7c
at 0×8000668c (fp + 0×08) = 0×00000005
at 0×80006690 (fp + 0×0c) = 0×800046ac
at 0×80006694 (fp + 0×10) = 0xfff24c90
at 0×80006698 (fp + 0×14) = 0×00000000
at 0×8000669c (fp + 0×18) = 0×00000000
at 0×800066a0 (fp + 0×1c) = 0×00000000
at 0×800066a4 (fp + 0×20) = 0×00000000
at 0×800066a8 (fp + 0×24) = 0×00000000
at 0×800066ac (fp + 0×28) = 0×00000000
at 0×800066b0 (fp + 0×2c) = 0×00000000
rommon 10 >
sysret
Enter the sysret command to display 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. An example of this command is as follows:
rommon 8 > sysret
System Return Info:
count: 19, reason: a SegV exception
pc:0×802b1040, error address: 0×802b1040
Stack Trace:
FP: 0×80908398, PC: 0×802b102c
FP: 0×809083b0, PC: 0×802b0b88
FP: 0×809083d8, PC: 0×8017039c
FP: 0×809083e8, PC: 0×8016f764
Cookie Commands
This section lists the ROM cookie and fxs_high_density cookie commands.
cookie
Enter the cookie command to display identification information for the Catalyst 4224.
In nonprivileged mode, the cookie command displays read-only information for a Catalyst 4224.
An example of this command is as follows:
rommon 2 > cookie
cookie:
01 01 00 10 7b fb 1a 36 53 00 00 00 01 7a 00 06
00 00 00 00 00 00 00 00 4a 41 42 04 44 30 44 41
32 01 05 00 00 00 00 00 00 00 00 00 05 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
In privileged mode, the cookie command lets you edit the switch information as follows:
rommon 3 > priv
You now have access to the full set of monitor commands.
Warning:some commands will allow you to destroy your
configuration and/or system images and could render
the machine unbootable.
rommon 4 > cookie
View/alter bytes of serial cookie by field –
Input hex byte(s) or:CR -> skip field; ? -> list values
Cookie Version Number:01
>
Vendor:01
Base MAC Address:00 10 7b fb 1a 36
Processor ID:53
Unused:00 00 00
PA Type:01 7a
MAC Addresses Allocated:00 06
Unused:00 00 00 00
Serial Number:00 00 00 00
PSL Location:4a 41 42
PSL Year:04
PSL Week:44
PSL Serial:30 44 41 32
Hardware Major Version:01
Hardware Minor Version:05
Deviation:00 00
RMA Failure Code:00
RMA Number:00 00 00
Unused:00 00 00
Board Revision:05
Board Configuration:00
PCA Number:00 00 00 00
rommon 5 >
fxs_high_density cookie
Enter the fxs_high_density cookie command to display identification information for the Catalyst 4000 8-port RJ21 FXS module.
In nonprivileged mode, the fxs_high_density cookie command displays read-only information for an 8-port FXS module.
An example of this command is as follows:
rommon 1 > fxs_high_density
fxs_high_density cookie:
ff ff ff ff ff ff ff ff ff ff ff ff 00 02 43 69
73 63 6f 20 53 79 73 74 65 6d 73 20 49 6e 63 00
00 00 57 53 2d 55 34 36 30 34 2d 31 36 00 00 00
00 00 00 00 00 00 59 4f 55 52 43 4f 4e 43 45 52
54 4f 00 00 00 00 00 00 00 00 37 33 2d 36 34 37
36 2d 30 32 00 00 00 00 00 00 ff ff ff ff 4e 6f
6e 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
rommon 2 >
In privileged mode, the fxs_high_density cookie command allows you to edit the module information as follows:
rommon 2 > priv
You now have access to the full set of monitor commands.
Warning:some commands will allow you to destroy your
configuration and/or system images and could render
the machine unbootable.
rommon 3 > fxs_high_density
View/alter bytes of fxs_high_density serial cookie by field –
Input hex byte(s) or:CR -> skip field; ? -> list values
block_signature:ff ff
block_version:ff
block_length:ff
block_checksum:ff ff
seeprom_size:ff ff
block_count:ff ff
fru_major_type:ff ff
fru_minor_type:00 02
OEM_string:Cisco Systems Inc
product_number:WS-U4604-16
serial_number:YOURfxs_high_density
part_number:73-6476-02
part_revision:ff ff ff ff
mfg_deviation:None
hw_rev_major:ff ff
hw_rev_minor:ff ff
mfg_bits:ff ff
eng_bits:ff ff
snmpIOD:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
power_consumption:ff ff
RMA failure code:ff ff ff ff
rommon 4 >
Configuration Register Command
This section describes the ROM confreg command.
confreg
Enter the confreg command to display the contents of the virtual configuration register.
After entering the command, you will see a prompt asking you to alter the contents as follows:
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
break/abort has effect
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
confreg [hexnum]
Enter the confreg [hexnum] command to change the virtual configuration register to the value specified. The value is always interpreted as hexadecimal.
Modifying the Configuration Register from the Operating System Software
The virtual configuration register resides in NVRAM. You can display or modify the register from either the ROM monitor or the operating system software. When you change the register, the new value is written into NVRAM, but is not effective until you reset or power-cycle the Catalyst 4224.
To modify the configuration register from the operating system software, enter the following commands:
Gateway> enble
Gateway# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(config)# config-register 0×0
Gateway(config)# end
Gateway#
Boot and System Image Recovery Command: tftpdnld
If your Catalyst 4224 will not boot, the Cisco IOS software image in Flash memory might be corrupt. If so, you can obtain a new one with the tftpdnld ROM monitor commands.
Enter the tftpdnld command to download a Cisco IOS software image from a remote server into Flash memory using TFTP. (You must have a TFTP server directly connected to the front-panel Ethernet management port.) Monitor variables are used to set up parameters for the transfer.
Usage: tftpdnld [-rxe]
——————————————————————————–
Note In nonprivileged mode, only the -r command line option is available.
——————————————————————————–
The syntax for specifying variables is as follows:
VARIABLE_NAME=value
The following variables are required:
IP_ADDRESS―The IP address for the Catalyst 4224 you are using.
IP_SUBNET_MASK―The subnet mask for the Catalyst 4224 you are using.
DEFAULT_GATEWAY―The default gateway for the Catalyst 4224 you are using.
TFTP_SERVER―The IP address of the server from which you want to download the image file.
TFTP_FILE―The name of the file that you want to download.
The following variables are optional:
TFTP_VERBOSE―Print setting. 0=quiet, 1=progress, 2=verbose. The default is 1.
TFTP_RETRY_COUNT―Retry count for ARP and TFTP. The default is 7.
TFTP_TIMEOUT―Overall timeout of the download operation in seconds. The default is 2400 seconds.
TFTP_CHECKSUM―Performs a checksum test on the image. 0=no, 1=yes. The default is 1.
FE_SPEED_MODE―0=10/hdx, 1=10/fdx, 2=100/hdx, 3=100/fdx, 4=Auto(deflt)
Command line options are as follows:
-r: does not write to Flash memory, loads to DRAM only and launches image.
-x: does not write to Flash memory, loads to DRAM only and does not launch image.
-e: does not erase Flash memory before writing image to the Flash memory.
After you specify the variables, you must reenter the tftpdnld command as follows:
rommon 1 > tftpdnld
rommon 2 > IP_ADDRESS=172.15.19.11
rommon 3 > IP_SUBNET_MASK=255.255.255.0
rommon 4 > DEFAULT_GATEWAY=172.15.19.1
rommon 5 > TFTP_SERVER=172.15.20.10
rommon 6 > TFTP_FILE=/tftpboot/c4gwy-io3s-mz
rommon 7 > TFTP_VERBOSE=1
rommon 8 > tftpdnld
IP_ADDRESS=172.15.19.11
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=172.15.19.1
TFTP_SERVER=172.15.20.10
TFTP_FILE=/tftpboot/c4gwy-io3s-mz
TFTP_VERBOSE=1
Invoke this command for disaster recovery only.
WARNING: all existing data in flash will be lost!
Do you wish to continue? y/n: [n]:
Enter y to begin downloading the Cisco IOS software image. When this process completes, the ROMMON prompt displays on your screen.
To terminate tftpdnld, press Break or Ctrl-C.
Upgrading the ROM Monitor
There are two ways to upgrade the ROM monitor:
Upgrading the ROM Monitor from Cisco IOS CLI
Upgrading the ROM Monitor from ROMMON
Upgrading the ROM Monitor from Cisco IOS CLI
To upgrade the ROM monitor, enter this Cisco IOS command in privileged mode:
chopin# upgrade rommon t
ftp://171.69.1.129/c4gwy_rommon.srec
This command downloads the new ROM monitor image from a TFTP server and then overwrites the previous image in Flash memory.
Upgrading the ROM Monitor from ROMMON
To upgrade the ROM monitor, follow these steps:
Procedure
——————————————————————————–
Step 1 Enter the following at the ROMMON prompt:
IP_ADDRESS=172.20.59.55
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=172.20.59.1
TFTP_SERVER=171.69.1.129
TFTP_FILE=chopin/c4gwy-rommon-mz
Step 2 Enter sync to save the variables to NVRAM.
Step 3 Enter tftpdnld -r to boot theCisco IOS image from the network.
——————————————————————————–
Note You can boot the c4gwy-rommon-mz image or boot the Cisco IOS image from Flash memory if present.