Upgrading a Cisco 3750 IOS from a .bin image file

I just wasted hours trying to figure out how to upgrade a Cisco Catalyst 3750 using the .bin image instead of the .tar archive, since I don’t want any fancy web interface on any of my core network devices.

All of the current documentation explains only how to use the archive command, which can’t be used in this case, and I’ve tried /imageonly option to download-sw which still needs the .tar archive. And the only bits of documentation I found which referenced the .bin method were actually misleading.

The solution is quite simple : Just copy the image you want to the device, I did that using xmodem since I was too lazy to plug in a network cable (yeah, old school, especially given the archive tool doesn’t even support xmodem!). Of course, you can use tftp or any other supported protocol :

copy xmodem: flash:c3750-advipservicesk9-mz.122-35.SE5.bin

Once the copy is over, the file is on the flash filesystem. Now comes the trivial yet tricky part : How to activate the image. A quick look at the boot vars show which image will be used. Here we see that it’s still the original one :

Switch#show boot
BOOT path-list      : flash:/c3750-ipbase-mz.122-35.SE5/c3750-ipbase-mz.122-35.SE5.bin
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    :
Auto upgrade        : yes
Auto upgrade path   :

And all of the documentation I found references the boot command to select which image to boot, even a Cisco Wiki page for the 3750 (which I suspect was wrong about this). That command doesn’t seem to exist on the 3750. The proper command is this one, run in configure terminal mode :

boot system flash:/c3750-advipservicesk9-mz.122-35.SE5.bin

It does seem completely obvious now, but I had it in front of my nose for hours without seeing it in any Cisco documentation. Running show boot again will now list the new image :

Switch#show boot                                                                                                             
BOOT path-list      : flash:/c3750-advipservicesk9-mz.122-35.SE5.bin
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    :
Auto upgrade        : yes
Auto upgrade path   :

Then just reload the switch and you’re done. You can later remove the older image using delete /force /recursive, but you can also just leave it, as the switch will automatically boot the first image it finds alphabetically if the ones from the boot path-list aren’t found.

Update 2011/09 : To update other members in a running stack once you have prepared the master, you must copy and enable the image on each of them as follows :

Switch#copy flash1:/c3750-advipservicesk9-mz.122-35.SE5.bin flash2:
Destination filename [c3750-advipservicesk9-mz.122-35.SE5.bin]?
Copy in progress...CCCCCCCCCCCCCCCC[...]
Switch#configure terminal
Switch(config)#boot system switch all flash:/c3750-advipservicesk9-mz.122-35.SE5.bin

You need to repeat the above for each available flash* otherwise the boot system command will fail.

5 comments to Upgrading a Cisco 3750 IOS from a .bin image file

  • Miky

    Thanks for the great post.
    But I’d like to update you about a new telnet client with easy scripting
    It’s called Polyscript, google it :)

  • Craig G

    Just a note, you missed a trailing / while issuing the boot system command, it should be:

    boot system flash:/c3750-advipservicesk9-mz-122-35.SE5.bin

    If you miss out the slash then the switch will load the first image file in flash so it will still work, however you get the following error:

    Loading “flash:c3750-ipservices-mz-122-25.SEE4.bin”…flash:c3750-ipservices-mz-122-25.SEE4.bin: no such file or directory

    Error loading “flash:c3750-ipservices-mz-122-25.SEE4.bin”

    Interrupt within 5 seconds to abort boot process.
    Loading “flash:/c3750-ipservices-mz.122-25.SEE4.bin”.

  • Tom K

    Nice post! Helped us avoid using the .tar file for upgradeing a ME-3400 system. Greatly appreciate your putting this up.

  • Worked like a charm, I will remember this for now on because I was banging my head on my desk trying to figure it out.

Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>