Upgrading the Switch Software

Finding the Software Version

The package files for the Cisco IOS XE software are stored on the system board flash device (flash:).

You can use the show version privileged EXEC command to see the software version that is running on your switch.


Note


Although the show version output always shows the software image running on the switch, the model name shown at the end of this display is the factory configuration and does not change if you upgrade the software license.

You can also use the dir filesystem: privileged EXEC command to see the directory names of other software images that you might have stored in flash memory.

Software Images

Release

Image Type

File Name

Cisco IOS XE Cupertino 17.9.7

CAT9K_IOSXE

cat9k_iosxe.17.09.07.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.09.07.SPA.bin

Cisco IOS XE Cupertino 17.9.6a

CAT9K_IOSXE

cat9k_iosxe.17.09.06a.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe.17.09.06a.SPA.bin

Cisco IOS XE Cupertino 17.9.5

CAT9K_IOSXE

cat9k_iosxe.17.09.05.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.09.05.SPA.bin

Cisco IOS XE Cupertino 17.9.4a

CAT9K_IOSXE

cat9k_iosxe.17.09.04a.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.09.04a.SPA.bin

Cisco IOS XE Cupertino 17.9.4

CAT9K_IOSXE

cat9k_iosxe.17.09.04.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.09.04.SPA.bin

Cisco IOS XE Cupertino 17.9.3

CAT9K_IOSXE

cat9k_iosxe.17.09.03.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.09.03.SPA.bin

Cisco IOS XE Cupertino 17.9.2

CAT9K_IOSXE

cat9k_iosxe.17.09.02.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.09.02.SPA.bin

Cisco IOS XE Cupertino 17.9.1

CAT9K_IOSXE

cat9k_iosxe.17.09.01.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.09.01.SPA.bin

Upgrading the ROMMON

To know the ROMMON or bootloader version that applies to every major and maintenance release, see ROMMON Versions.

You can upgrade the ROMMON before, or, after upgrading the software version. If a new ROMMON version is available for the software version you are upgrading to, proceed as follows:

  • Upgrading the ROMMON in the primary SPI flash device

    On the C9500-12Q, C9500-16X, C9500-24Q, C9500-40X models of the series, you must manually upgrade the ROMMON in the primary SPI flash device, if a new version is applicable, and the release you are upgrading from is Cisco IOS XE Gibraltar 16.12.1 or a later release. (So if you upgrade from Cisco IOS XE Gibraltar 16.11.1 for example, a manual upgrade does not apply; the ROMMON is automatically updated, if applicable). Enter the upgrade rom-monitor capsule primary switch command in privileged EXEC mode.

    On the C9500-24Y4C, C9500-32C, C9500-32QC, and C9500-48Y4C models of the series, this ROMMON is upgraded automatically. When you upgrade from an existing release on your switch to a later or newer release for the first time, and there is a new ROMMON version in the new release, the system automatically upgrades the ROMMON in the primary SPI flash device, based on the hardware version of the switch.

  • Upgrading the ROMMON in the golden SPI flash device

    You must manually upgrade this ROMMON. The manual upgrade applies to all models in the series. Enter the upgrade rom-monitor capsule golden switch command in privileged EXEC mode.


    Note


    • In case of a Cisco StackWise Virtual setup, upgrade the active and standby switch.


After the ROMMON is upgraded, it will take effect on the next reload. If you go back to an older release after this, the ROMMON is not downgraded. The updated ROMMON supports all previous releases.

Software Installation Commands

Summary of Software Installation Commands

Supported starting from Cisco IOS XE Everest 16.6.2 and later releases

To install and activate the specified file, and to commit changes to be persistent across reloads:

install add file filename [ activate commit]

To separately install, activate, commit, cancel, or remove the installation file: install ?

add file tftp: filename

Copies the install file package from a remote location to the device and performs a compatibility check for the platform and image versions.

activate [ auto-abort-timer]

Activates the file, and reloads the device. The auto-abort-timer keyword automatically rolls back image activation.

commit

Makes changes persistent over reloads.

rollback to committed

Rolls back the update to the last committed version.

abort

Cancels file activation, and rolls back to the version that was running before the current installation procedure started.

remove

Deletes all unused and inactive software installation files.


Note


The request platform software commands are deprecated starting from Cisco IOS XE Gibraltar 16.10.1. The commands are visible on the CLI in this release and you can configure them, but we recommend that you use the install commands to upgrade or downgrade.

Summary of request platform software Commands

Note

 
This table of commands is not supported on Cisco Catalyst 9500 Series Switches - High Performance.
Device# request platform software package ?

clean

Cleans unnecessary package files from media

copy

Copies package to media

describe

Describes package content

expand

Expands all-in-one package to media

install

Installs the package

uninstall

Uninstalls the package

verify

Verifies In Service Software Upgrade (ISSU) software package compatibility

Upgrading in Install Mode

Follow these instructions to upgrade from one release to another, using install commands, in install mode. To perform a software image upgrade, you must be booted into IOS through boot flash:packages.conf .

Before you begin

When upgrading from ...

Use these commands...

To upgrade to...

Cisco IOS XE Everest 16.5.1a or Cisco IOS XE Everest 16.6.1

Only request platform software commands

Cisco IOS XE Cupertino 17.9.x

Cisco IOS XE Everest 16.6.2 and all later releases

On Cisco Catalyst 9500 Series Switches, either install commands or request platform software commands1.

On Cisco Catalyst 9500 Series Switches - High Performance, only install commands2.

1 The request platform software commands are deprecated. So although they are still visible on the CLI, we recommend that you use install commands.
2 Introduced in Cisco IOS XE Fuji 16.8.1a.

The sample output in this section displays upgrade from Cisco IOS XE Cupertino 17.8.1 to Cisco IOS XE Cupertino 17.9.1 using install commands only.

Procedure


Step 1

Clean-up

install remove inactive

Use this command to clean-up old installation files in case of insufficient space and to ensure that you have at least 1GB of space in flash, to expand a new image.

The following sample output displays the cleaning up of unused files, by using the install remove inactive command:
Switch# install remove inactive
install_remove: START Wed Jul 27 19:51:48 UTC 2022
Cleaning up unnecessary package files
Scanning boot directory for packages ... done.
Preparing packages list to delete ...
    cat9k-cc_srdriver.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-espbase.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-guestshell.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-rpbase.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-rpboot.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-sipbase.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-sipspa.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-srdriver.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-webui.17.08.01.SPA.pkg
      File is in use, will not delete.
    cat9k-wlc.17.08.01.SPA.pkg
      File is in use, will not delete.
    packages.conf
      File is in use, will not delete.
  done.
The following files will be deleted:
[R0]:
/flash/cat9k-cc_srdriver.17.08.01.SPA.pkg
/flash/cat9k-espbase.17.08.01.SPA.pkg
/flash/cat9k-guestshell.17.08.01.SPA.pkg
/flash/cat9k-rpbase.17.08.01.SPA.pkg
/flash/cat9k-rpboot.17.08.01.SPA.pkg
/flash/cat9k-sipbase.17.08.01.SPA.pkg
/flash/cat9k-sipspa.17.08.01.SPA.pkg
/flash/cat9k-srdriver.17.08.01.SPA.pkg
/flash/cat9k-webui.17.08.01.SPA.pkg
/flash/cat9k-wlc.17.08.01.SPA.pkg
/flash/packages.conf
 
Do you want to remove the above files? [y/n]y
[R0]:
Deleting file flash:cat9k-cc_srdriver.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-espbase.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-guestshell.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-rpbase.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-rpboot.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-sipbase.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-sipspa.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-srdriver.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-webui.17.08.01.SPA.pkg ... done.
Deleting file flash:cat9k-wlc.17.08.01.SPA.pkg ... done.
Deleting file flash:packages.conf ... done.
SUCCESS: Files deleted.
--- Starting Post_Remove_Cleanup ---
Performing Post_Remove_Cleanup on all members
[1] Post_Remove_Cleanup package(s) on switch 1
[1] Finished Post_Remove_Cleanup on switch 1
Checking status of Post_Remove_Cleanup on [1]
Post_Remove_Cleanup: Passed on [1]
Finished Post_Remove_Cleanup
 
SUCCESS: install_remove Wed Jul 27 19:52:25 UTC 2022
Switch#

Step 2

Copy new image to flash

  1. copy tftp:[[//location]/directory]/filenameflash:

    Use this command to copy the new image from a TFTP server to flash memory. The location is either an IP address or a host name. The filename is specified relative to the directory used for file transfers. Skip this step if you want to use the new image from a TFTP server.
    Switch# copy tftp://10.8.0.6/image/cat9k_iosxe.17.09.01.SPA.bin flash:
    destination filename [cat9k_iosxe.17.09.01.SPA.bin]?
    Accessing tftp://10.8.0.6/image/cat9k_iosxe.17.09.01.SPA.bin...
    Loading /cat9k_iosxe.17.09.01.SPA.bin from 10.8.0.6 (via GigabitEthernet0/0): 
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [OK - 601216545 bytes]
     
    601216545 bytes copied in 50.649 secs (11870255 bytes/sec)
    
     
  2. dir flash:

    Use this command to confirm that the image has been successfully copied to flash.
    Switch# dir flash:*.bin
    Directory of flash:/*.bin
     
    Directory of flash:/
     
    434184 -rw- 601216545    Jul 27 2022 10:18:11 -07:00 cat9k_iosxe.17.09.01.SPA.bin
    11353194496 bytes total (8976625664 bytes free)
    
    

Step 3

Set boot variable

  1. boot system flash:packages.conf

    Use this command to set the boot variable to flash:packages.conf .
    Switch(config)# boot system flash:packages.conf
    
  2. no boot manual

    Use this command to configure the switch to auto-boot. Settings are synchronized with the standby switch, if applicable.
    Switch(config)# no boot manual
    Switch(config)# exit
  3. write memory

    Use this command to save boot settings.
    Switch# write memory
  4. show bootvar or show boot

    Use this command to verify the boot variable (packages.conf) and manual boot setting (no):
    Switch# show bootvar               <<on the C9500-24Y4C,C9500-32C, C9500-32QC, and C9500-48Y4C models
    BOOT variable = bootflash:packages.conf
    MANUAL_BOOT variable = no
    BAUD variable = 9600
    ENABLE_BREAK variable = yes
    BOOTMODE variable does not exist
    IPXE_TIMEOUT variable does not exist
    CONFIG_FILE variable = 
    
    Standby BOOT variable = bootflash:packages.conf
    Standby MANUAL_BOOT variable = no
    Standby BAUD variable = 9600
    Standby ENABLE_BREAK variable = yes
    Standby BOOTMODE variable does not exist
    Standby IPXE_TIMEOUT variable does not exist
    Standby CONFIG_FILE variable = 
    Switch# show boot                        <<on the C9500-12Q,C9500-16X C9500-24Q, and C9500-40X models
    Current Boot Variables:
    BOOT variable = flash:packages.conf;
    
    Boot Variables on next reload:
    BOOT variable = flash:packages.conf;
    Manual Boot = no
    Enable Break = yes
    Boot Mode = DEVICE
    iPXE Timeout = 0 

Step 4

Install image to flash

install add file activate commit

Use this command to install the image.

We recommend that you point to the source image on your TFTP server or the flash drive of the active switch, if you have copied the image to flash memory. If you point to an image on the flash or USB drive of a member switch (instead of the active), you must specify the exact flash or USB drive - otherwise installation fails. For example, if the image is on the flash drive of member switch 3 (flash-3): Switch# install add file flash-3:cat9k_iosxe.17.09.01.SPA.bin activate commit.

The following sample output displays installation of the Cisco IOS XE Cupertino 17.9.1 software image in the flash memory:
Switch# install add file flash:cat9k_iosxe.17.09.01.SPA.bin activate commit
install_add_activate_commit: Adding PACKAGE
install_add_activate_commit: Checking whether new add is allowed ....
--- Starting Add ---
Performing Add on Active/Standby
 [1] Add package(s) on R0
 [1] Finished Add on R0

Checking status of Add on [R0]
Add: Passed on [R0]
Finished Add

Image added. Version: 17.9.01

install_add_activate_commit: Activating PACKAGE
Following packages shall be activated:
/flash/cat9k-wlc.17.09.01.SPA.pkg
/flash/cat9k-webui.17.09.01.SPA.pkg
/flash/cat9k-srdriver.17.09.01.SPA.pkg
/flash/cat9k-sipspa.17.09.01.SPA.pkg
/flash/cat9k-sipbase.17.09.01.SPA.pkg
/flash/cat9k-rpboot.17.09.01.SPA.pkg
/flash/cat9k-rpbase.17.09.01.SPA.pkg
/flash/cat9k-guestshell.17.09.01.SPA.pkg
/flash/cat9k-espbase.17.09.01.SPA.pkg
/flash/cat9k-cc_srdriver.17.09.01.SPA.pkg

This operation may require a reload of the system. Do you want to proceed? [y/n] y

--- Starting Activate ---

Performing Activate on Active/Standby
[1] Activate package(s) on R0
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.08.01.SPA.pkg
      Removed cat9k-espbase.17.08.01.SPA.pkg
      Removed cat9k-guestshell.17.08.01.SPA.pkg
      Removed cat9k-rpbase.17.08.01.SPA.pkg
      Removed cat9k-rpboot.17.08.01.SPA.pkg
      Removed cat9k-sipbase.17.08.01.SPA.pkg
      Removed cat9k-sipspa.17.08.01.SPA.pkg
      Removed cat9k-srdriver.17.08.01.SPA.pkg
      Removed cat9k-webui.17.08.01.SPA.pkg
      Removed cat9k-wlc.17.08.01.SPA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.09.01.SSA.pkg
      Added cat9k-espbase.17.09.01.SSA.pkg
      Added cat9k-guestshell.17.09.01.SSA.pkg
      Added cat9k-lni.17.09.01.SSA.pkg
      Added cat9k-rpbase.17.09.01.SSA.pkg
      Added cat9k-rpboot.17.09.01.SSA.pkg
      Added cat9k-sipbase.17.09.01.SSA.pkg
      Added cat9k-sipspa.17.09.01.SSA.pkg
      Added cat9k-srdriver.17.09.01.SSA.pkg
      Added cat9k-webui.17.09.01.SSA.pkg
      Added cat9k-wlc.17.09.01.SSA.pkg
    Finished list of software package changes
  [1] Finished Activate on R0
Checking status of Activate on [R0]
Activate: Passed on [R0]
Finished Activate

--- Starting Commit ---
Performing Commit on Active/Standby
  [1] Commit package(s) on R0
  [1] Finished Commit on R0
Checking status of Commit on [R0]
Commit: Passed on [R0]
Finished Commit
Send model notification for install_add_activate_commit before reload
Install will reload the system now!
SUCCESS: install_add_activate_commit  Wed Jul 27 12:13:05 IST 2022

Switch#Jul 27 12:13:11.023: %PMANTACTION: F0/0vp: Process manager is exiting: n requested
Jul 27 12:13:11.028: %PMAN-5-EXITACTION: C1/0: pvp: Process manager is exiting: reload fru action requested
Jul 27 12:13:11.825: %PMAN-5-EXITACTION: R0/0: pvp: Process manager is exiting: reload action requested

Initializing Hardware...
System Bootstrap, Version 17.4.1r[FC2], RELEASE SOFTWARE (P)

Compiled 30-04-2022 12:00:00.00 by rel
Current ROMMON image : Primary Rommon Image
Last reset cause:LocalSoft
C9500-32QC platform with 16777216 Kbytes of main memory
Preparing to autoboot. [Press Ctrl-C to interrupt]  5     5     /-\|/-\|/-4     \|/-\|/-\|3     /-\|/-\|/-2     \|/-\|/-\|1     /-\|/-\|/-0     

boot: attempting to boot from [bootflash:packages.conf]

boot: reading file packages.conf
<output truncated>

Note

 
The system reloads automatically after executing the install add file activate commit command. You do not have to manually reload the system.

Step 5

Verify installation

After the software has been successfully installed, use the dir flash: command to verify that the flash partition has ten new .pkg files and two .conf files.

  1. dir flash:*.pkg

    The following is sample output of the dir flash:*.pkg command:
    Switch# dir flash:*.pkg
     
    Directory of flash:/
    475140 -rw- 2012104   Mar 18 2022 09:52:41 -07:00 cat9k-cc_srdriver.17.08.01.SPA.pkg
    475141 -rw- 70333380  Mar 18 2022 09:52:44 -07:00 cat9k-espbase.17.08.01.SPA.pkg
    475142 -rw- 13256     Mar 18 2022 09:52:44 -07:00 cat9k-guestshell.17.08.01.SPA.pkg
    475143 -rw- 349635524 Mar 18 2022 09:52:54 -07:00 cat9k-rpbase.17.08.01.SPA.pkg
    475149 -rw- 24248187  Mar 18 2022 09:53:02 -07:00 cat9k-rpboot.17.08.01.SPA.pkg
    475144 -rw- 25285572  Mar 18 2022 09:52:55 -07:00 cat9k-sipbase.17.08.01.SPA.pkg
    475145 -rw- 20947908  Mar 18 2022 09:52:55 -07:00 cat9k-sipspa.17.08.01.SPA.pkg
    475146 -rw- 2962372   Mar 18 2022 09:52:56 -07:00 cat9k-srdriver.17.08.01.SPA.pkg
    475147 -rw- 13284288  Mar 18 2022 09:52:56 -07:00 cat9k-webui.17.08.01.SPA.pkg
    475148 -rw- 13248     Mar 18 2022 09:52:56 -07:00 cat9k-wlc.17.08.01.SPA.pkg
    
    491524 -rw- 25711568  Jul 27 2022 11:49:33 -07:00 cat9k-cc_srdriver.17.09.01.SPA.pkg
    491525 -rw- 78484428  Jul 27 2022 11:49:35 -07:00 cat9k-espbase.17.09.01.SPA.pkg
    491526 -rw- 1598412   Jul 27 2022 11:49:35 -07:00 cat9k-guestshell.17.09.01.SPA.pkg
    491527 -rw- 404153288 Jul 27 2022 11:49:47 -07:00 cat9k-rpbase.17.09.01.SPA.pkg
    491533 -rw- 31657374  Jul 27 2022 11:50:09 -07:00 cat9k-rpboot.17.09.01.SPA.pkg
    491528 -rw- 27681740  Jul 27 2022 11:49:48 -07:00 cat9k-sipbase.17.09.01.SPA.pkg
    491529 -rw- 52224968  Jul 27 2022 11:49:49 -07:00 cat9k-sipspa.17.09.01.SPA.pkg
    491530 -rw- 31130572  Jul 27 2022 11:49:50 -07:00 cat9k-srdriver.17.09.01.SPA.pkg
    491531 -rw- 14783432  Jul 27 2022 11:49:51 -07:00 cat9k-webui.17.09.01.SPA.pkg
    491532 -rw- 9160      Jul 27 2022 11:49:51 -07:00 cat9k-wlc.17.09.01.SPA.pkg
    11353194496 bytes total (9544245248 bytes free)
    Switch#
    
    
  2. dir flash:*.conf

    The following is sample output of the dir flash:*.conf command. It displays the .conf files in the flash partition; note the two .conf files:

    • packages.conf—the file that has been re-written with the newly installed .pkg files

    • cat9k_iosxe.17.09.01.SPA.conf— a backup copy of the newly installed packages.conf file

    Switch# dir flash:*.conf
     
    Directory of flash:/*.conf
    Directory of flash:/
    
    434197 -rw- 7406 Jul 27 2022 10:59:16 -07:00 packages.conf
    516098 -rw- 7406 Jul 27 2022 10:58:08 -07:00 cat9k_iosxe.17.09.01.SPA.conf
    11353194496 bytes total (8963174400 bytes free)
     

Step 6

show version

After the image boots up, use this command to verify the version of the new image.

The following sample output of the show version command displays the Cisco IOS XE Cupertino 17.9.1 image on the device:
Switch# show version
Cisco IOS XE Software, Version 17.09.01
Cisco IOS Software [Cupertino], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.9.1, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
<output truncated>

Downgrading in Install Mode

Follow these instructions to downgrade from one release to another, in install mode.

Before you begin

Note that you can use this procedure for the following downgrade scenarios:

When downgrading from ...

Use these commands...

To downgrade to...

Cisco IOS XE Cupertino 17.9.x

  • On Cisco Catalyst 9500 Series Switches, either install commands or request platform software commands3.

  • On Cisco Catalyst 9500 Series Switches - High Performance, only install commands

Cisco IOS XE Cupertino 17.8.x or earlier releases.

3 The request platform software commands are deprecated. So although they are still visible on the CLI, we recommend that you use install commands.

Note


New switch models that are introduced in a release cannot be downgraded. The release in which a switch model is introduced is the minimum software version for that model.

The sample output in this section shows downgrade from Cisco IOS XE Cupertino 17.9.1 to Cisco IOS XE Cupertino 17.8.1, using install commands.

Procedure


Step 1

Clean-up

install remove inactive

Use this command to clean-up old installation files in case of insufficient space and to ensure that you have at least 1GB of space in flash, to expand a new image.

The following sample output displays the cleaning up of unused files, by using the install remove inactive command:
Switch# install remove inactive
 install_remove: START Wed Jul 27 11:42:27 IST 2022

Cleaning up unnecessary package files

No path specified, will use booted path bootflash:packages.conf

Cleaning bootflash:
  Scanning boot directory for packages ... done.
  Preparing packages list to delete ... 
    cat9k-cc_srdriver.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-espbase.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-guestshell.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-rpbase.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-rpboot.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-sipbase.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-sipspa.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-srdriver.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-webui.17.09.01.SSA.pkg
      File is in use, will not delete.
    cat9k-wlc.17.09.01.SSA.pkg
      File is in use, will not delete.
    packages.conf
      File is in use, will not delete.
  done.
SUCCESS: No extra package or provisioning files found on media. Nothing to clean.

SUCCESS: install_remove  Wed Jul 27 11:42:39 IST 2022

Step 2

Copy new image to flash

  1. copy tftp:[[//location]/directory]/filenameflash:

    Use this command to copy the new image from a TFTP server to flash memory. The location is either an IP address or a host name. The filename is specified relative to the directory used for file transfers. Skip this step if you want to use the new image from a TFTP server.
    Switch# copy tftp://10.8.0.6/image/cat9k_iosxe.17.08.01.SPA.bin flash:
    Destination filename [cat9k_iosxe.17.08.01.SPA.bin]?
    Accessing tftp://10.8.0.6//cat9k_iosxe.17.08.01.SPA.bin...
    Loading /cat9k_iosxe.17.08.01.SPA.bin from 10.8.0.6 (via GigabitEthernet0/0): 
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [OK - 508584771 bytes]
    508584771 bytes copied in 101.005 secs (5035244 bytes/sec)
     
    
  2. dir flash:

    Use this command to confirm that the image has been successfully copied to flash.
    Switch# dir flash:*.bin
    Directory of flash:/*.bin
     
    Directory of flash:/
     
    434184 -rw- 508584771 Jul 27 2022 13:35:16 -07:00 cat9k_iosxe.17.08.01.SPA.bin
    11353194496 bytes total (9055866880 bytes free)
    
    

Step 3

Set boot variable

  1. boot system flash:packages.conf

    Use this command to set the boot variable to flash:packages.conf .
    Switch(config)# boot system flash:packages.conf
    
  2. no boot manual

    Use this command to configure the switch to auto-boot. Settings are synchronized with the standby switch, if applicable.
    Switch(config)# no boot manual
    Switch(config)# exit
  3. write memory

    Use this command to save boot settings.
    Switch# write memory
  4. show bootvar or show boot

    Use this command to verify the boot variable (packages.conf) and manual boot setting (no):
    Switch# show bootvar               <<on the C9500-24Y4C,C9500-32C, C9500-32QC, and C9500-48Y4C models
    BOOT variable = bootflash:packages.conf
    MANUAL_BOOT variable = no
    BAUD variable = 9600
    ENABLE_BREAK variable = yes
    BOOTMODE variable does not exist
    IPXE_TIMEOUT variable does not exist
    CONFIG_FILE variable = 
    
    Standby BOOT variable = bootflash:packages.conf
    Standby MANUAL_BOOT variable = no
    Standby BAUD variable = 9600
    Standby ENABLE_BREAK variable = yes
    Standby BOOTMODE variable does not exist
    Standby IPXE_TIMEOUT variable does not exist
    Standby CONFIG_FILE variable = 
    Switch# show boot                        <<on the C9500-12Q,C9500-16X C9500-24Q, and C9500-40X models
    Current Boot Variables:
    BOOT variable = flash:packages.conf;
    
    Boot Variables on next reload:
    BOOT variable = flash:packages.conf;
    Manual Boot = no
    Enable Break = yes
    Boot Mode = DEVICE
    iPXE Timeout = 0 

Step 4

Downgrade software image

install add file activate commit

Use this command to install the image.

We recommend that you point to the source image on your TFTP server or the flash drive of the active switch, if you have copied the image to flash memory. If you point to an image on the flash or USB drive of a member switch (instead of the active), you must specify the exact flash or USB drive - otherwise installation fails. For example, if the image is on the flash drive of member switch 3 (flash-3): Switch# install add file flash-3:cat9k_iosxe.17.08.01.SPA.bin activate commit.

The following example displays the installation of the Cisco IOS XE Cupertino 17.8.1 software image to flash, by using the install add file activate commit command.
Switch# install add file flash:cat9k_iosxe.17.08.01.SPA.bin activate commit
install_add_activate_commit: Adding PACKAGE
install_add_activate_commit: Checking whether new add is allowed ....
--- Starting Add ---
Performing Add on Active/Standby
[1] Add package(s) on R0
[1] Finished Add on R0
Checking status of Add on [R0]
Add: Passed on [R0]
Finished Add
Image added. Version: 17.08.01.0.269
install_add_activate_commit: Activating PACKAGE

Following packages shall be activated:
/flash/cat9k-wlc.17.08.01.SPA.pkg
/flash/cat9k-webui.17.08.01.SPA.pkg
/flash/cat9k-srdriver.17.08.01.SPA.pkg
/flash/cat9k-sipspa.17.08.01.SPA.pkg
/flash/cat9k-sipbase.17.08.01.SPA.pkg
/flash/cat9k-rpboot.17.08.01.SPA.pkg
/flash/cat9k-rpbase.17.08.01.SPA.pkg
/flash/cat9k-guestshell.17.08.01.SPA.pkg
/flash/cat9k-espbase.17.08.01.SPA.pkg
/flash/cat9k-cc_srdriver.17.08.01.SPA.pkg

This operation may require a reload of the system. Do you want to proceed? [y/n] y


Performing Activate on Active/Standby
1] Activate package(s) on R0
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k-cc_srdriver.17.09.01.SSA.pkg
      Removed cat9k-espbase.17.09.01.SSA.pkg
      Removed cat9k-guestshell.17.09.01.SSA.pkg
      Removed cat9k-lni.17.09.01.SSA.pkg
      Removed cat9k-rpbase.17.09.01.SSA.pkg
      Removed cat9k-rpboot.17.09.01.SSA.pkg
      Removed cat9k-sipbase.17.09.01.SSA.pkg
      Removed cat9k-sipspa.17.09.01.SSA.pkg
      Removed cat9k-srdriver.17.09.01.SSA.pkg
      Removed cat9k-webui.17.09.01.SSA.pkg
      Removed cat9k-wlc.17.09.01.SSA.pkg
    New files list:
      Added cat9k-cc_srdriver.17.08.01.SPA.pkg
      Added cat9k-espbase.17.08.01.SPA.pkg
      Added cat9k-guestshell.17.08.01.SPA.pkg
      Added cat9k-rpbase.17.08.01.SPA.pkg
      Added cat9k-rpboot.17.08.01.SPA.pkg
      Added cat9k-sipbase.17.08.01.SPA.pkg
      Added cat9k-sipspa.17.08.01.SPA.pkg
      Added cat9k-srdriver.17.08.01.SPA.pkg
      Added cat9k-webui.17.08.01.SPA.pkg
      Added cat9k-wlc.17.08.01.SPA.pkg
    Finished list of software package changes
  [1] Finished Activate on R0
Checking status of Activate on [R0]
Activate: Passed on [R0]
Finished Activate

--- Starting Commit ---
Performing Commit on Active/Standby
 [1] Commit package(s) on R0
 [1] Finished Commit on R0
Checking status of Commit on [R0]
Commit: Passed on [R0]
Finished Commit

Send model notification for install_add_activate_commit before reload
Install will reload the system now!
SUCCESS: install_add_activate_commit  Wed Jul 27 11:51:01 IST 2022

Jul 27 11:51:07.505: %PMANTvp: Process manager is exiting: ren requested
Jul 27 11:51:07.505: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting: reload fru action requested
Jul 27 11:51:07.834: %PMAN-5-EXITACTION: R0/0: pvp: Process manager is exiting: reload action requested

Initializing Hardware...

System Bootstrap, Version 17.3.1r[FC2], RELEASE SOFTWARE (P)
Compiled 30-04-2022 12:00:00.00 by rel
Current ROMMON image : Primary Rommon Image

Last reset cause:LocalSoft
C9500-32QC platform with 16777216 Kbytes of main memory
Preparing to autoboot. [Press Ctrl-C to interrupt]  5     5     /-\|/-\|/-4     \|/-\|/-\|3     /-\|/-\|/-2     \|/-\|/-\|1     /-\|/-\|/-0     
boot: attempting to boot from [bootflash:packages.conf]
boot: reading file packages.conf

<output truncated>

Note

 
The system reloads automatically after executing the install add file activate commit command. You do not have to manually reload the system.

Step 5

Verify version

show version

After the image boots up, use this command to verify the version of the new image.

Note

 
When you downgrade the software image, the ROMMON version does not downgrade. It remains updated.
The following sample output of the show version command displays the Cisco IOS XE Cupertino 17.8.1 image on the device:
Switch# show version
Cisco IOS XE Software, Version 17.08.01
Cisco IOS Software [Cupertino], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.8.1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
<output truncated>

In Service Software Upgrade (ISSU) with Cisco StackWise Virtual

Follow the instructions described here to perform an In Service Software Upgrade (ISSU) upgrade. Use the procedure described here, only for the releases indicated in the table below. For more general information about ISSU release support and recommended releases, see this technical reference document: In-Service Software Upgrade (ISSU).

Before you begin

Note that you can use this ISSU procedure only for the following scenarios:

When upgrading from...

Use these commands...

To...

Cisco IOS XE Bengaluru 17.6.x

install add file activate issu commit

Cisco IOS XE Cupertino 17.9.x

Not applicable

ISSU does not support downgrade. To downgrade, see Downgrading in Install Mode.

Not applicable

Procedure


Step 1

enable

Enables privileged EXEC mode. Enter your password if prompted.

Switch# enable

Step 2

show version | in INSTALL or show version | in System image

On the Catalyst 9500 Series Switches, use show version | in INSTALL command to check the boot mode. ISSU is supported only in install mode. You cannot perform ISSU if the switch is booted in bundle mode.
Switch# show version | in INSTALL
Switch Ports Model              SW Version        SW Image              Mode   
------ ----- -----             ----------        ----------            ----   
*    1 12    C9500-12Q         17.9.1             CAT9K_IOSXE         INSTALL
     2 12    C9500-12Q         17.9.1             CAT9K_IOSXE         INSTALL

On Catalyst 9500 Series Switches - High Performance, use show version | in System image to check if the switch booted into IOS via “ boot flash:packages.conf ”. The output should display the following:

Switch# show version | in System image
System image file is "flash:packages.conf"

You cannot perform ISSU if the switch is booted in bundle mode. If you perform ISSU in bundle mode, you will see the following error.

*Jul 10 14:55:57.338: %INSTALL-5-INSTALL_START_INFO: Chassis 1 R1/0: install_engine: Started install one-shot ISSU flash:cat9k_iosxe.17.9.01.SPA.bininstall_add_activate_commit: Adding ISSU
ERROR: install_add_activate_commit: One-Shot ISSU operation is not supported in bundle boot mode
FAILED: install_add_activate_commit  exit(1) Tue Jul 10 14:56:03 UTC 2022

Step 3

dir flash: | in free

Use this command to check if there is sufficient available memory on flash. Ensure that you have at least 1GB of space in flash to expand a new image.
Switch# dir flash: | in free
11353194496 bytes total (8565174272 bytes free)

Step 4

show redundancy

Use this command to check if the switch is in SSO mode.
Switch# show redundancy
Redundant System Information :
------------------------------
       Available system uptime = 4 minutes
Switchovers system experienced = 0
              Standby failures = 0
        Last switchover reason = none

                 Hardware Mode = Duplex
    Configured Redundancy Mode = sso
     Operating Redundancy Mode = sso
              Maintenance Mode = Disabled
                Communications = Up
<output truncated>

Step 5

show boot system

Use this command to verify that the manual boot variable is set to no .
Switch# show boot system
Current Boot Variables:
BOOT variable = flash:packages.conf;
MANUAL_BOOT variable = no

Boot Variables on next reload:
BOOT variable = flash:packages.conf;
MANUAL_BOOT variable = no
Enable Break = no
Boot Mode = DEVICE
iPXE Timeout = 0

If the manual boot variable is set to yes , use the no boot manual command in global configuration mode to set the switch for autoboot.

Step 6

show issu state [detail]

Use this command to verify that no other ISSU process is in progress.

Switch# show issu state detail
--- Starting local lock acquisition on chassis 2 ---
Finished local lock acquisition on chassis 2
 
No ISSU operation is in progress
 
Switch#

Step 7

show install summary

Use this command to verify that the state of the image is Activated & Committed. Clear the install state if the state is not Activated & Committed.
Switch# show install summary
[ Switch 1 2 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version    
--------------------------------------------------------------------------------
IMG   C    17.9.1.0.2433        

Step 8

install add file activate issu commit

Use this command to automate the sequence of all the upgrade procedures, including downloading the images to both the switches, expanding the images into packages, and upgrading each switch as per the procedures.

Switch# install add file tftp:cat9k_iosxe.17.09.01.SPA.bin activate issu commit

The following sample output displays installation of Cisco IOS XE Cupertino 17.9.1 software image with ISSU procedure.

Switch# install add file tftp:cat9k_iosxe.17.09.01.SPA.bin activate issu commit
install_add_activate_commit: START Thu Jul 19 06:16:32 UTC 2021
Downloading file tftp://172.27.18.5//cat9k_iosxe.17.09.01.SPA.bin
 
*Jul 19 06:16:34.064: %INSTALL-5-INSTALL_START_INFO: Switch 1 R0/0: install_engine: Started install one-shot ISSU tftp://172.27.18.5//cat9k_iosxe.17.09.01.SPA.bin
Finished downloading file tftp://172.27.18.5//cat9k_iosxe.17.09.01.SPA.bin to flash:cat9k_iosxe.17.09.01.SPA.bin
install_add_activate_commit: Adding ISSU
 
--- Starting initial file syncing ---
[1]: Copying flash:cat9k_iosxe.17.09.01.SPA.bin from switch 1 to switch 2
[2]: Finished copying to switch 2 
Info: Finished copying flash:cat9k_iosxe.17.09.01.SPA.bin to the selected switch(es)
Finished initial file syncing
 
--- Starting Add ---
Performing Add on all members
  [1] Add package(s) on switch 1
  [1] Finished Add on switch 1
  [2] Add package(s) on switch 2
  [2] Finished Add on switch 2
Checking status of Add on [1 2]
Add: Passed on [1 2]
Finished Add
 
install_add_activate_commit: Activating ISSU
 
NOTE: Going to start Oneshot ISSU install process
 
STAGE 0: Initial System Level Sanity Check before starting ISSU
===================================================
--- Verifying install_issu supported ---
--- Verifying standby is in Standby Hot state ---
--- Verifying booted from the valid media ---
--- Verifying AutoBoot mode is enabled ---
Finished Initial System Level Sanity Check
 
 
STAGE 1: Installing software on Standby
===================================================
--- Starting install_remote ---
Performing install_remote on Chassis remote
[2] install_remote package(s) on switch 2
[2] Finished install_remote on switch 2
install_remote: Passed on [2]
Finished install_remote
 
 
STAGE 2: Restarting Standby
===================================================
--- Starting standby reload ---
Finished standby reload
 
--- Starting wait for Standby to reach terminal redundancy state ---
 
*Jul 19 06:24:16.426: %SMART_LIC-5-EVAL_START: Entering evaluation period
*Jul 19 06:24:16.426: %SMART_LIC-5-EVAL_START: Entering evaluation period
*Jul 19 06:24:16.466: %HMANRP-5-CHASSIS_DOWN_EVENT: Chassis 2 gone DOWN!
*Jul 19 06:24:16.497: %REDUNDANCY-3-STANDBY_LOST: Standby processor fault (PEER_NOT_PRESENT)
*Jul 19 06:24:16.498: %REDUNDANCY-3-STANDBY_LOST: Standby processor fault (PEER_DOWN)
*Jul 19 06:24:16.498: %REDUNDANCY-3-STANDBY_LOST: Standby processor fault (PEER_REDUNDANCY_STATE_CHANGE)
*Jul 19 06:24:16.674: %RF-5-RF_RELOAD: Peer reload. Reason: EHSA standby down
*Jul 19 06:24:16.679: %IOSXE_REDUNDANCY-6-PEER_LOST: Active detected switch 2 is no longer standby
*Jul 19 06:24:16.416: %NIF_MGR-6-PORT_LINK_DOWN: Switch 1 R0/0: nif_mgr: Port 1 on front side stack link 0 is DOWN.
*Jul 19 06:24:16.416: %NIF_MGR-6-PORT_CONN_DISCONNECTED: Switch 1 R0/0: nif_mgr: Port 1 on front side stack link 0 connection has DISCONNECTED: CONN_ERR_PORT_LINK_DOWN_EVENT
*Jul 19 06:24:16.416: %NIF_MGR-6-STACK_LINK_DOWN: Switch 1 R0/0: nif_mgr: Front side stack link 0 is DOWN.
*Jul 19 06:24:16.416: %STACKMGR-6-STACK_LINK_CHANGE: Switch 1 R0/0: stack_mgr: Stack port 1 on Switch 1 is down
 
<output truncated>
 
*Jul 19 06:29:36.393: %IOSXE_REDUNDANCY-6-PEER: Active detected switch 2 as standby.
*Jul 19 06:29:36.392: %STACKMGR-6-STANDBY_ELECTED: Switch 1 R0/0: stack_mgr: Switch 2 has been elected STANDBY.
*Jul 19 06:29:41.397: %REDUNDANCY-5-PEER_MONITOR_EVENT: Active detected a standby insertion (raw-event=PEER_FOUND(4))
*Jul 19 06:29:41.397: %REDUNDANCY-5-PEER_MONITOR_EVENT: Active detected a standby insertion (raw-event=PEER_REDUNDANCY_STATE_CHANGE(5))
*Jul 19 06:29:42.257: %REDUNDANCY-3-IPC: IOS versions do not match.
*Jul 19 06:30:24.323: %HA_CONFIG_SYNC-6-BULK_CFGSYNC_SUCCEED: Bulk Sync succeededFinished wait for Standby to reach terminal redundancy state
 
 
*Jul 19 06:30:25.325: %RF-5-RF_TERMINAL_STATE: Terminal state reached for (SSO)
STAGE 3: Installing software on Active
===================================================
--- Starting install_active ---
Performing install_active on Chassis 1
 
<output truncated> 
 
[1] install_active package(s) on switch 1
[1] Finished install_active on switch 1
install_active: Passed on [1]
Finished install_active
 
 
STAGE 4: Restarting Active (switchover to standby)
===================================================
--- Starting active reload ---
New software will load after reboot process is completed
SUCCESS: install_add_activate_commit  Thu Jul 19 23:06:45 UTC 2021
Jul 19 23:06:45.731: %INSTALL-5-INSTALL_COMPLETED_INFO: R0/0: install_engine: Completed install one-shot ISSU flash:cat9k_iosxe.17.09.01.SPA.bin
Jul 19 23:06:47.509: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting: reload fp action requested
Jul 19 23:06:48.776: %PM
 
Initializing Hardware...
 
System Bootstrap, Version 17.9.1r[FC2], RELEASE SOFTWARE (P)
Compiled Fri 07/19/2022 10:48:42.68 by rel
 
Current ROMMON image : Primary
Last reset cause     : PowerOn
C9500-40X platform with 16777216 Kbytes of main memory
 
boot: attempting to boot from [flash:packages.conf]
boot: reading file packages.conf
#
##################################################################################################################################################################################################################################################################################################################################################
 
 
Jul 19 23:08:30.238: %PMAN-5-EXITACTION: C0/0: pvp: Process manager is exiting:
 
Waiting for 120 seconds for other switches to boot
######################
Switch number is 1
All switches in the stack have been discovered. Accelerating discovery
 
 
 
Switch console is now available
 
 
Press RETURN to get started.
 
 
 
 
 
 
Jul 19 23:14:17.080: %INSTALL-5-INSTALL_START_INFO: R0/0: install_engine: Started install commit
Jul 19 23:15:48.445: %INSTALL-5-INSTALL_COMPLETED_INFO: R0/0: install_engine: Completed install commit ISSU

Step 9

show version

Use this command to verify the version of the new image.

The following sample output of the show version command displays the Cisco IOS XE Cupertino 17.9.1 image on the device:
Switch# show version
Cisco IOS XE Software, Version 17.09.01
Cisco IOS Software [Amsterdam], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.9.1, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
<output truncated>

Step 10

show issu state [detail]

Use this command to verify that no ISSU process is in pending state.

Switch# show issu state detail
--- Starting local lock acquisition on chassis 2 ---
Finished local lock acquisition on chassis 2
 
No ISSU operation is in progress
 
Switch#

Step 11

exit

Exits privileged EXEC mode and returns to user EXEC mode.


Field-Programmable Gate Array Version Upgrade

A field-programmable gate array (FPGA) is a type of programmable memory device that exists on Cisco switches. They are re-configurable logic circuits that enable the creation of specific and dedicated functions.

To check the current FPGA version, enter the version -v command in ROMMON mode.


Note


  • Not every software release has a change in the FPGA version.

  • The version change occurs as part of the regular software upgrade and you do not have to perform any other additional steps.