The post describes the process of how to upgrade the IOS / Software on a Cisco 4500X switch.
I will not be covering how to do a hitless upgrade using ISSU with 2 switches in a VSS pair. This process is performed on two switches which are not in production. So to perform the upgrade I have disconnected the VSS link and will upgrade each switch in turn and will then connect the VSS link again.
First copy your image file into the bootflash: of the switch, this can be done via TFTP or USB.
USB is the much easier solution, for this to work you need a compatible USB stick, I have always used a Kingston brand and have never had any problems.
This is the exact USB stick I use for upgrading IOS on Cisco Switches
Kingston 32Gb USB Flash with Metal Casing
Insert the USB stick into the slot on the front of the Cisco 4500X switch as shown above.
From the CLI issue the command dir usbb0: If you get (No such device) your USB is not supported
4500X-SW-01#dir usb0: %Error opening usb0:/ (No such device)
If your USB is supported this is the output you will see
4500X-SW-01#dir usb0:
Directory of usb0:/
176 -rwx 173555452 Mar 23 2015 18:59:44 +00:00 cat4500e-universalk9.SPA.03.05.03.E.152-1.E3.bin
You now need to copy this image from the USB to the bootflash: using the following command
copy usb0:cat4500e-universalk9.SPA.03.05.03.E.152-1.E3.bin bootflash:
This will copy the image onto the bootflash of the switch.
You now need to tell the switch to boot this image.
There are 2 options to do this – Option 1 Rename old IOS
By default the config-register of the switches will be set to 0x2101 when the appliance is shipped out.
The last octet of “1” basically tells the appliance to IGNORE the boot variable string and boot the first valid IOS
(from top to bottom) found in the bootflash.
So you can either delete the old image or rename it. I prefer to rename it.
rename bootflash:OLD_IOS_filename.bin bootflash:OLD_IOS_filename.bin
If you now reload the switch it will boot the newer image.
Option 2 – change boot variable and config-register
The second option is to create a new boot variable
In global config enter the command.
boot system flash bootflash:cat4500e-universalk9.SPA.03.05.03.E.152-1.E3.bin (or your new image name)
Just this will not do anything as with the config register set to 0X2101 it will ignore the boot variable set.
If you change the config-register to 0X2102 the switch will then reference the boot variable.
In global config
config-register 0x2102
Save the config and reload the switch.
You may need to delete any other boot variable settings
Check this with sh ver | inc boot
If there is a second one referencing the old image delete it.
Repeat this operation on the second switch and when both have booted using the new image connect up the VSS link.
great post, especially the info about the boot variable.
not sure about IOS-XE but with the original IOS I used to format a usb stick from the CLI prior to putting an image on it.
Paul, with the 4500X and 3850s they just recognise the Kingston USB stick I mentioned without a problem. I have been using it for ages without any issues.
Switch#dir usb0:
%Error opening usb0:/ (No such device)
I connected 32gb sandisk usb to 4510r+e switch i am getting above error i did fat16 FORMATION also again i am getting same error please help me out.
Try using a smaller USB, not all USBs are supported and I find that smaller ones are better. I have a 2Gb one that I have used for years and it just works. Some do some don’t I haven’t found the logic yet!