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.10.1

CAT9K_LITE_IOSXE

cat9k_lite_iosxe.17.10.01.SPA.bin

Automatic Boot Loader Upgrade

When you upgrade from the existing release on your switch to a later or newer release for the first time, the boot loader may be automatically upgraded, based on the hardware version of the switch. If the boot loader is automatically upgraded, it will take effect on the next reload. If you go back to the older release after this, the boot loader is not downgraded. The updated boot loader supports all previous releases.


Caution


Do not power cycle your switch during the upgrade.

Software Installation Commands

Summary of Software Installation Commands

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.

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

To...

Cisco IOS XE Cupertino 17.9.x or earlier releases

Cisco IOS XE Dublin 17.10.x

The sample output in this section displays upgrade from Cisco IOS XE Cupertino 17.9.1 to Cisco IOS XE Dublin 17.10.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 Mon Nov 14 17:46:18 IST 2022
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 ... 
    cat9k_lite-rpbase.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k_lite-rpboot.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k_lite-srdriver.17.09.01.SPA.pkg
      File is in use, will not delete.
    cat9k_lite-webui.17.09.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:
[switch 1]:
/flash/cat9k_lite_iosxe.17.09.01.SPA.bin

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

[switch 1]:
Deleting file flash:cat9k_lite_iosxe.17.09.01.SPA.bin ... 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  Mon Nov 14 17:47:20 IST 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_lite_iosxe.17.10.01.SPA.bin flash:
    
    Destination filename [cat9k_lite_iosxe.17.10.01.SPA.bin]?
    Accessing tftp://10.8.0.6//cat9k_lite_iosxe.17.10.01.SPA.bin...
    Loading /cat9k_lite_iosxe.17.10.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 Nov 14 2022 10:18:11 -07:00 cat9k_lite_iosxe.17.10.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.
    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
    ---------------------------
    Switch 3
    ---------------------------
    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 switch, if you have copied the image to flash memory.

The following sample output displays installation of the Cisco IOS XE Dublin 17.10.1 software image in the flash memory:
Switch# install add file flash:cat9k_lite_iosxe.17.10.01.SPA.bin activate commit
install_add_activate_commit: START Mon Nov 14 12:51:55 IST 2022
Nov 14 12:51:57.795: %INSTALL-5-INSTALL_START_INFO: R0/0: install_engine: Started install one-shot flash:cat9k_lite_iosxe.17.10.01.SPA.bin
install_add_activate_commit: Adding PACKAGE
install_add_activate_commit: Checking whether new add is allowed ....

--- Starting initial file syncing ---
Info: Finished copying flash:cat9k_lite_iosxe.17.10.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
Checking status of Add on [1]
Add: Passed on [1]
Finished Add

Image added. Version: 17.10.01.0.276
install_add_activate_commit: Activating PACKAGE

gzip: initramfs.cpio.gz: decompression OK, trailing garbage ignored
Following packages shall be activated:
/flash/cat9k_lite-webui.17.10.01.SPA.pkg
/flash/cat9k_lite-srdriver.17.10.01.SPA.pkg
/flash/cat9k_lite-rpboot.17.10.01.SPA.pkg
/flash/cat9k_lite-rpbase.17.10.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
Nov 14 13:03:24.337: %INSTALL-5-INSTALL_AUTO_ABORT_TIMER_PROGRESS: R0/0: rollback_timer: Install auto abort timer will expire in 7200 seconds
  [1] Activate package(s) on switch 1
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k_lite-rpbase.17.09.01.SPA.pkg
      Removed cat9k_lite-rpboot.17.09.01.SPA.pkg
      Removed cat9k_lite-srdriver.17.09.01.SPA.pkg
      Removed cat9k_lite-webui.17.09.01.SPA.pkg
    New files list:
      Added cat9k_lite-rpbase.17.10.01.SPA.pkg
      Added cat9k_lite-rpboot.17.10.01.SPA.pkg
      Added cat9k_lite-srdriver.17.10.01.SPA.pkg
      Added cat9k_lite-webui.17.10.01.SPA.pkg
    Finished list of software package changes
  [1] Finished Activate on switch 1
Checking status of Activate on [1]
Activate: Passed on [1]
Finished Activate

*Nov 14 13:03:24.298 IST: %INSTALL-5-INSTALL_AUTO_ABORT_TIMER_PROGRESS: Switch 1 R0/0: rollback_timer: Install auto abort timer will expire in 7200 seconds--- Starting Commit ---
Performing Commit on all members
  [1] Commit package(s) on switch 1
  [1] Finished Commit on switch 1
Checking status of Commit on [1]
Commit: Passed on [1]
Finished Commit

Install will reload the system now!
SUCCESS: install_add_activate_commit  Mon Nov 14 13:04:23 IST 2022
Nov 14 13:04:24.586: %INSTALL-5-INSTALL_COMPLETED_INFO: R0/0: install_engine: Completed install one-shot PACKAGE flash:cat9k_lite_iosxe.17.10.01.SPA.bin

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 this command to verify that the flash partition has four 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:/*.pkg
    Directory of flash:/
    48582  -rw- 298787860  Jul 20 2022 05:13:32 +00:00  cat9k_lite-rpbase.17.09.01.SPA.pkg
    48585  -rw- 35713901   Jul 20 2022 05:14:12 +00:00  cat9k_lite-rpboot.17.09.01.SPA.pkg
    48583  -rw- 4252692    Jul 20 2022 05:13:33 +00:00  cat9k_lite-srdriver.17.09.01.SPA.pkg
    48584  -rw- 8119312    Jul 20 2022 05:13:34 +00:00  cat9k_lite-webui.17.09.01.SPA.pkg
    
    16640  -rw- 301188116   Nov 14 2022 05:33:25 +00:00  cat9k_lite-rpbase.17.10.01.SPA.pkg
    16647  -rw- 35112025    Nov 14 2022 05:34:06 +00:00  cat9k_lite-rpboot.17.10.01.SPA.pkg
    16642  -rw- 4326420     Nov 14 2022 05:33:25 +00:00  cat9k_lite-srdriver.17.10.01.SPA.pkg
    16643  -rw- 8328208     Nov 14 2022 05:33:25 +00:00  cat9k_lite-webui.17.10.01.SPA.pkg
    
  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_lite_iosxe.17.10.01.SPA.conf— a backup copy of the newly installed packages.conf file
      Switch# dir flash:*.conf
       
      Directory of flash:/*.conf
      Directory of flash:/
      
      16631 -rw- 4882  Nov 14 2022 05:39:42 +00:00  packages.conf
      16634 -rw- 4882  Nov 14 2022 05:34:06 +00:00  cat9k_lite_iosxe.17.10.01.SPA.conf
      

Step 6

Verify version

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.10.1 image on the device:
Switch# show version
Cisco IOS XE Software, Version 17.10.01
Cisco IOS Software [Dublin], Catalyst L3 Switch Software (CAT9K_LITE_IOSXE), Version 17.10.1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
Compiled Mon 4-Nov-22 19:57 by mcpre
<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 ...

To ...

Cisco IOS XE Dublin 17.10.x

Cisco IOS XE Cupertino 17.9.x or earlier releases.


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.10.1 to Cisco IOS XE Cupertino 17.9.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 Mon Nov 14 17:46:18 IST 2022
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 ... 
    cat9k_lite-rpbase.17.10.01.SPA.pkg
      File is in use, will not delete.
    cat9k_lite-rpboot.17.10.1.SPA.pkg
      File is in use, will not delete.
    cat9k_lite-srdriver.17.10.1.SPA.pkg
      File is in use, will not delete.
    cat9k_lite-webui.17.10.1.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:
[switch 1]:
/flash/cat9k_lite_iosxe.17.10.1.SPA.bin

Do you want to remove the above files? [y/n]y
[switch 1]:
Deleting file flash:cat9k_lite_iosxe.17.10.1.SPA.bin ... 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  Mon Nov 14 17:47:20 IST 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_lite_iosxe.17.09.1.SPA.bin flash:
    
    Destination filename [cat9k_lite_iosxe.17.09.1.SPA.bin]?
    Accessing tftp://10.8.0.6//cat9k_lite_iosxe.17.09.1.SPA.bin...
    Loading /cat9k_lite_iosxe.17.09.1.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 Mon Nov 14 2022 13:35:16 -07:00 cat9k_lite_iosxe.17.09.1.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
    ---------------------------
    Switch 3
    ---------------------------
    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 switch, if you have copied the image to flash memory.

The following example displays the installation of the Cisco IOS XE Cupertino 17.9.1 software image to flash, by using the install add file activate commit command.
Switch# install add file flash:cat9k_lite_iosxe.17.09.01.SPA.bin activate commit

install_add_activate_commit: START Mon Nov 14 13:17:28 IST 2022
install_add_activate_commit: Adding PACKAGE
install_add_activate_commit: Checking whether new add is allowed ....

--- Starting initial file syncing ---
Info: Finished copying flash:cat9k_lite_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
Checking status of Add on [1]
Add: Passed on [1]
Finished Add

Image added. Version: 17.09.01.0.203
install_add_activate_commit: Activating PACKAGE

gzip: initramfs.cpio.gz: decompression OK, trailing garbage ignored
Following packages shall be activated:
/flash/cat9k_lite-webui.17.09.01.SPA.pkg
/flash/cat9k_lite-srdriver.17.09.01.SPA.pkg
/flash/cat9k_lite-rpboot.17.09.01.SPA.pkg
/flash/cat9k_lite-rpbase.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 all members
Nov 14 13:29:31.133: %INSTALL-5-INSTALL_AUTO_ABORT_TIMER_PROGRESS: R0/0: rollback_timer: Install auto abort timer will expire in 7200 seconds

*Nov 14 13:29:31.093 IST: %INSTALL-5-INSTALL_AUTO_ABORT_TIMER_PROGRESS: Switch 1 R0/0: rollback_timer: Install auto abort timer will expire in 7200 seconds  [1] Activate package(s) on switch 1
    --- Starting list of software package changes ---
    Old files list:
      Removed cat9k_lite-rpbase.17.10.01.SPA.pkg
      Removed cat9k_lite-rpboot.17.10.01.SPA.pkg
      Removed cat9k_lite-srdriver.17.10.01.SPA.pkg
      Removed cat9k_lite-webui.17.10.01.SPA.pkg
    New files list:
      Added cat9k_lite-rpbase.17.09.01.SPA.pkg
      Added cat9k_lite-rpboot.17.09.01.SPA.pkg
      Added cat9k_lite-srdriver.17.09.01.SPA.pkg
      Added cat9k_lite-webui.17.09.01.SPA.pkg
    Finished list of software package changes
  [1] Finished Activate on switch 1
Checking status of Activate on [1]
Activate: Passed on [1]
Finished Activate

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

Send model notification for install_add_activate_commit before reload
Install will reload the system now!
SUCCESS: install_add_activate_commit  Mon Nov 14 13:30:52 IST 2022
Nov 14 13:30:53.573: %INSTALL-5-INSTALL_COMPLETED_INFO: R0/0: install_engine: Completed install one-shot PACKAGE flash:cat9k_lite_iosxe.17.09.01.SPA.bin
Nov 14 13:30:53.573 %INSTALL-5-INSTALL_COMPLETED_INFO: R0/0: install_engine: Completed install one-shot PACKAGE flash:cat9k_lite_iosxe.17.09.01.SPA.bin

switch3#
Chassis 1 reloading, reason - Reload command

*Nov 14 13:30:53.529 IST: %INSTALL-5-INSTALL_COMPLETED_INFO: Switch 1 R0/0: install_engine: Completed install one-shot PACKAGE flash:cat9k_lite_iosxe.17.09.01.SPA.bin
*Nov 14 13:30:54.526 IST: %STACKMGR-1-RELOAD: Switch 1 R0/0: stack_mgr: Reloading due to reason Reload command Nov 14 13:30:58.121: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting: reload fp actionrequested
Nov 14 13:31:01.303: %PMAN-5-EXITACTION: R0/0: pvp: Process manager is exiting: rp processes exit with reload switch code

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 bootloader version does not downgrade. It remains updated.
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_LITE_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>