01-22-2014 04:13 AM - edited 03-01-2019 05:01 PM
There are 2 methods of booting and running IOS XE software in 3850 switch/stack.
By default, the 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. (ie: The commands “software install” and “software rollback”.)
Use “software expand” command to convert the switch into Install mode from Bundle mode. The steps are mentioned below.
Upgrading 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
Hence, 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.
Copy tftp: flash:
(or)
Copy tftp: usbflash0:
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
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,
Example:
C3850#dir flash:
Directory of flash:/
<<snippet>>
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
<<snippet>>
[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
C3850#
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)
Can also boot from usbflash0: or via tftp
Software Rollback:
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)
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
Nice post, please resolve my below query also.
If i use the 'new' keyword then could you please confirm that the switch will boot with the new IOS or we need to put, boot system flash:<new IOS> to reboot with new version after software install file command.
Hi Devraj,
if we use "new" keyword, it will create a new package file and rename the old package file to packages.conf_old . This will be helpful if we want to Rollback the version to the previous version.
At any point of time, the file we use to boot the switch is packages.conf. so, we dont need to modify the boot variable if we already have the boot variable pointing to packages.conf.
Got it now.
Thanks a lot for your quick response and resolving my query.
I have used the "new" keyword on my upgrades but I am wondering why this isn't documented in any of the online documents showing the steps to upgrade the image. All the example show without using "new". Is there some benefit in not using "new" and getting a combined packages.conf file?
Not using the word "new" will create a combined image file that you can then reduce the size of using the "software clean" command. The only advantage to doing this instead of using "new" and creating multiple image files, is for reduced flash memory usage. You can free up room if needed with the software cleaning. However, you will lose the old code and cannot use the rollback function to the previous code if there is a bug or issues arise with the new code. Using the "new" command keeps them separate and allows you to rollback to the older code if the new code isn't working correctly with your applications.
hi!! thanks you for your information..!!
but i have a problem..
you might say Note: If the 'software clean' command is used, future attempts to do a software rollback are likely to fail
yes, i agree!! so if i want to use software rollback command after use 'sosftware clean' command, how do i do??
you cant use "rollback" if you already used "clean". you would have to downgrade using normal procedure.
Hello,
I recently upgraded all my 3850's in a stack to the latest cat3k_caa-universalk9.16.01.02.SPA.bin software. All the switch's are in bundle mode and I am unable to change the mode to Install mode. I have an "error" saying that " %PLATFORM-4-ELEMENT_WARNING:Switch 1 R0/0: smand: 1/RP/0: Committed Memory value 96% exceeds warning level 95% " Which files can be deleted after the upgrade to the new software? Thank you..
Can you issue the following command so that we see what you have on your flash
switch#dir
Thanks,
Manny
mmccullum -
Are you still having this issue? I'm running that same code version, but in INSTALL mode, and my committed memory keeps creeping up above that 95% threshold. Just wondering if you found a solution.
I have this issue too with running 16.1.1 code on my Catalyst 3850 Stack.
Looks like we are hitting this bug: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCux87245
regards
~chris
are you all seeing this issue when in Install mode? This occurs if you boot the switch using Bundle mode.
I was initially seeing the behavior while running 16.1.1 BUNDLE mode. I upgrade to 16.1.2 INSTALL mode and the behavior continued. Cisco has opened up the following bug for it on my TAC case: CSCuz39079
My case is still open but I've recently rolled half my switches back to 03.07.03E. I haven't noticed a problem yet, but if I'm not mistaken the memory architecture is different on that code train.
I tried to recreate the issue on 16.2.1 INSTALL mode but my lab switched needed to be deployed and I didn't have time to see if the memory grew over 95%.
One thing I noticed - while the committed memory would slowly grew (show platform software status control-processor brief), only the backup switch would ultimately get up over 95%. Just a warning - at about 103% committed memory my switch crashed. It happened in the middle of the night so I don't exactly know the impact, but I believe it caused a full reboot.
CSCuz39079 is related to memory leak. the actual issue with Bundle mode is, it consumes more memory due to new feature.
if you run the switch in Install mode, the first issue shouldnt be there.
I can assure you I was seeing the same issue in both INSTALL and BUNDLE mode.
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: