Bundle Mode vs Install Mode

When installing or upgrading the IOS on a Cisco Switch, there are 2 modes we should be aware of.

Bundle Mode and Install Mode.

As you’ve likely guessed, these are simply different methods of installing the Cisco IOS, but the difference is important.

As newer IOS updates get released, the individual .bin file sizes become noticeably bigger. When this .bin file is installed in Bundle mode, it is loaded into the Switch’s RAM as part the installation, consuming that same amount of RAM in the process. With increasing file sizes, we can see why this is an issue, it is essentially an inefficient use of Switch resources.

With Install mode, the .bin image is simply mounted and extracted to the Switch’s Flash memory, thereby freeing up space in the RAM to be used for other purposes.

Checking the Current Mode

We can see what method is being used on a Switch by using the ‘show version‘ command. Example output is below.

SWITCH-STACK# show version

< TRUNCATED > 

SWITCH-STACK uptime is 6 hours, 21 minutes
Uptime for this control processor is 6 hours, 24 minutes
System restarted at 09:18:19 BST Mon May 11 2020
System image file is "flash:/packages.conf"

< TRUNCATED > 

Switch Ports Model              SW Version        SW Image              Mode
------ ----- -----              ----------        ----------            ----
*    1 52    WS-C3650-48PD      16.9.4            CAT3K_CAA-UNIVERSALK9 INSTALL
     2 52    WS-C3650-48PD      16.9.4            CAT3K_CAA-UNIVERSALK9 INSTALL

< TRUNCATED > 

From Line 8 we can see that the System Image file is ‘packages.conf‘, this is our first hint that the Switch has been configured in Install mode.

Further down the output, we can see on Lines 14-15 that each Switch Mode is ‘INSTALL‘, this is as explicit as it gets.

Bundle Mode

In this mode, the Switch boots using the standard .bin file we all know and hate love. Here the Switch extracts the .bin file from the Flash to the RAM of the Switch and runs the IOS from there. Pretty simple from a human perspective, we just feed the Switch the .bin file and it will effectively take care of the rest.

Though this is the method that long time Engineers find more familiar, not all features may be available in Bundle mode, especially with newer IOS releases. Also, remember that this is a waste of RAM compared to the alternative.

The Boot Statement will look like the below example output:

SWITCH(config)# boot system flash:[BIN FILE]

Install Mode

In Install Mode, the .bin file is copied and extracted to the Flash, and we then tell the Switch to boot using a sort of ‘index’ file that is extracted as a result. This ‘index’ file (known as ‘packages.conf‘) points towards all the other extracted files and therefore gives the Switch a singular point of reference instead of referring to each of the extracted files individually.

SWITCH-STACK# software expand file flash:[BIN FILE]

Remember to change the Boot Statement:

SWITCH-STACK(config)# boot system switch all flash:packages.conf

From among the benefits of Install mode are that the Switch boot time will be slightly faster due to its ‘fully installed’ nature compared to Bundle mode. Install mode is the Cisco recommended method.

Converting from Bundle Mode to Install Mode

It is possible to convert an existing Bundle installation to an Install one.

Firstly, make sure that you have the .bin file in the Switch’s Flash, then use the below command:

SWITCH-STACK# request platform software package expand switch all file flash:[IOS .bin FILE] retain-source-file auto-copy verbose

Finally, we will set the Boot Statement to boot from ‘packages.conf’ in the Flash:

SWITCH-STACK(config)# boot system switch all flash:packages.conf

Notes

  • A stack must have all switches installed using the same method, otherwise you will see a ‘Version Mismatch’ error in the ‘show switch’ output
  • If you already have a ‘packages.conf’ file in the Flash, the new file will be renamed to something else. Dont forget to change your Boot Statement accordingly. Alternatively, delete any old packages.conf’ files (if possible) before starting an install.

Leave a Reply

Your email address will not be published.