• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Roger Perkin Network Automation Consultant

Covering all things Network Automation

  • Network Automation
    • Network Automation Consultant
    • Network Automation Courses
    • What is NetDevOps?
    • Workflow Orchestration
    • Ansible Automation Platform
    • Ansible Workshop
    • What is Network Automation?
    • Network Automation Tools
    • ContainerLab
    • FAQ
    • Ansible Training
      • What is Ansible?
      • Ansible Tutorial for Beginners
      • Ansible Network Automation
      • Ansible Inventory Example
    • Python Network Automation
      • Nornir
      • Python for Network Engineers
      • Python VENV / Virtual Environment Tutorial
      • Python Tutorial for Beginners
      • pyATS
    • Network Source of Truth
      • NetBox Training
      • Infrahub
      • NautoBot Training
    • NetDevops
    • DevOps Tutorial
      • Git Training
      • Terraform Training
      • Linux Training
      • Kubernetes Training
      • Devops Training Course
      • Azure Devops Training
    • Terraform
    • GIT
      • Git Commands
      • What is GitHub?
    • Docker Training
    • Confluence
    • Microsoft Azure
  • Cisco
    • ISE
    • SD WAN Training
    • Password Recovery
    • Software-Upgrade-Guides
    • BGP
    • Data Center
    • WIRELESS
  • CCIE
  • Blog
  • About
    • My Red Special Guitar
  • Contact

How to Upgrade IOS on Cisco 4500X Switch

Home » Cisco » switching » 4500x

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

cisco 4500x software upgrade

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.

 

 

 

 

 

 

 

 

 

Category: 4500x, Software-Upgrade-GuidesTag: 4500x, cisco, IOS, Kingston USB, software upgrade
ansible course for network engineers
Get Access to my Ansible Course NOW
Previous Post:cisco 3700 access pointCisco Access Point Default Password
Next Post:BGP Listen Range Commandbgp local preference topology

Reader Interactions

Comments

  1. Paul

    April 3, 2015 at 11:04 pm

    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.

    • Roger Perkin

      April 4, 2015 at 8:57 pm

      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.

  2. Mohana bn

    January 16, 2017 at 7:07 pm

    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.

    • Roger Perkin

      January 20, 2017 at 10:14 pm

      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!

Sidebar

Hi I'm Roger Perkin,
Based in the UK working as a Network Automation Architect, CCIE #50038
About Roger | Twitter | Linkedin

Python for Network Engineers Course

Topics

Network Automation
Ansible Network Automaton
Python for Network Automation
CCIE
BGP
OSPF
Network Automation Conferences

Git for Network Engineers

Ansible vs Nornir

Start learning today with my Network Automation Courses

Master Ansible, Python, Git, Nornir, Jenkins and more..


Buy me a coffeeBuy me a coffee

ansible network automation course

Have you seen my YouTube Channel?

YouTube Subscribe

Let’s get started

Take a look at my premium courses on Ansible, Nornir & Git or buy them all with the Network Automation Bundle!

Network Automation Courses

Navigation

Python VENV Tutorial
Python for Network Engineers Course

Network Automation
Network Automation Courses
Network Discovery Tools
Network Automation Conferences
Ansible Training
What is Ansible?
Devops Tutorial
Network Source of Truth
DevOps Glossary
Network Monitoring Software

Contact

Contact

Get in touch with me here

[email protected]

  • Twitter
  • LinkedIn
  • YouTube
Buy me a coffeeBuy me a coffee

Copyright © 2026 · Roger Perkin Network Automation Consultant · All Rights Reserved · Privacy Policy – Terms