This document describes how to upgrade to the latest Carrier Routing System (CRS) ROM Monitor Mode (ROMMON) version in such as way that you do not have to upgrade the Cisco IOS® XR software.
A manual upgrade of ROMMON is rarely needed. However, in some cases, it might ease the upgrade process or resolve an issue such as Field Programmable Device (FPD) corruption.
One example where this might be needed is Cisco bug ID CSCuj35602 - PRP ROMMON changes to support 511 Images which are bigger than 360 MB.
Symptom: A CRS PRP (CRS-16-PRP-12G, CRS-16-PRP-6G, CRS-8-PRP-12G, CRS-8-PRP-6G)
running ROMMON version 2.07 or earler does not have support to perform a TFTP
turboboot for images bigger than 360 MB.
Currently the IOS-XR release 5.1.1 and later is bigger than 360 MB, so the ROMMON
must be upgraded to version 2.08 in order to turboboot the 5.1.1 mini.vm file.
When attempting the turboboot via TFTP it will fail with the following error.
TFTP: out of memory. Transfer failed after 377487360 bytes.
TFTP: Operation terminated.
Conditions:
Workaround: Upgrade the ROMMON on the PRPs to version 2.08 manually prior to
the upgrade or upgrade to 5.1.1 without tftp turboboot and then upgrade the
ROMMON to the 2.08. The ROMMON version 2.08 is posted on CDC in the download
section. The ROMMON bundled with release 5.1.1 is version 2.08 so once the
system is running 5.1.1 the ROMMON can be upgraded to version 2.08 using the
admin upgrade hw-module fpd command.
Use the admin show hw-module fpd loc all command in order to determine the current rommonA and ROMMON (rommonB) revisions that run on the system.
RP/0/RP1/CPU0:CRS-H(admin)#show hw-module fpd loc all
Tue Apr 29 13:34:16.448 UTC
===================================== ==========================================
Existing Field Programmable Devices
==========================================
HW Current SW Upg/
Location Card Type Version Type Subtype Inst Version Dng?
============ ======================== ======= ==== ======= ==== =========== ====
0/0/CPU0 140G-MSC 0.1 lc rommonA 0 2.01 Yes
lc rommon 0 2.05 Yes
lc fpga1 0 0.08 No
lc fpga2 0 0.36 No
--------------------------------------------------------------------------------
0/0/CPU0 20-10GBE 0.80 lc fpga3 1 42.00 No
--------------------------------------------------------------------------------
0/1/SP 40G-MSC 0.2 lc rommonA 0 2.05* No
lc rommon 0 2.05 Yes
--------------------------------------------------------------------------------
0/1/CPU0 CRS1-SIP-800 0.104 lc fpga1 0 6.00 No
lc rommonA 0 2.05* No
lc rommon 0 2.07 No
--------------------------------------------------------------------------------
0/1/0 SPA-OC192POS-XFP 2.5 spa fpga1 0 1.02 No
--------------------------------------------------------------------------------
0/1/1 SPA-8X1GE 2.2 spa fpga1 1 1.10 No
--------------------------------------------------------------------------------
0/6/SP FP40 0.1 lc rommonA 0 1.53 Yes
lc rommon 0 2.05 Yes
--------------------------------------------------------------------------------
0/6/CPU0 4-10GBE 0.3 lc fpga1 0 15.00 No
lc rommonA 0 1.53 Yes
lc rommon 0 2.05 Yes
--------------------------------------------------------------------------------
0/7/SP 40G-MSC 0.6 lc rommonA 0 2.01* No
lc rommon 0 2.04 Yes
--------------------------------------------------------------------------------
0/7/CPU0 40G-MSC 0.6 lc rommonA 0 2.01* No
lc rommon 0 2.04 Yes
--------------------------------------------------------------------------------
0/RP0/CPU0 PRP N/A lc rommonA 0 2.04* No
--------------------------------------------------------------------------------
0/RP0/CPU0 PRP N/A lc rommon 1 2.05 Yes
--------------------------------------------------------------------------------
0/RP0/CPU0 PRP 7.0 lc fpga1 2 7.00 No
--------------------------------------------------------------------------------
0/RP0/CPU0 PRP N/A lc fpga2 3 0.01 No
--------------------------------------------------------------------------------
0/RP0/CPU0 PRP 13.0 lc fpga3 4 13.00 Yes
--------------------------------------------------------------------------------
0/RP0/CPU0 PRP N/A lc fpga4 5 0.01 No
--------------------------------------------------------------------------------
0/RP0/CPU0 PRP N/A lc fpga5 6 0.01 No
--------------------------------------------------------------------------------
0/RP1/CPU0 PRP N/A lc rommonA 0 2.05* No
--------------------------------------------------------------------------------
0/RP1/CPU0 PRP N/A lc rommon 1 2.05 Yes
--------------------------------------------------------------------------------
0/RP1/CPU0 PRP 7.0 lc fpga1 2 7.00 No
--------------------------------------------------------------------------------
0/RP1/CPU0 PRP N/A lc fpga2 3 0.01 No
--------------------------------------------------------------------------------
0/RP1/CPU0 PRP 13.0 lc fpga3 4 13.00 Yes
--------------------------------------------------------------------------------
0/RP1/CPU0 PRP N/A lc fpga4 5 0.01 No
--------------------------------------------------------------------------------
0/RP1/CPU0 PRP N/A lc fpga5 6 0.01 No
--------------------------------------------------------------------------------
0/SM0/SP Fabric HS123 Superstar 0.2 lc rommonA 0 2.01 Yes
lc rommon 0 2.05 Yes
lc fpga1 0 6.04 No
lc fpga2 0 4.00 No
--------------------------------------------------------------------------------
0/SM1/SP Fabric HS123 Superstar 0.2 lc rommonA 0 2.01 Yes
lc rommon 0 2.05 Yes
lc fpga1 0 6.04 No
lc fpga2 0 4.00 No
--------------------------------------------------------------------------------
0/SM2/SP Fabric HS123 Superstar 0.2 lc rommonA 0 2.01 Yes
lc rommon 0 2.05 Yes
lc fpga1 0 6.04 No
lc fpga2 0 4.00 No
--------------------------------------------------------------------------------
The latest ROMMON revision can be downloaded from Cisco.com (ROMMON Software).
After you download the tar file, extract the ROMMON images in preparation for the upload to the router.
Copy the bin files to disk0 or disk1 of the active Route Processor (RP); the harddisk cannot be used.
RP/0/RP1/CPU0:CRS-H#copy tftp://10.0.0.1/rommon-hfr-x86e-kensho.bin disk0:
DRP-B SP | rommon-hfr-ppc8255-sp-A.bin; rommon-hfr-ppc8255-sp-B.bin |
DRP-B CPU0 | rommon-hfr-ppc7455-asmp-A.bin;rommon-hfr-ppc7455-asmp-B.bin |
DRP-B CPU1 | rommon-hfr-ppc7455-asmp-A.bin;rommon-hfr-ppc7455-asmp-B.bin |
RP | rommon-hfr-ppc7455-asmp-A.bin;rommon-hfr-ppc7455-asmp-B.bin |
RP-B | rommon-hfr-ppc7455-asmp-A.bin;rommon-hfr-ppc7455-asmp-B.bin |
PRP | rommon-hfr-x86e-prp.bin |
MSC-A SP | rommon-hfr-ppc8255-sp-A.bin; rommon-hfr-ppc8255-sp-B.bin |
MSC-A CPU | rommon-hfr-ppc7455-asmp-A.bin;rommon-hfr-ppc7455-asmp-B.bin |
MSC-B SP | rommon-hfr-ppc8255-sp-A.bin; rommon-hfr-ppc8255-sp-B.bin |
MSC-B CPU | rommon-hfr-ppc7455-asmp-A.bin;rommon-hfr-ppc7455-asmp-B.bin |
CRS-3 MSC | rommon-hfr-x86e-kensho.bin |
CRS-X MSC | rommon-hfr-x86e-kensho-gl.bin |
CRS-1 Fabric SP | rommon-hfr-ppc8255-sp-A.bin; rommon-hfr-ppc8255-sp-B.bin |
CRS-3 Fabric SP | rommon-hfr-ppc8347-sp-A.bin;rommon-hfr-ppc8347-sp-B.bin |
CRS-X Fabric SP | rommon-hfr-p1013-sp-A.bin; rommon-hfr-p1013-sp-B.bin |
SC-GE | rommon-hfr-ppc7450-sc-dsmp-A.bin; rommon-hfr-ppc7450-sc-dsmp-B.bin |
SC-22GE | rommon-hfr-ppc7455-asmp-A.bin; rommon-hfr-ppc7455-asmp-B.bin |
SC-22GE-B | rommon-hfr-x86e-kensho-gl-sc.bin (2.09 onwards) |
The command to upgrade ROMMON from a bin file is hidden and uses this syntax:
upgrade [rommonA | rommonB] [all | location <loc>] [disk0 | disk1]
Because rommonA is the golden ROMMON backup, it is advisable to upgrade rommonB first and only upgrade rommonA after you verify that rommonB has been upgraded correctly.
RP/0/RP1/CPU0:CRS-H(admin)#upgrade rommonB all disk0
Wed Dec 11 01:52:35.719 UTC
Please do not power cycle, reload the router or reset any nodes until
all upgrades are completed.
Please check the syslog to make sure that all nodes are upgraded successfully.
If you need to perform multiple upgrades, please wait for current upgrade
to be completed before proceeding to another upgrade.
Failure to do so may render the cards under upgrade to be unusable.
When you perform the upgrade, several syslog messages are printed. The most important message is OK, ROMMON B is programmed successfully.
RP/1/RP1/CPU0:Dec 11 01:52:36.290 : upgrade_daemon[367]: Running rommon upgrade
RP/1/RP1/CPU0:Dec 11 01:52:36.408 : syslog_dev[91]: upgrade_daemon[367]:
Starting init
RP/1/RP1/CPU0:Dec 11 01:52:36.408 : syslog_dev[91]: upgrade_daemon[367]: Opening
rommon bin file
RP/1/RP1/CPU0:Dec 11 01:53:22.169 : syslog_dev[91]: upgrade_daemon[367]: Unlocking
SPI Flash
RP/1/RP1/CPU0:Dec 11 01:53:22.169 : syslog_dev[91]: upgrade_daemon[367]: Erasing
ROMMON B...
RP/1/RP1/CPU0:Dec 11 01:53:22.169 : syslog_dev[91]: upgrade_daemon[367]:
Programming SPI Flash ROMMON B
RP/1/RP1/CPU0:Dec 11 01:53:22.169 : syslog_dev[91]: upgrade_daemon[367]:
RP/1/RP1/CPU0:Dec 11 01:53:22.169 : syslog_dev[91]: upgrade_daemon[367]: Verifying
ROMMON B:
RP/1/RP1/CPU0:Dec 11 01:53:22.169 : syslog_dev[91]: upgrade_daemon[367]: PASSED.
RP/1/RP1/CPU0:Dec 11 01:53:22.169 : syslog_dev[91]: upgrade_daemon[367]: OK, ROMMON
B is programmed successfully.
Reload the cards that were upgraded in order to use the new ROMMON revision.
After the reload, verify that the upgrade was successful with the admin show hw-module fpd location all command before you upgrade rommonA.
Revision | Publish Date | Comments |
---|---|---|
1.0 |
11-Jul-2014 |
Initial Release |