The Cisco Catalyst 3850 Switch uses Cisco IOS XE Software. Cisco IOS XE Software is delivered as a bundle that contains a set of packages.
You can boot and run the Cisco IOS XE Software on the Cisco Catalyst 3850 Switch in either of two modes: Install mode (recommended mode of operation) and Bundle mode
By default, the Cisco 3850 switches are shipped in Install mode.
Bundle mode: Bundle mode is where we boot the switch/stack using the .bin file. This is the traditional method of booting the switch where the switch extracts the .bin file to the RAM of the switch and run from there.
Install Mode: Install mode is where we pre-extract the .bin file in the flash and boot the witch/stack using the packages.conf file created during the extraction.
Note: Install mode is the recommended mode of running the switch. Not all features may be available in this Bundle mode. IOS XE installation and software rollback are supported only when the switch is running in “Install” mode. (i.e.: The commands “software install” and “software rollback”.)
Use “software expand” command to convert the switch into Install mode from Bundle mode.
How to Upgrade a Stand-alone Switch?
The packages and provisioning file used to boot in installed mode must reside in the flash.
Booting in installed mode from usbflash0: or TFTP is not supported.
Booting a bundle in bundle mode is just like booting a monolithic IOS image.
For example: boot flash:cat3k_caa-universalk9.SSA.03.08.83.EMD.150-8.83.EMD.bin
So, the boot variable should not be pointing to the .bin file. If so, the switch will boot in Bundle mode. The boot variable should be pointing to the “packages.conf” file in order for the switch to boot in Install mode.
Before doing the upgrade, we need to check the mode in which the switch is currently booted in.
C3850#show version | begin Switch Port
Switch Ports Model SW Version SW Image Mode
—— —– —– ———- ———- —-
* 1 32 WS-C3850-24T 03.03.01SE cat3k_caa-universalk9 INSTALL •ß Install mode
Upgrading from Install Mode:
By default, switches are shipped in Install mode.
In order to upgrade the switch from Install mode, please follow the below-mentioned procedure.
1. Download the new image from the TFTP server to the flash / USB on the switch. (optional)
Copy tftp: flash:
Copy tftp: usbflash0:
2. Use the command “software install” to install the newly downloaded image (or) the image present in the network.
C3850-01#software install file <source>:<filename.bin> new
The “new” keyword is used so that that the post-install package set should contain only the packages being installed. The old packages file will be renamed for future rollback purpose. Without this option, the post-install package set is a merged set of the currently installed software and the new packages being installed.
The source can be
- flash: or usbflash0: (or a sub-directory of these)
- The network via tftp, ftp or http
NOTE: When performing ‘software install’ on a switch with a source bundle that resides in the network, the source bundle is first downloaded to RAM on switch. The source bundle is deleted from RAM when the operation completes.
Refer to the configuration guide to know about the other optional parameters of this command,
Directory of flash:/
29511 -rwx 220716072 Oct 15 2012 12:57:59 +00:00 cat3k_caa-universalk9.SSA.03.08.88.EMP.150-8.88.EMP.bin
C3850#software install file flash:cat3k_caa-universalk9.SSA.03.08.88.EMP.150-8.88.EMP.bin
[1 ]: Creating pending provisioning file
[1 ]: Finished installing software. New software will load on reboot.
[1 ]: Committing provisioning file
[1 ]: Do you want to proceed with reload? [yes/no]: n
Once the installation is completed, reload the switch and it will boot into the newly installed IOS XE image.
From Bundle mode:
If the switch is currently running in “Bundle” mode, then we need to use the “software expand” command to convert the switch into the Install mode first and then install the new IOS XE.
The ‘software expand’ exec command is used to extract the package files and the provisioning file (packages.conf) from a source bundle (possibly the running bundle) and copy them to the specified destination directory in a local storage device.
This command will typically be used to convert from the bundle running mode to the installed running mode.
NOTE: When performing ‘software expand’ on a switch with a source bundle that resides in local storage, the source bundle is first copied to the corresponding local storage device on the switch. The source bundle used for the expand operation is left intact after it is expanded.
NOTE: When performing ‘software expand’ on a switch with a source bundle that resides in the network, the source bundle is first downloaded to RAM of the switch. The source bundle is deleted from RAM on the switch when the operation completes.
This example uses the following steps to prepare a switch for booting in installed mode, i.e., booting a package provisioning file (packages.conf)
- Boot in bundle mode using ‘boot flash:<bundle name>’
Can also boot from usbflash0: or via tftp
- Use the ‘software clean file flash:’ command to remove any unused package, bundle and provisioning files from flash:
- Use the ‘software expand running to flash:’ command to expand the running bundle to flash:
- Reload the switch
- Boot the installed packages using ‘boot flash:packages.conf’
The ‘software rollback’ exec command can be used to revert to a previous version of the installed software package set (i.e., an older packages.conf file)
This functionality relies on the existence of one or more ‘rollback provisioning files’ in flash: along with all of the .pkg files listed in the rollback provisioning file(s)
- The rollback provisioning files are visible in flash: as packages.conf.00-, packages.conf.01-, etc.
- packages.conf.00- is a snapshot of the packages.conf file as it looked prior to the last installation operation
- packages.conf.01- is a snapshot of the packages.conf file as it looked two installations ago
- And so on
When the ‘software rollback’ command is used, packages.conf.00- becomes packages.conf. packages.conf.01- becomes packages.conf.00-. And so on
Note: If the ‘software clean’ command is used, future attempts to do a software rollback are likely to fail