Campus switching positioning

Recommended Releases for Cat9K and Cat3K

It can be confusing to know which Catalyst 9K switch to position on your campus. The most recent release to the Catalyst 9K switching family; the Catalyst 9600 brings a modular chassis to the core/aggregation layer and is positioned to replace the 6500 & 6800.

Heres a quick reference aimed to assist you in your upgrades and have confidence that you will meet the present and future needs of the campus.

Current PlatformTransition to Cat 9K Series
Access SwitchingCatalyst 2960Catalyst 9200
Catalyst 3650Catalyst 9300L
Catalyst 3850Catalyst 9300
Catalyst 4500ECatalyst 9400
Backbone SwitchingCatalyst 3850 10GCatalyst 9500
Catalyst 4500XCatalyst 9500
Catalyst 6500ECatalyst 9600
Catalyst 6800Catalyst 9600


Converting Cisco IOS-XE Software from Bundle Mode to Install Mode

Recommended Releases for Cat9k

Today we’re are going to be converting a Cisco WS-C3850-24XS from a Bundle Running Mode to an Install Running Mode.

If you haven’t read my other post on operating modes for the Cat3k or 9Ks, look there first. Upgrading Cisco IOS-XE Software (Install Mode)

You can also review upgrade procedure for specific hardware.
Catalyst 9200 upgrade procedure or review Campus switching positioning with Catalyst 9Ks for a quick reference to determine what hardware is best suited for your campus.

I first want to show you the file(s) that each mode references. I’ll use the show version command to do this.


You can see from the previous output that the 3850 is running in BUNDLE mode. Secondly, the line that starts with ‘System image file is..” This line is the name and location of the booted Cisco IOS XE bundle file. Notice that this is a .bin extension.


Again using the show version command, in the previous output the 3650 is running in INSTALL mode. This time the line that starts with ‘System image file is..” is referencing the name and location of the provisioning file ‘packages.conf‘.

Let’s continue changing our Bundle running mode to Install running mode.

To do this, execute the command below in exec.

3850# software expand running to flash:


I am executing this on a stack so you can see that the operation is expanding the bundle (.bin) file to switch 1 and switch 2. This is essentially unpacking .pkg files from the running .bin file on the switch.

Notice that the switch attempts to create a packages.conf file but it already exists, so it creates a file called ‘running-packages.conf‘. This isn’t a big deal. If you want your file to be named packages.conf, just rename the original packages.conf to something else before you run the above command.

After this finishes, we can view the flash:/ to see our pkg files.


Here we see two .pkg versions, 03.07.04E.pkg and 03.07.05E.pkg. Which one is the most recent one? 03.07.05E.pkg is the most recent because that is the version we extracted from our current running cat3k_caa-universalk9.SPA.03.07.05.E152-3.bin file. Also, notice the running-packages.conf file.

Let’s change the boot system variable to reference our new .conf file.


Note: Check to see if you already have a boot variable defined. Change it so that on next boot you load your packages.conf file and not the .bin file. Check the boot var with the command show boot to confirm.

Save your running config to start up and reload the switch.

After the reload, we can check our running mode.


Lets clean up our flash directory.


Here is the flash directory after we cleaned it.



Upgrading Cisco IOS-XE Software (Install Mode)

Recommended Releases for Cat9k

I got my hands on a Cisco Catalyst 3650-48PD-L switch which is the first access level switch that I’ve dealt with that is running IOS-XE. IOS-XE isn’t new, I prefer it over IOS because of its Linux base and the processing advantages it has. So today we will be going through the software upgrade process for a 3650 running in install mode.

You can view my other post on how to convert IOS XE from Bundled running mode to Install running mode.

Converting Cisco IOS-XE Software from Bundle Mode to Install Mode

You can also review upgrade procedure for specific hardware.
Catalyst 9200 upgrade procedure

As a quick introduction, here are some differences between IOS and IOS-XE.


  • Monolithic – The OS and its processes run in the same address space on the same hardware.
  • A single process could crash the entire system


  • Runs a Linux OS
  • Modular System
  • Multiprocessing allows for workloads to be shared across multiple CPUs.
  • Individual sub packages create IOS-XE that can be upgraded individually

Now that you have some understanding of the differences between IOS and IOS-XE you need to understand that there is two modes of operation.

The Cisco Catalyst 3650, 3850, and 9K series switches have two modes of operation, Install Mode and Bundle Mode.

Install Mode

Install mode uses a package-provisioning file named packages.conf, which is in charge of booting the switch. There are several .pkg files found in the flash drive that provide a specific function to the OS. Cisco recommends not altering any of the files.

Bundle Mode

Bundle mode uses monolithic Cisco IOS images to boot the switch. It consumes more memory than Install mode because packages are extracted from the bundle and copied to RAM.

I would suggest operating in Install mode as this is the default, and provides you with a modular system, you can switch them if you choose.

Lets continue into our upgrade..

You can see from the output of the 3650 that the current software version is 03.06.05b.e and it is running in Install Mode.


Download your image from Cisco. The new software version here will be 03.06.06E. I have chosen to use a USB drive to place my source image on, but you can still use a transfer protocol like TFTP or SCP.


After confirming that you have your source image in its proper location, execute the following command on the switch with your source image accurately defined.

Switch#software install file usbflash0:cat3k_caa-universalk9.SPA.03.06.06.E.152-2.E6.bin

The switch prepares the image for installation; below you see the switch performing pre-installation tasks. It will ask you to confirm a reload. Confirm a reload by typing Yes.


It will take several minutes to reload, during the reload processes the switch does several post-installation tasks such as updating the Front-end Microcode.


Once the switch has successfully finished reloading, you can log back in and confirm that the new version was successfully applied. Below we have successfully loaded 03.06.06E onto the switch.


As a post clean up task you should execute the command software clean switch 1. This will remove the packages.conf and .pkg files associated to the old image.

Switch#software clean switch 1

Here is what the flash looks like post upgrade..


That wraps up the upgrade process. I hope that this has been helpful for you.