Upgrade Cisco switch from USB stick

Their is several methods and tools to use when you need to upgrade a Cisco Switch today. Some of them require that the switch is online at the network and some not. If you want to upgrade it manually their is two ways of doing this, copying the .bin file with tftp or via USB and then change all boot parameters manually or use a .tar file in combination with the archive command. This second step is the method I prefer and this guide is going to guide you through how to upgrade a stack of three Cisco 2960X from a .tar image file from a USB stick.

The first thing you need to do is going to Cisco.com and download the IOS software you want to use, in this guide I will upgrade from Version 15.0(2a)EX5 to 15.2(2)E3 so I am using this file, c2960x-universalk9-tar.152-2.E3.tar. After that you need to get a USB stick and format it to either FAT16 or FAT32 so the Cisco switch can read it. The just copy the file to the USB stick and then connect it to your switch.

First verify the current software version on the switches before upgrading, use the show version command

Switch#show version

Switch Ports Model SW Version SW Image
—— —– —– ———- ———-
* 1 52 WS-C2960X-48TS-L 15.0(2a)EX5 C2960X-UNIVERSALK9-M
2 52 WS-C2960X-48TS-L 15.0(2a)EX5 C2960X-UNIVERSALK9-M
3 28 WS-C2960X-24PS-L 15.0(2a)EX5 C2960X-UNIVERSALK9-M

The locate your USB stick in the switch using the dir command so you know the full path to the .tar file.

Switch#dir usbflash11:
Directory of usbflash1:/

1 -rw- 26880000 Dec 8 2015 13:30:30 +00:00 c2960x-universalk9-tar.152-2.E3.tar

After you have verified the location of the .tar file, use the archive command to extract the tar file and set the correct boot parameters.

archive download-sw /overwrite usbflash1:/c2960x-universalk9-tar.152-2.E3.tar

This command will first print out some properties for the IOS image in the .tar file and then starting to extract the new image to each switch automatically. If the flash on the switch doesn´t has enough free space the script will automatically remove the old image. Below is some example text from the extract process.

extracting c2960x-universalk9-mz.152-2.E3/info (786 bytes)
extracting info (109 bytes)

Stacking Version Number: 1.56

System Type: 0x00000000
Ios Image File Size: 0x0144B200
Total Image File Size: 0x019A2A00
Minimum Dram required: 0x08000000
Image Suffix: universalk9-152-2.E3
Image Directory: c2960x-universalk9-mz.152-2.E3
Image Name: c2960x-universalk9-mz.152-2.E3.bin
Image Feature: IP|LAYER_2|SSH|3DES|MIN_DRAM_MEG=128
FRU Module Version: No FRU Version Specified

Old image for switch 1: unknown
Old image for switch 2: flash2:/c2960x-universalk9-mz.150-2a.EX5
Old image will be deleted before download.
Old image for switch 3: flash3:/c2960x-universalk9-mz.150-2.EX5
Old image will be deleted before download.

Extracting images from archive into flash…
Deleting `flash2:/c2960x-universalk9-mz.150-2a.EX5′ to create required space
c2960x-universalk9-mz.152-2.E3/ (directory)
extracting c2960x-universalk9-mz.152-2.E3/info (786 bytes)
…..

Extracting images from archive into flash on switch 2…
c2960x-universalk9-mz.152-2.E3/ (directory)
Extracting images from archive into flash on switch 3…
c2960x-universalk9-mz.152-2.E3/ (directory)

The last step in the upgrade process renaming the folders on the flash and replace the dc profiles

Installing (renaming): `flash:update/c2960x-universalk9-mz.152-2.E3′ ->
`flash:/c2960x-universalk9-mz.152-2.E3′
New software image installed in flash:/c2960x-universalk9-mz.152-2.E3

Installing (renaming): `flash2:/update/c2960x-universalk9-mz.152-2.E3′ ->
`flash2:/c2960x-universalk9-mz.152-2.E3′
New software image installed in flash2:/c2960x-universalk9-mz.152-2.E3

Installing (renaming): `flash3:/update/c2960x-universalk9-mz.152-2.E3′ ->
`flash3:/c2960x-universalk9-mz.152-2.E3′
New software image installed in flash3:/c2960x-universalk9-mz.152-2.E3

Deleting old files from dc profile dir “flash:/dc_profile_dir”

extracting dc profile file from “flash:/c2960x-universalk9-mz.152-2.E3/dc_default_profiles.txt” to “flash:/dc_profile_dir/dc_default_profiles.txt”

Deleting old files from dc profile dir “flash2:/dc_profile_dir”

extracting dc profile file from “flash2:/c2960x-universalk9-mz.152-2.E3/dc_default_profiles.txt” to “flash2:/dc_profile_dir/dc_default_profiles.txt”

Deleting old files from dc profile dir “flash3:/dc_profile_dir”

extracting dc profile file from “flash3:/c2960x-universalk9-mz.152-2.E3/dc_default_profiles.txt” to “flash3:/dc_profile_dir/dc_default_profiles.txt”
All software images installed.

The next step is to verify that the new image is located on all the switches before the reboot. Use the show flash command for all the switches, show flash1, show flash2, show flash3 in my case.

Switch#show flash2
3796464K bytes of USB Flash usbflash1 (Read/Write)

Directory of flash2:/

646 -rwx 2429 Dec 8 2015 13:02:44 +00:00 config.text.backup
2 -rwx 2429 Dec 8 2015 13:02:44 +00:00 config.text
3 -rwx 5 Dec 8 2015 13:02:44 +00:00 private-config.text
4 -rwx 2072 Dec 8 2015 12:58:25 +00:00 multiple-fs
647 -rwx 5 Dec 8 2015 13:02:44 +00:00 private-config.text.backup
5 drwx 512 Dec 8 2015 13:37:44 +00:00 c2960x-universalk9-mz.152-2.E3
644 drwx 512 Dec 8 2015 13:37:46 +00:00 dc_profile_dir

122185728 bytes total (95072768 bytes free)

The last step before restarting the switches is to check that the boot parameters are correct using the show boot command.

Switch#show boot
BOOT path-list : flash:/c2960x-universalk9-mz.152-2.E3/c2960x-universalk9-mz.152-2.E3.bin
Config file : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break : yes
Manual Boot : no
HELPER path-list :
Auto upgrade : yes
Auto upgrade path :
NVRAM/Config file
buffer size: 524288
Timeout for Config
Download: 0 seconds
Config Download
via DHCP: disabled (next boot: disabled)
——————-
Switch 2
——————-
BOOT path-list : flash:/c2960x-universalk9-mz.152-2.E3/c2960x-universalk9-mz.152-2.E3.bin
Config file : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break : yes
Manual Boot : no
HELPER path-list :
Auto upgrade : no
Auto upgrade path :
——————-
Switch 3
——————-
BOOT path-list : flash:/c2960x-universalk9-mz.152-2.E3/c2960x-universalk9-mz.152-2.E3.bin
Config file : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break : yes
Manual Boot : no
HELPER path-list :
Auto upgrade : no
Auto upgrade path :

now it´s time to save your config and execute the reload command to reboot your switch. When the switch is up and running aging, verify that the upgrade went well with the show version command.

Switch#show version
Switch Ports Model SW Version SW Image
—— —– —– ———- ———-
* 1 52 WS-C2960X-48TS-L 15.2(2)E3 C2960X-UNIVERSALK9-M
2 52 WS-C2960X-48TS-L 15.2(2)E3 C2960X-UNIVERSALK9-M
3 28 WS-C2960X-24PS-L 15.2(2)E3 C2960X-UNIVERSALK9-M

This is how i prefer to upgrade a switch when I have the switch locally. If you have any suggestions or questions, leave a comment below.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.