Working with Cisco IOS XE Software Bundles

About Software Bundles and Packages

Cisco IOS XE software bundles include a set of Cisco IOS XE package (.pkg) files. You can install the package files on the device or you can boot the device from the IOS XE bundle itself.

To display information about the contents of a Cisco IOS XE bundle (.bin file), use the show software package command in privileged EXEC mode. Use the command to display information about an individual IOS XE package (.pkg) file as well.

Bundle and Package File Location on the Device

When the device is running in installed mode, the Cisco IOS XE package (.pkg) files and provisioning file (packages.conf) are stored in the system board flash memory (flash:). When the device is running in bundle mode, the booted Cisco IOS XE software bundle (.bin) file is stored in the system board flash memory (flash:) or USB flash memory (usbflash0:).

To display information about the provisioning software that is currently running on the device, use the show version privileged EXEC command. In the display, check the line that begins with

System bundle file is....

When the device is running in installed mode, this line displays the name and location of the booted Cisco IOS XE provisioning file, typically flash:packages.conf.

When the device is running in bundle mode, this line displays the name and location of the booted Cisco IOS XE bundle file.

To display information about the Cisco IOS XE package files that are running on the device, use the show version running privileged EXEC command.

When the device is running in installed mode, this command displays information about the set of package files contained in the booted provisioning file.

When the device is running in bundle mode, this command displays information about the set of package files contained in the booted Cisco IOS XE software bundle.


Note

For usbflash0:, the default format is FAT16, while FAT32 format is also supported.



Device# format usbflash0: ?
		FAT16   FAT16  filesystem type
  FAT32   FAT32  filesystem type

Upgrading Cisco IOS XE Software

The method that you use to upgrade Cisco IOS XE software depends on whether the device is running in installed mode or in bundle mode.

Upgrading Cisco IOS XE Software: Install Mode

To upgrade the Cisco IOS XE software when the device is running in installed mode, use the software install privileged EXEC command to install the packages from a new software bundle file. The software bundle can be installed from the local storage media or it can be installed over the network using TFTP or FTP.

The software install command expands the package files from the specified source bundle file and copies them to the local flash: storage device. When the source bundle is specified as a tftp: or ftp: URL, the bundle file is first downloaded into the device's memory (RAM); the bundle file is not copied to local storage media.

After the package files are expanded and copied to flash: the running provisioning file (flash:packages.conf) is updated to reflect the newly installed packages, and the device displays a reload prompt.


Note

The software install command is not supported when the device is running in bundle mode. Use the software expand privileged EXEC command to convert the device from bundle mode to installed mode.

Upgrading Cisco IOS XE Software Install Mode Example

This example shows the software install file command being used to expand and copy the packages from a Cisco IOS XE bundle located on a TFTP server in order to upgrade to a new image:

Device# 
software install file tftp://172.19.211.47/cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
Preparing install operation ...
[1]: Downloading file tftp://172.19.211.47/cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin to active switch 1
[1]: Finished downloading file tftp://172.19.211.47/cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin to active switch 1
[1]: Starting install operation
[1]: Expanding bundle cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
[1]: Copying package files
[1]: Package files copied
[1]: Finished expanding bundle cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
[1]: Verifying and copying expanded package files to flash:
[1]: Verified and copied expanded package files to flash:
[1]: Starting compatibility checks
[1]: Finished compatibility checks
[1]: Starting application pre-installation processing
[1]: Finished application pre-installation processing
[1]: Old files list:
Removed cat3k_caa-base.SSA.03.09.17.EMP.pkg
Removed cat3k_caa-drivers.SSA.03.09.17.EMP.pkg
Removed cat3k_caa-infra.SSA.03.09.17.EMP.pkg
Removed cat3k_caa-iosd-universalk9.SSA.150-9.17.EMP.pkg
Removed cat3k_caa-platform.SSA.03.09.17.EMP.pkg
Removed cat3k_caa-wcm.SSA.03.09.17.EMP.pkg
[1]: New files list:
Added cat3k_caa-base.SPA.03.02.00.SE.pkg
Added cat3k_caa-drivers.SPA.03.02.00.SE.pkg
Added cat3k_caa-infra.SPA.03.02.00SE.pkg
Added cat3k_caa-iosd-universalk9.SPA.150-1.EX.pkg
Added cat3k_caa-platform.SPA.03.02.00.SE.pkg
Added cat3k_caa-wcm.SPA.03.02.00.SE.pkg
[1]: Creating pending provisioning file
[1]: Finished installing software. New software will load on reboot.
[1]: Setting rollback timer to 45 minutes
[1]: Do you want to proceed with reload? [yes/no]:

Upgrading Cisco IOS XE Software: Bundle Mode

To upgrade the Cisco IOS XE software when the device is running in bundle mode, follow these steps:

  1. Download the bundle file to local storage media.

  2. Configure the boot system global configuration command to point to the bundle file.

  3. Reload the device.

Upgrading Cisco IOS XE Software Bundle Mode Example

This example shows the steps to upgrade the Cisco IOS XE software on a device that is running in bundle mode. It shows using the copy command to copy the bundle file to flash:, configuring the boot system variable to point to the bundle file, saving a copy of the running configuration, and finally, reloading the device.


Device# 
copy tftp://172.19.211.47/cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin flash:
Destination filename [cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin]?
Accessing tftp://172.19.211.47/cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin...Loading
/tftpboot/cstohs/cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin from 172.19.211.47 (via GigabitEthernet0/0):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [OK - 220766688 bytes]
220766688 bytes copied in 124.330 secs (1775651 bytes/sec)

Device#
Device#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Device(config)# boot system switch all flash:cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
Device(config)# end
Device#

*Nov 19 14:02:42.441: %SYS-5-CONFIG_I: Configured from console by console

Device#
Device# write memory
Building configuration...
Compressed configuration from 4941 bytes to 2236 bytes[OK]

Device# reload
Reload command is being issued on Active unit, this will reload the whole stack
Proceed with reload? [confirm]

Converting from the Bundle Running Mode to the Install Running Mode

To convert the running mode of a device from bundle mode to installed mode, use the software expand running privileged EXEC command. This command expands the packages from the booted IOS XE software bundle and copies them and the provisioning file to the specified to destination.

When you use the software expand running command to convert the device from bundle mode to installed mode, specify the to destination as flash: . After you execute the command, configure the boot system command to point to the expanded provisioning file (flash:packages.conf), then reload the device to boot in installed mode.


Note

The software expand running command is not supported when the device is running in installed mode.


Converting from the Bundle Running Mode to the Install Running Mode Example

This example shows using the software expand running to command to convert the active device in a device stack from the bundle running mode to the installed running mode:


Device# dir flash:
Directory of flash:/
 7386 -rwx     2097152 Jan 23 2013 14:06:49 +00:00 nvram_config
 7378 drwx        4096 Jan 23 2013 09:35:11 +00:00 mnt
 7385 -rw-   221775876 Jan 23 2013 14:15:13 +00:00 cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
 7389 -rwx         556 Jan 21 2013 20:47:30 +00:00 vlan.dat
712413184 bytes total (445063168 bytes free)

Device#
Device# software expand running to flash:
Preparing expand operation ...
[2]: Expanding the running bundle
[2]: Copying package files
[2]: Package files copied
[2]: Finished expanding the running bundle
Device#
Device# dir flash:
Directory of flash:/
 7386 -rwx     2097152 Jan 23 2013 14:06:49 +00:00 nvram_config
 7378 drwx        4096 Jan 23 2013 09:35:11 +00:00 mnt
 7385 -rw-   221775876 Jan 23 2013 14:15:13 +00:00 cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
 7391 -rw-    74410468 Jan 23 2013 14:16:57 +00:00 cat3k_caa-base.SPA.03.02.00SE.pkg
 7392 -rw-     2773680 Jan 23 2013 14:16:57 +00:00 cat3k_caa-drivers.SPA.03.02.00.SE.pkg
 7393 -rw-    32478044 Jan 23 2013 14:16:57 +00:00 cat3k_caa-infra.SPA.03.02.00SE.pkg 
 7394 -rw-    30393116 Jan 23 2013 14:16:57 +00:00 cat3k_caa-iosd-universalk9.SPA.150-1.EX.pkg
 7389 -rwx         556 Jan 21 2013 20:47:30 +00:00 vlan.dat
 7395 -rw-    18313952 Jan 23 2013 14:16:57 +00:00 cat3k_caa-platform.SPA.03.02.00.SE.pkg
 7396 -rw-    63402700 Jan 23 2013 14:16:57 +00:00 cat3k_caa-wcm.SPA.10.0.100.0.pkg
 7388 -rw-        1218 Jan 23 2013 14:17:43 +00:00 packages.conf
712413184 bytes total (223019008 bytes free)

Device#
Device# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Device(config)# boot system switch all flash:packages.conf 
Device(config)# end
Device#

*Jan 23 14:28:47.722: %SYS-5-CONFIG_I: Configured from console by console

Device# write memory
Building configuration...
Compressed configuration from 4851 bytes to 2187 bytes[OK]

Device#
Device# reload
Reload command is being issued on Active unit, this will reload the whole stack
Proceed with reload? [confirm]

Copying IOS XE Package and Bundle Files from One Stack Member to Another

For device stacks running in installed mode, use the software install source switch privileged EXEC command to install the running software packages from an existing stack member to one or more other stack members that are running different (but compatible) software packages.

Copying IOS XE Package and Bundle Files from One Stack Member to Another Example

This example shows a 2-member stack where each device is running a different (but compatible) software package. The software install source switch command is used to install the packages that are currently running on the standby device (device 1) onto the active device (device 2):


Device# show version running
Package: Base, version: 03.02.00SE, status: active
File: cat3k_caa-base.SPA.03.02.00SE.pkg, on: Switch1
Built: Wed Jan 09 21:59:52 PST 2013, by: gereddy

Package: Drivers, version: 03.02.00.SE, status: active
File: cat3k_caa-drivers.SPA.03.02.00.SE.pkg, on: Switch1
Built: Wed Jan 09 22:03:41 PST 2013, by: gereddy

Package: Infra, version: 03.02.00SE, status: active
File: cat3k_caa-infra.SPA.03.02.00SE.pkg, on: Switch1
Built: Wed Jan 09 22:00:56 PST 2013, by: gereddy

Package: IOS, version: 150-1.EX, status: active
File: cat3k_caa-iosd-universalk9.SPA.150-1.EX.pkg, on: Switch1
Built: Wed Jan 09 22:02:23 PST 2013, by: gereddy

Package: Platform, version: 03.02.00.SE, status: active
File: cat3k_caa-platform.SPA.03.02.00.SE.pkg, on: Switch1
Built: Wed Jan 09 22:01:46 PST 2013, by: gereddy

Package: WCM, version: 10.0.100.0, status: active
File: cat3k_caa-wcm.SPA.10.0.100.0.pkg, on: Switch1
Built: Wed Jan 09 22:03:05 PST 2013, by: gereddy

Device#
Device# software install source switch 1
Preparing install operation ...
[2]: Copying software from source switch 1 to switch 2
[2]: Finished copying software to switch 2
[2]: Starting install operation
[2]: Starting compatibility checks
[2]: Finished compatibility checks
[2]: Starting application pre-installation processing
[2]: Finished application pre-installation processing
[2]: Old files list:
Removed cat3k_caa-base.SSA.03.09.17.EMP.pkg
Removed cat3k_caa-drivers.SSA.03.09.17.EMP.pkg
Removed cat3k_caa-infra.SSA.03.09.17.EMP.pkg
Removed cat3k_caa-iosd-universalk9.SSA.150-9.17.EMP.pkg
Removed cat3k_caa-platform.SSA.03.09.17.EMP.pkg
Removed cat3k_caa-wcm.SSA.03.09.17.EMP.pkg
[2]: New files list:
Added cat3k_caa-base.SPA.03.02.00.SE.pkg
Added cat3k_caa-drivers.SPA.03.02.00.SE.pkg
Added cat3k_caa-infra.SPA.03.02.00.SE.pkg
Added cat3k_caa-iosd-universalk9.SPA.150-1.EX.pkg
Added cat3k_caa-platform.SPA.03.02.00.SE.pkg
Added cat3k_caa-wcm.SPA.10.0.100.0.pkg
[2]: Creating pending provisioning file
[2]: Finished installing software. New software will load on reboot.
[2]: Committing provisioning file
[2]: Do you want to proceed with reload? [yes/no]:

For device stacks running in bundle mode, follow these steps to copy the bundle file from one stack member to another:

  1. Use the copy privileged EXEC command to copy the running bundle from one device in the stack to the other.

  2. Configure the boot system global configuration command to point to the bundle file.

  3. Reload the device.

This example shows a 2-member stack where each device is running a different (but compatible) software packages:


Device# copy flash:cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin flash-1:
Destination filename [cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin]?
Copy in progress...
...
220766688 bytes copied in 181.700 secs (1215007 bytes/sec)
Device#
Device# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.

Device(config)# boot system switch 1 flash:cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
Device(config)# end
Device#

Upgrading a Device Running Incompatible Software

To upgrade a device that is running in installed mode with software packages that are incompatible with the device stack (also running in installed mode), use the software auto-upgrade privileged EXEC command to install the software packages from an existing stack member to the stack member that is running incompatible software. Upon completion of the auto-upgrade installation, the incompatible device automatically reloads and joins the stack as a fully functioning member.


Note

If you configure the global software auto-upgrade enable command, the auto-upgrade functionality is initiated automatically when a device with incompatible software running in installed mode joins the stack that is running in installed mode. For more information, see Cisco IOS Configuration Fundamentals Command Reference, Cisco IOS XE Release 3SE (Catalyst 3850 Switches).

Upgrading a Device Running Incompatible Software Example

This example shows a 2-member device stack; device 2 is the active device and device 1 is running incompatible software:


Device# show switch
Switch/Stack Mac Address : 6400.f125.1100 - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Switch# Role Mac Address Priority Version State
------------------------------------------------------------
1 Member 6400.f125.1a00 1 0 V-Mismatch
*2 Active 6400.f125.1100 1 V01 Ready
Device#
Device# software auto-upgrade
% Auto upgrade has been initiated for the following incompatible switches: 1

INFO level system messages will be generated to provide status information during
the auto upgrade process

Device#
*Oct 19 06:59:14.521: %INSTALLER-6-AUTO_UPGRADE_SW_INITIATED: 2 installer: Auto upgrade initiated for switch 1
*Oct 19 06:59:14.522: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Searching stack for software to upgrade switch 1
*Oct 19 06:59:14.523: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Found donor switch 2 to auto upgrade switch 1
*Oct 19 06:59:14.523: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Upgrading switch 1 with software from switch 2
*Oct 19 07:00:47.829: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Finished installing software on switch 1
*Oct 19 07:00:47.829: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Reloading switch 1 to complete the auto upgrade

To upgrade a device that is running in bundle mode with a software bundle that is incompatible with the device stack (also running in bundle mode), follow these steps:

  1. Use the copy privileged EXEC command to copy the running bundle from one device in the stack to the other.

  2. Configure the boot system global configuration command to point to the bundle file.

  3. Reload the device.

This example shows a 2-member device stack running in bundle mode; device 2 is the active device and device 1 is running an incompatible bundle:


Device# show switch
Switch/Stack Mac Address : 6400.f125.1100 - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Switch# Role Mac Address Priority Version State
------------------------------------------------------------
1 Member 6400.f125.1a00 1 0 V-Mismatch
*2 Active 6400.f125.1100 1 V01 Ready
Device#
Device# copy flash:cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin flash-1:
Destination filename [cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin]?
Copy in progress...
...
220766688 bytes copied in 181.700 secs (1215007 bytes/sec)

Device#
Device# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Device(config)# boot system switch 1 flash:cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
Device(config)# end
Device#
*Nov 19 16:08:14.857: %SYS-5-CONFIG_I: Configured from console by console
Device# reload slot 1
Stack is in Half ring setup; Reloading a switch might cause stack split
Proceed with reload? [confirm]

Upgrading a Device Running in Incompatible Running Mode

When a device running in bundle mode tries to join a stack running in installed mode, use the software auto-upgrade privileged EXEC command to install the incompatible device's running packages and convert the device to installed mode. Upon completion of the auto-upgrade running mode conversion, the incompatible device automatically reloads and attempts to join the stack in installed mode.


Note

If you configure the global software auto-upgrade enable command, the auto-upgrade functionality is initiated automatically when a device with incompatible software running in installed mode joins the stack that is running in installed mode. For more information, see Cisco IOS Configuration Fundamentals Command Reference, Cisco IOS XE Release 3SE (Catalyst 3850 Switches).

Upgrading a Device Running in Incompatible Running Mode Example

This example shows a 2-member device stack running in installed mode; device 2 is the active device and device1 is running in bundle mode:


Device# show switch
Switch/Stack Mac Address : 6400.f125.1100 - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Switch# Role Mac Address Priority Version State
------------------------------------------------------------
1 Member 6400.f125.1a00 1 0 V-Mismatch
*2 Active 6400.f125.1100 1 V01 Ready

Device#
Device# software auto-upgrade
% Auto upgrade has been initiated for the following incompatible switches: 1

INFO level system messages will be generated to provide status information during the auto upgrade process

Device#
*Oct 19 07:17:16.694: %INSTALLER-6-AUTO_UPGRADE_SW_INITIATED: 2 installer: Auto upgrade initiated for switch 1
*Oct 19 07:17:16.694: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Converting switch 1 to installed mode by
*Oct 19 07:17:16.694: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: installing its running software
*Oct 19 07:18:50.488: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Setting the boot var on switch 1
*Oct 19 07:18:51.553: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Finished installing the running software on switch 1
*Oct 19 07:18:51.553: %INSTALLER-6-AUTO_UPGRADE_SW: 2 installer: Reloading switch 1 to boot in installed mode


Note

When you use the software auto-upgrade command to convert an incompatible device to installed mode, the command installs the packages from the incompatible device's running bundle. If, after you reload and boot the incompatible device in installed mode, the device's installed packages are found to be incompatible with the stack, you can use the software auto-upgrade command again. For more information, see Cisco IOS Configuration Fundamentals Command Reference, Cisco IOS XE Release 3SE (Catalyst 3850 Switches).


To convert a device that is running in installed mode and joining a stack that is running in bundle mode, follow these steps:

  1. Use the copy privileged EXEC command to copy the running bundle from one device in the stack to the other.

  2. Configure the boot system global configuration command to point to the bundle file.

  3. Reload the device.

After reloading, the incompatible device boots in bundle mode and joins the stack as a fully functioning member.

This example shows a 2-member device stack running in bundle mode; device 2 is the active device and device 1 is running in installed mode:


Device#
Device# copy flash:cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin flash-1:
Destination filename [cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin]?
Copy in progress...
....
220766688 bytes copied in 181.700 secs (1215007 bytes/sec)
Device#
Device# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Device(config)# boot system switch 1 flash:cat3k_caa-universalk9.SSA.03.12.02.EZP.150-12.02.EZP.150-12.02.EZP.bin
Device(config)# end
Device#
*Nov 19 16:08:14.857: %SYS-5-CONFIG_I: Configured from console by console
Device# reload slot 1
Stack is in Half ring setup; Reloading a switch might cause stack split
Proceed with reload? [confirm]

Additional References

Related Documents

Related Topic

Document Title

Commands for managing software bundles and packages

Cisco IOS Configuration Fundamentals Command Reference

Error Message Decoder

Description Link

To help you research and resolve system error messages in this release, use the Error Message Decoder tool.

https://www.cisco.com/cgi-bin/Support/Errordecoder/index.cgi

Standards

Standards

Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

--

MIBs

MIBs

MIBs Link

No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFCs

Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

--

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html