C3550 firmware upgrade (*.tar format image): Phew…It always keep me on suspense
Important: Before you begin to do upgrading, please check out whether your platform has enough memory to run the image or not, you can find IOS software information from this link:
http://tools.cisco.com/ITDIT/CFN/jsp/index.jsp
3550-2#conf t
3550-2(config)#int vlan 1
3550-2(config-if)#ip address 10.0.0.1 255.255.255.0
3550-2(config-if)#no shut
3550-2(config-if)#exit
3550-2(config)#ip dhcp pool temp-ip
3550-2(dhcp-config)#network 10.0.0.1 255.255.255.0
3550-2(dhcp-config)#default-router 10.0.0.1
3550-2(dhcp-config)#exit
3550-2(config)#ip dhcp excluded-address 10.0.0.1
3550-2(config)#do ping 10.0.0.2
You can use any vlan you want as long as the vlan exists, I use vlan 1 as convenience, by default all ports belong to vlan 1, fa0/23 is an unused port of my switch and has never been assigned to created vlan yet.
Setting up the dhcp pool is for convenience too, I do not want to hardcode my tcp/ip properties of my nic.
3550-2(config)#do ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Don’t assume, you must verify if the tftp destination is alive or not, remember to turn off your software firewall.
3550-2#delete flash:?
flash:c3550-ipservicesk9-mz.122-44.SE6.bin flash:config.text flash:multiple-fs
flash:private-config.text flash:vlan.dat
3550-2#delete flash:
Delete filename []? c3550-ipservicesk9-mz.122-44.SE6.bin
Delete flash:c3550-ipservicesk9-mz.122-44.SE6.bin? [confirm]
This is something I do not like to do, why can’t the image be overwritten? I hate deleting firmware, however for this case my switch only has 16mb flash which is just enough for one IOS.
3550-2#archive download-sw /overwrite tftp://10.0.0.2/c3550-ipservicesk9-tar.122-46.SE.tar
Don’t be fooled by the /overwrite keyword it is only overwriting the boot path and not overwriting your current image with the latest one, if you do not delete the current image attempting to do this command will not be successful, the switch will complain that not enough space for the image.
3550-2#dir (The full command is dir flash: the “:” is necessary)
Directory of flash:/
3 -rwx 3836 Mar 1 1993 02:12:38 +00:00 private-config.text
4 -rwx 1104 Mar 1 1993 01:03:51 +00:00 vlan.dat
8 drwx 192 Mar 1 1993 00:19:50 +00:00 c3550-ipservicesk9-mz.122-46.SE
6 -rwx 5819 Mar 1 1993 02:12:37 +00:00 config.text
7 -rwx 3096 Mar 1 1993 02:12:38 +00:00 multiple-fs
329 -rwx 0 Mar 1 1993 00:19:50 +00:00 env_vars
330 -rwx 79 Mar 1 1993 00:19:50 +00:00 system_env_vars
15998976 bytes total (4574208 bytes free)
Don’t assume and do not take things for granted, always verify before reloading the switch! The word drwx is actually a directory.
3550-2#
3550-2#dir c3550-ipservicesk9-mz.122-46.SE
Directory of flash:/c3550-ipservicesk9-mz.122-46.SE/
9 drwx 4416 Mar 1 1993 00:14:32 +00:00 html
326 -rwx 9612718 Mar 1 1993 00:19:50 +00:00 c3550-ipservicesk9-mz.122-46.SE.bin
327 -rwx 285 Mar 1 1993 00:19:50 +00:00 info
15998976 bytes total (4574208 bytes free)
Again never assume, go into the directory and see it for yourself, great the bin file is inside…
3550-2#sh boot
BOOT path-list: flash:c3550-ipservicesk9-mz.122-46.SE/c3550-ipservicesk9-mz.122-46.SE.bin
Config file: flash:/config.text
Private Config file: flash:/private-config.text
Enable Break: no
Manual Boot: no
HELPER path-list:
NVRAM/Config file
buffer size: 393216
3550-2#
Again before reloading make sure the boot path has been overwritten after the upgrade, the boot path showed the latest firmware!
Now reload the switch!
The other scariest thing was if something went wrong i.e. the new image did not boot for some reason…
Phew!! Luckily it went successfully!
3550-2#sh version
Cisco IOS Software, C3550 Software (C3550-IPSERVICESK9-M), Version 12.2(46)SE, RELEASE SOFTWARE (fc2)
Copyright (c) 1986-2008 by Cisco Systems, Inc.
<output truncated>
3550-2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
3550-2(config)#int vlan 1
3550-2(config-if)#no ip address
3550-2(config-if)#shut
3550-2(config)#no ip dhcp pool temp-ip
3550-2(config)#no ip dhcp excluded-address 10.0.0.1
3550-2(config)#
3550-2(config)#end
3550-2#wr