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 Dublin 17.12.4

CAT9K_IOSXE

cat9k_iosxe.17.12.04.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.12.04.SPA.bin

Cisco IOS XE Dublin 17.12.3

CAT9K_IOSXE

cat9k_iosxe.17.12.03.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.12.03.SPA.bin

Cisco IOS XE Dublin 17.12.2

CAT9K_IOSXE

cat9k_iosxe.17.12.02.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.12.02.SPA.bin

Cisco IOS XE Dublin 17.12.1

CAT9K_IOSXE

cat9k_iosxe.17.12.01.SPA.bin

No Payload Encryption (NPE)

cat9k_iosxe_npe.17.12.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

    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. Enter the upgrade rom-monitor capsule golden switch command in privileged EXEC mode.


    Note


    • In case of a switch stack, perform the upgrade on the active switch and all members of the stack.


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

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, in install mode. To perform a software image upgrade, you must be booted into IOS through boot flash:packages.conf .

Before you begin

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

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 Dublin 17.12.x

Cisco IOS XE Everest 16.6.2 and all later releases

Either install commands or request platform software commands1.

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

The sample output in this section displays upgrade from Cisco IOS XE Dublin 17.11.1 to Cisco IOS XE Dublin 17.12.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 24 10:02:31 PDT 2023
install_remove: Removing IMG
Cleaning up unnecessary package files
No path specified, will use booted path /flash/packages.conf

Cleaning /flash
Scanning boot directory for packages ... done.
Preparing packages list to delete ...
[R0]: /flash/packages.conf File is in use, will not delete.
[R1]: /flash/packages.conf File is in use, will not delete.
[R0]: /flash/cat9k-cc_srdriver.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-cc_srdriver.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-espbase.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-espbase.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-guestshell.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-guestshell.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-lni.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-lni.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-rpbase.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-rpbase.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-sipbase.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-sipbase.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-sipspa.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-sipspa.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-srdriver.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-srdriver.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-webui.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-webui.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-wlc.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-wlc.17.11.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k_iosxe.17.11.01.SPA.conf File is in use, will not delete.
[R1]: /flash/cat9k_iosxe.17.11.01.SPA.conf File is in use, will not delete.
[R0]: /flash/cat9k-rpboot.17.11.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-rpboot.17.11.01.SPA.pkg File is in use, will not delete.

The following files will be deleted:
[R0]: /flash/cat9k_iosxe.17.11.01.SPA.bin
[R1]: /flash/cat9k_iosxe.17.11.01.SPA.bin
[R0]: /flash/cat9k-cc_srdriver.17.09.02.SPA.pkg
[R1]: /flash/cat9k-cc_srdriver.17.09.02.SPA.pkg
[R0]: /flash/cat9k-espbase.17.09.02.SPA.pkg
[R1]: /flash/cat9k-espbase.17.09.02.SPA.pkg
[R0]: /flash/cat9k-guestshell.17.09.02.SPA.pkg
[R1]: /flash/cat9k-guestshell.17.09.02.SPA.pkg
[R0]: /flash/cat9k-lni.17.09.02.SPA.pkg
[R1]: /flash/cat9k-lni.17.09.02.SPA.pkg
[R0]: /flash/cat9k-rpbase.17.09.02.SPA.pkg
[R1]: /flash/cat9k-rpbase.17.09.02.SPA.pkg
[R0]: /flash/cat9k-sipbase.17.09.02.SPA.pkg
[R1]: /flash/cat9k-sipbase.17.09.02.SPA.pkg
[R0]: /flash/cat9k-sipspa.17.09.02.SPA.pkg
[R1]: /flash/cat9k-sipspa.17.09.02.SPA.pkg
[R0]: /flash/cat9k-srdriver.17.09.02.SPA.pkg
[R1]: /flash/cat9k-srdriver.17.09.02.SPA.pkg
[R0]: /flash/cat9k-webui.17.09.02.SPA.pkg
[R1]: /flash/cat9k-webui.17.09.02.SPA.pkg
[R0]: /flash/cat9k-wlc.17.09.02.SPA.pkg
[R1]: /flash/cat9k-wlc.17.09.02.SPA.pkg
[R0]: /flash/cat9k_iosxe.17.09.02.SPA.conf
[R1]: /flash/cat9k_iosxe.17.09.02.SPA.conf
[R0]: /flash/cat9k-rpboot.17.09.02.SPA.pkg
[R1]: /flash/cat9k-rpboot.17.09.02.SPA.pkg

Do you want to remove the above files? [y/n]y

Deleting file /flash/cat9k_iosxe.17.11.01.SPA.bin ... done.
Deleting file /flash/cat9k-cc_srdriver.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-espbase.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-guestshell.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-lni.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-rpbase.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-sipbase.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-sipspa.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-srdriver.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-webui.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-wlc.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k_iosxe.17.09.02.SPA.conf ... done.
Deleting file /flash/cat9k-rpboot.17.09.02.SPA.pkg ... done.
Deleting /flash/.images/17.11.01.0.1444.1669767962 ... done.
SUCCESS: Files deleted.

--- Starting Post_Remove_Cleanup ---
Performing REMOVE_POSTCHECK on all members
Finished Post_Remove_Cleanup
SUCCESS: install_remove Wed Jul 24 10:02:36 PDT 2023
Switch#
<output truncated>

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.12.01.SPA.bin flash:
    
    destination filename [cat9k_iosxe.17.12.01.SPA.bin]?
    Accessing tftp://10.8.0.6/image/cat9k_iosxe.17.12.01.SPA.bin...
    Loading /cat9k_iosxe.17.12.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 24 2023 10:18:11 -07:00 cat9k_iosxe.17.12.01.SPA.bin
    11353194496 bytes total (8976625664 bytes free)
    
    

Step 3

Set boot variable

  1. no boot system

    Use this command to reset the boot variable. This command removes the startup system image specification. Otherwise, the switch may boot a previously configured boot image.

    Switch(config)# no boot system
    
  2. boot system flash:packages.conf

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

    Use this command to configure the switch to auto-boot.
    Switch(config)# no boot manual
    Switch(config)# exit
  4. write memory

    Use this command to save boot settings.
    Switch# write memory
  5. show boot

    Use this command to verify the boot variable (packages.conf) and manual boot setting (no):
    Switch# show boot            
    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.12.01.SPA.bin activate commit.

The following sample output displays installation of the Cisco IOS XE Dublin 17.12.1 software image in the flash memory:
Switch# install add file flash:cat9k_iosxe.17.12.01.SPA.bin activate commit

install_add_activate_commit: START Wed Jul 24 10:15:02 PDT 2023
install_add: START Wed Jul 24 10:15:02 PDT 2023
install_add: Adding IMG
--- Starting initial file syncing ---
Copying flash:cat9k_iosxe.17.12.01.SPA.bin from Switch 1 to Switch 1 2
Info: Finished copying to the selected Switch
Finished initial file syncing

--- Starting Add ---
Performing Add on all members
 [1] Finished Add package(s) on Switch 1
 [2] Finished Add package(s) on Switch 2
Checking status of Add on [1 2]
Add: Passed on [1 2]
Finished Add

Image added. Version: 17.12.01.0

    Warning: ISSU compatibility check failed for 17.12.01.0
install_activate: START Wed Jul 24 10:17:34 PDT 2023
install_activate: Activating IMG
Following packages shall be activated:
/flash/cat9k-cc_srdriver.17.12.01.SPA.pkg
/flash/cat9k-espbase.17.12.01.SPA.pkg
/flash/cat9k-guestshell.17.12.01.SPA.pkg
/flash/cat9k-lni.17.12.01.SPA.pkg
/flash/cat9k-rpbase.17.12.01.SPA.pkg
/flash/cat9k-sipbase.17.12.01.SPA.pkg
/flash/cat9k-sipspa.17.12.01.SPA.pkg
/flash/cat9k-srdriver.17.12.01.SPA.pkg
/flash/cat9k-webui.17.12.01.SPA.pkg
/flash/cat9k-wlc.17.12.01.SPA.pkg
/flash/cat9k-rpboot.17.12.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 all members
 [1] Activate package(s) on Switch 1
 [2] Activate package(s) on Switch 2
 [2] Finished Activate on Switch 2
 [1] Finished Activate on Switch 1
Checking status of Activate on [1 2]
Activate: Passed on [1 2]
Finished Activate

--- Starting Commit ---
Performing Commit on all members
 [1] Commit package(s) on Switch 1
 [2] Commit package(s) on Switch 2
 [1] Finished Commit on Switch 1
 [2] Finished Commit on Switch 2
Checking status of Commit on [1 2]
Commit: Passed on [1 2]
Finished Commit operation

*Jul 24 10:22:00.934: %IOSXEBOOT-4-BOOTLOADER_UPGRADE: (rp/0): Starting boot preupgrade
*Jul 24 10:22:00.937: %IOSXEBOOT-4-BOOTLOADER_UPGRADE: (rp/0): ### Wed Jul 24 10:22:00 PDT 2023 PLEASE DO NOT POWER CYCLE ### BOOT LOADER UPGRADING
*Jul 24 10:22:50.808: %IOSXEBOOT-4-flashcp: (rp/0): polaris_adelphi_rommon_sb.bin
*Jul 24 10:22:56.093: %IOSXEBOOT-4-BOOTLOADER_UPGRADE: (rp/0): boot loader upgrade successful
                                                                                                                                                                                           SUCCESS: install_add_activate_commit Wed Jul 24 10:22:59 PDT 2023
stack-nyqcr3#
Chassis 1 reloading, reason - Reload command
Jul 24 10:23:05.604: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting: reload fp action requested
Jul 24 10:23:07.295: %PMAN-5-EXITACTION: R0/0: pvp: Process manager is exiting: rp processes exit with reload switch code



Initializing Hardware......

System Bootstrap, Version 17.12.1r[FC1], RELEASE SOFTWARE (P)
Compiled Wed 02/07/2023 14:36:07.63 by rel

Current ROMMON image : Primary
Last reset cause     : SoftwareReload
C9300-48UXM platform with 8388608 Kbytes of main memory

Preparing to autoboot. [Press Ctrl-C to interrupt]  0     
boot: attempting to boot from [flash:packages.conf]
boot: reading file packages.conf
#########################################################################################################################################
#########################################################################################################################################


Waiting for 120 seconds for other switches to boot

Switch number is 1
All switches in the stack have been discovered. Accelerating discovery
<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:/
    75140 -rw- 2012104     Mar 9 2023 09:52:41 -07:00 cat9k-cc_srdriver.17.11.01.SPA.pkg
    475141 -rw- 70333380   Mar 9 2023 09:52:44 -07:00 cat9k-espbase.17.11.01.SPA.pkg
    475142 -rw- 13256      Mar 9 2023 09:52:44 -07:00 cat9k-guestshell.17.11.01.SPA.pkg
    475143 -rw- 349635524  Mar 9 2023 09:52:54 -07:00 cat9k-rpbase.17.11.01.SPA.pkg
    475149 -rw- 24248187   Mar 9 2023 09:53:02 -07:00 cat9k-rpboot.17.11.01.SPA.pkg
    475144 -rw- 25285572   Mar 9 2023 09:52:55 -07:00 cat9k-sipbase.17.11.01.SPA.pkg
    475145 -rw- 20947908   Mar 9 2023 09:52:55 -07:00 cat9k-sipspa.17.11.01.SPA.pkg
    475146 -rw- 2962372    Mar 9 2023 09:52:56 -07:00 cat9k-srdriver.17.11.01.SPA.pkg
    475147 -rw- 13284288   Mar 9 2023 09:52:56 -07:00 cat9k-webui.17.11.01.SPA.pkg
    475148 -rw- 13248      Mar 9 2023 09:52:56 -07:00 cat9k-wlc.17.11.01.SPA.pkg
    
    491524 -rw- 25711568   Jul 24 2023 11:49:33 -07:00 cat9k-cc_srdriver.17.12.01.SPA.pkg
    491525 -rw- 78484428   Jul 24 2023 11:49:35 -07:00 cat9k-espbase.17.12.01.SPA.pkg
    491526 -rw- 1598412    Jul 24 2023 11:49:35 -07:00 cat9k-guestshell.17.12.01.SPA.pkg
    491527 -rw- 404153288  Jul 24 2023 11:49:47 -07:00 cat9k-rpbase.17.12.01.SPA.pkg
    491533 -rw- 31657374   Jul 24 2023 11:50:09 -07:00 cat9k-rpboot.17.12.01.SPA.pkg
    491528 -rw- 27681740   Jul 24 2023 11:49:48 -07:00 cat9k-sipbase.17.12.01.SPA.pkg
    491529 -rw- 52224968   Jul 24 2023 11:49:49 -07:00 cat9k-sipspa.17.12.01.SPA.pkg
    491530 -rw- 31130572   Jul 24 2023 11:49:50 -07:00 cat9k-srdriver.17.12.01.SPA.pkg
    491531 -rw- 14783432   Jul 24 2023 11:49:51 -07:00 cat9k-webui.17.12.01.SPA.pkg
    491532 -rw- 9160       Jul 24 2023 11:49:51 -07:00 cat9k-wlc.17.12.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.12.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 24 2023 10:59:16 -07:00 packages.conf
    516098 -rw- 7406 Jul 24 2023 10:58:08 -07:00 cat9k_iosxe.17.12.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 Dublin 17.12.1 image on the device:
Switch# show version

Cisco IOS XE Software, Version 17.12.01
Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.12.1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2023 by Cisco Systems, Inc.
<output truncated>

Downgrading in Install Mode

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

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 Dublin 17.12.x

Either install commands or request platform software command2.

Cisco IOS XE Dublin 17.11.x or earlier releases.

2 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 Dublin 17.12.1 to Cisco IOS XE Dublin 17.11.1, using install commands.

Microcode Downgrade Prerequisite:

Starting from Cisco IOS XE Gibraltar 16.12.1, a new microcode is introduced to support IEEE 802.3bt Type 3 standard for UPOE switches in the series (C9300-24U, C9300-48U, C9300-24UX, C9300-48UXM, C9300-48UN). The new microcode is not backward-compatible with some releases, because of which you must also downgrade the microcode when you downgrade to one of these releases. If the microcode is not downgraded, PoE features will be impacted after the downgrade.

Depending on the release you are downgrading to and the commands you use to downgrade, review the table below for the action you may have to take:

When downgrading from ...

To one of These Releases

by Using...

Action For Microcode Downgrade

Cisco IOS XE Gibraltar 16.12.1 or a later release

Cisco IOS XE Everest 16.6.1 through Cisco IOS XE Everest 16.6.6

Cisco IOS XE Fuji 16.9.1 through Cisco IOS XE Fuji 16.9.2

install commands

Microcode will roll back automatically as part of the software installation. No further action is required.

request platform software commands or or bundle boot

Manually downgrade the microcode before downgrading the software image.

Enter the hw-module mcu rollback command in global configuration mode, to downgrade microcode.

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 Mon Jul 24 10:34:24 PDT 2023
install_remove: Removing IMG
Cleaning up unnecessary package files
No path specified, will use booted path /flash/packages.conf

Cleaning /flash
Scanning boot directory for packages ... done.
Preparing packages list to delete ...
[R0]: /flash/packages.conf File is in use, will not delete.
[R1]: /flash/packages.conf File is in use, will not delete.
[R0]: /flash/cat9k-cc_srdriver.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-cc_srdriver.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-espbase.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-espbase.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-guestshell.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-guestshell.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-lni.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-lni.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-rpbase.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-rpbase.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-sipbase.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-sipbase.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-sipspa.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-sipspa.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-srdriver.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-srdriver.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-webui.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-webui.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k-wlc.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-wlc.17.12.01.SPA.pkg File is in use, will not delete.
[R0]: /flash/cat9k_iosxe.17.12.01.SPA.conf File is in use, will not delete.
[R1]: /flash/cat9k_iosxe.17.12.01.SPA.conf File is in use, will not delete.
[R0]: /flash/cat9k-rpboot.17.12.01.SPA.pkg File is in use, will not delete.
[R1]: /flash/cat9k-rpboot.17.12.01.SPA.pkg File is in use, will not delete.

The following files will be deleted:
[R0]: /flash/cat9k_iosxe.17.12.01.SPA.bin
[R1]: /flash/cat9k_iosxe.17.12.01.SPA.bin
[R0]: /flash/cat9k-cc_srdriver.17.09.02.SPA.pkg
[R1]: /flash/cat9k-cc_srdriver.17.09.02.SPA.pkg
[R0]: /flash/cat9k-espbase.17.09.02.SPA.pkg
[R1]: /flash/cat9k-espbase.17.09.02.SPA.pkg
[R0]: /flash/cat9k-guestshell.17.09.02.SPA.pkg
[R1]: /flash/cat9k-guestshell.17.09.02.SPA.pkg
[R0]: /flash/cat9k-lni.17.09.02.SPA.pkg
[R1]: /flash/cat9k-lni.17.09.02.SPA.pkg
[R0]: /flash/cat9k-rpbase.17.09.02.SPA.pkg
[R1]: /flash/cat9k-rpbase.17.09.02.SPA.pkg
[R0]: /flash/cat9k-sipbase.17.09.02.SPA.pkg
[R1]: /flash/cat9k-sipbase.17.09.02.SPA.pkg
[R0]: /flash/cat9k-sipspa.17.09.02.SPA.pkg
[R1]: /flash/cat9k-sipspa.17.09.02.SPA.pkg
[R0]: /flash/cat9k-srdriver.17.09.02.SPA.pkg
[R1]: /flash/cat9k-srdriver.17.09.02.SPA.pkg
[R0]: /flash/cat9k-webui.17.09.02.SPA.pkg
[R1]: /flash/cat9k-webui.17.09.02.SPA.pkg
[R0]: /flash/cat9k-wlc.17.09.02.SPA.pkg
[R1]: /flash/cat9k-wlc.17.09.02.SPA.pkg
[R0]: /flash/cat9k_iosxe.17.09.02.SPA.conf
[R1]: /flash/cat9k_iosxe.17.09.02.SPA.conf
[R0]: /flash/cat9k-rpboot.17.09.02.SPA.pkg
[R1]: /flash/cat9k-rpboot.17.09.02.SPA.pkg

Do you want to remove the above files? [y/n]y

Deleting file /flash/cat9k_iosxe.17.12.01.SPA.bin ... done.
Deleting file /flash/cat9k-cc_srdriver.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-espbase.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-guestshell.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-lni.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-rpbase.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-sipbase.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-sipspa.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-srdriver.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-webui.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k-wlc.17.09.02.SPA.pkg ... done.
Deleting file /flash/cat9k_iosxe.17.09.02.SPA.conf ... done.
Deleting file /flash/cat9k-rpboot.17.09.02.SPA.pkg ... done.
Deleting /flash/.images/17.12.01.0.172764.1674613814 ... done.
SUCCESS: Files deleted.

--- Starting Post_Remove_Cleanup ---
Performing REMOVE_POSTCHECK on all members
Finished Post_Remove_Cleanup
SUCCESS: install_remove Mon Jul 24 10:34:32 PDT 2023

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.11.01.SPA.bin flash:
    Destination filename [cat9k_iosxe.17.11.01.SPA.bin]?
    Accessing tftp://10.8.0.6//cat9k_iosxe.17.11.01.SPA.bin...
    Loading /cat9k_iosxe.17.11.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 24 2023 13:35:16 -07:00 cat9k_iosxe.17.11.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.
    Switch(config)# no boot manual
    Switch(config)# exit
  3. write memory

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

    Use this command to verify the boot variable (packages.conf) and manual boot setting (no):
    Switch# show boot  
              
    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.11.01.SPA.bin activate commit.

The following example displays the installation of the Cisco IOS XE Dublin 17.11.1 software image to flash, by using the install add file activate commit command.
Switch# install add file flash:cat9k_iosxe.17.11.01.SPA.bin activate commit

install_add_activate_commit: START Mon Jul 24 10:55:53 PDT 2023
install_add: START Mon Jul 24 10:55:53 PDT 2023
install_add: Adding IMG
 [2] Switch 2 Warning!!! Image is being downgraded from 17.12.01.0.1186 to 17.11.01.0.1444.
--- Starting initial file syncing ---
Copying flash:cat9k_iosxe.17.11.01.SPA.bin from Switch 1 to Switch 1 2
Info: Finished copying to the selected Switch
Finished initial file syncing

--- Starting Add ---
Performing Add on all members
Checking status of Add on [1 2]
Add: Passed on [1 2]
Image added. Version: 17.11.01.0.1444

Finished Add

install_activate: START Mon Jul 24 10:57:32 PDT 2023
install_activate: Activating IMG
Following packages shall be activated:
/flash/cat9k-cc_srdriver.17.11.01.SPA.pkg
/flash/cat9k-espbase.17.11.01.SPA.pkg
/flash/cat9k-guestshell.17.11.01.SPA.pkg
/flash/cat9k-lni.17.11.01.SPA.pkg
/flash/cat9k-rpbase.17.11.01.SPA.pkg
/flash/cat9k-sipbase.17.11.01.SPA.pkg
/flash/cat9k-sipspa.17.11.01.SPA.pkg
/flash/cat9k-srdriver.17.11.01.SPA.pkg
/flash/cat9k-webui.17.11.01.SPA.pkg
/flash/cat9k-wlc.17.11.01.SPA.pkg
/flash/cat9k-rpboot.17.11.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 all members
 [1] Activate package(s) on Switch 1
 [2] Activate package(s) on Switch 2
 [2] Finished Activate on Switch 2
 [1] Finished Activate on Switch 1
Checking status of Activate on [1 2]
Activate: Passed on [1 2]
Finished Activate

--- Starting Commit ---
Performing Commit on all members
 [1] Commit package(s) on Switch 1
 [2] Commit package(s) on Switch 2
 [2] Finished Commit on Switch 2
 [1] Finished Commit on Switch 1
Checking status of Commit on [1 2]
Commit: Passed on [1 2]
Finished Commit operation

SUCCESS: install_add_activate_commit Mon Jul 24 11:00:19 PDT 2023
stack-nyqcr3#
Chassis 1 reloading, reason - Reload command
Jul 24 11:00:25.253: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting: reload fp action requested
Jul 24 11:00:26.878: %PMAN-5-EXITACTION: R0/0: pvp: Process manager is exiting: rp processes exit with reload switch code



Initializing Hardware......

System Bootstrap, Version 17.12.1r[FC1], RELEASE SOFTWARE (P)
Compiled Wed 02/08/2023 14:36:07.63 by rel

Current ROMMON image : Primary
Last reset cause     : SoftwareReload
C9300-48UXM platform with 8388608 Kbytes of main memory

Preparing to autoboot. [Press Ctrl-C to interrupt]  0     
boot: attempting to boot from [flash:packages.conf]
boot: reading file packages.conf
#
########################################################################################################################################################################
########################################################################################################################################################################
########################################################################################################################################################################


Waiting for 120 seconds for other switches to boot

Switch number is 1
All switches in the stack have been discovered. Accelerating discovery

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 Dublin 17.11.1 image on the device:
Switch# show version

Cisco IOS XE Software, Version 17.11.01
Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.11.1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2023 by Cisco Systems, Inc.
<output truncated>

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.