Upgrade ROMMON on C6500 SUP2

This publication describes how to determine if you need to upgrade the ROMMON on your Catalyst 6000 family or Cisco 7600 series Internet Router Supervisor Engine 2 (WS-X6K-S2-MSFC2, WS-X6K-S2U-MSFC2) and also provides the procedure to download the new ROMMON image from Cisco.com and then upgrade the ROMMON on your Supervisor Engine 2.

With this procedure, you can upgrade the ROMMON image similar to the way that you upgrade the operating system software (supervisor engine software or MSFC Cisco IOS software). Without this procedure, you have to order the upgrade kit and physically replace the ROMMON (boot ROM).

Login required URL:

Login not required:

c6509#sho mod
Mod Ports Card Type Model Serial No.
— —– ————————————– —————— ———–
1 2 Catalyst 6000 supervisor 2 (Active) WS-X6K-SUP2-2GE
3 8 8 port 1000mb GBIC Enhanced QoS WS-X6408A-GBIC
4 48 48 port 10/100 mb RJ-45 ethernet WS-X6248-RJ-45

Mod MAC addresses Hw Fw Sw Status
— ———————————- —— ———— ———— ——-
1 0001.6475.e578 to 0001.6475.e579 2.2 6.1(3) 12.1(26)E8 Ok
3 0005.3134.ddac to 0005.3134.ddb3 2.0 5.4(2) 8.5(0.9)TFW3 Ok
4 00d0.c0cd.f968 to 00d0.c0cd.f997 1.2 5.1(1)CSX 8.5(0.9)TFW3 Ok

Mod Sub-Module Model Serial Hw Status
— ————————— ————— ————— ——- ——-
1 Policy Feature Card 2 WS-F6K-PFC2 SAD099999F 1.3 Ok
1 Cat6k MSFC 2 daughterboard WS-F6K-MSFC2 SAD0999YZP 1.2 Ok

c6509#upgrade rom-monitor slot 1 sp file tftp://192.168.1.1/cat6000-sup2-rm2.7-1-1.srec
Copying tftp://192.168.1.1/cat6000-sup2-rm2.7-1-1.srec onto SP’s bootflash…
Loading cat6000-sup2-rm2.7-1-1.srec from 192.168.1.1 (via Vlan998): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK – 412891 bytes]

Loading cat6000-sup2-rm2.7-1-1.srec from 192.168.1.1 (via Vlan998): !
c6509#
c6509#show rom-monitor slot 1 sp

Region F1: FIRST_RUN, preferred Region
F2: INVALID

Currently running ROMMON from S (Gold) region

After power cycle…

c6509>sho mod
Mod Ports Card Type Model Serial No.
— —– ————————————– —————— ———–
1 2 Catalyst 6000 supervisor 2 (Active) WS-X6K-SUP2-2GE
3 8 8 port 1000mb GBIC Enhanced QoS WS-X6408A-GBIC
4 48 48 port 10/100 mb RJ-45 ethernet WS-X6248-RJ-45

Mod MAC addresses Hw Fw Sw Status
— ———————————- —— ———— ———— ——-
1 0001.6475.e578 to 0001.6475.e579 2.2 7.1(1) 12.2(18)SXF1 Ok
3 0005.3134.ddac to 0005.3134.ddb3 2.0 5.4(2) 8.5(0.46)RFW Ok
4 00d0.c0cd.f968 to 00d0.c0cd.f997 1.2 5.1(1)CSX 8.5(0.46)RFW Ok

Mod Sub-Module Model Serial Hw Status
—- ————————— —————— ———– ——- ——-
1 Policy Feature Card 2 WS-F6K-PFC2 SAD0999999F 1.3 Ok
1 Cat6k MSFC 2 daughterboard WS-F6K-MSFC2 SAD0999YZP 1.2 Ok

Mod Online Diag Status
—- ——————-
1 Pass
3 Pass
4 Pass

Software RAID

Some useful links to software based RAID:

Replacing a disk

[root@server ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdc3[1]
78911168 blocks [2/1] [_U]

md0 : active raid1 hdc1[1]
104320 blocks [2/1] [_U]

unused devices: <none>

Replacing a software based raid disk is fairly straight forward, however, on this occasion the system saw the new disk with different head counts and cylinders.

[root@server ~]# fdisk -l /dev/hda

Disk /dev/hda: 81.9 GB, 81964302336 bytes
16 heads, 63 sectors/track, 158816 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Device Boot Start End Blocks Id System
[root@server ~]# fdisk -l /dev/hdc

Disk /dev/hdc: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 * 1 13 104391 fd Linux raid autodetect
/dev/hdc2 14 140 1020127+ 82 Linux swap / Solaris
/dev/hdc3 141 9964 78911280 fd Linux raid autodetect

Two ways of changing this, one includes rebooting.

  1. In grubs grub.conf change the kernel line to reflect what the values should be:
    WAS: kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/md1
    NOW: kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/md1 hda=9964,255,63
  2. Or, execute command:
    echo bios_head:255 > /proc/ide/hda/settings

In this case I went for the echo option and below are the results…

[root@server ~]# fdisk -l /dev/hda

Disk /dev/hda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

Now, I can manually edit the partition table with fdisk /dev/hda or sfdisk.

[root@server ~]# sfdisk -d /dev/hdc | sfdisk /dev/hda

But, that some times gives an error, so I did it by hand with fdisk /dev/hda. Once complete/dev/hda looks the same:

[root@server ~]# fdisk -l /dev/hda

Disk /dev/hda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 13 104391 fd Linux raid autodetect
/dev/hda2 14 140 1020127+ 82 Linux swap / Solaris
/dev/hda3 141 9964 78911280 fd Linux raid autodetect

Restart the raid syncronisation:

[root@server ~]# mdadm /dev/md0 -a /dev/hda1
mdadm: hot added /dev/hda1
[root@server ~]# mdadm /dev/md1 -a /dev/hda3
mdadm: hot added /dev/hda3

[root@server ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hda3[2] hdc3[1]
78911168 blocks [2/1] [_U]
[>………………..] recovery = 0.3% (241920/78911168) finish=75.8min speed=17280K/sec
md0 : active raid1 hda1[0] hdc1[1]
104320 blocks [2/2] [UU]

unused devices: <none>

Just wait for it to finish now and hope the new disk has no errors.

Don’t forget about the swap partition, in this case /dev/hdc2.  As it’s already been partitioned you will need to set it up for being a swap partition:

 [root@server ~]# mkswap /dev/hdc2
[root@server ~]# swapon /dev/hdc2

That should ensure that the swap is mounted after reboot.