How To: Upgrade Cisco IOS

I’ve been wanting to do a write-up on how to upgrade your Cisco IOS to a newer version for awhile, and today I’m going to do it! I’ll be using a Cisco 2970T 24 port gigabit switch with the 12.1 IOS on it, and no web console. I will be upgrading it to c2970-lanbasek9-tar.122-44.SE6.

The first thing that you need to do is install a TFTP server. For this upgrade I’m using the WinAgents TFTP Server. But you can use whatever you’d like. Make sure that once it is installed and running, it’s setup as a server and not a client.

The next step is to establish a console session with the switch. I’m assuming that you’ve done this before, but for those of you that are new, these are the settings you need to use:

  • Speed 9600 bits per second
  • 8 databits
  • 0 parity bits
  • 1 stop bit
  • No Flow Control

Now you need to choose a Cisco IOS to use for your upgrade. Refer to How to Choose a Cisco IOS Software Release for information on how to select the correct software version and feature set. Once you have the correct IOS picked out, download it to your computer. Now you need to put it in your TFTP directory so that it’s ready to be downloaded by the switch.

Now we need to verify that the switch has connectivity to the TFTP server. You must be able to ping the switch from the computer hosting the TFTP server and vice versa. This means that you have to physically plug the switch into your network one way or another. You can’t just use the console cable to download the new IOS.

If your connectivity is looking good, you can initiate the transfer. Login to your switch and at the prompt type “copy tftp flash:”
This will cause the new IOS to be downloaded from your TFTP server. It will come up with a few prompts asking you for the file name you want to pull, and to confirm it. If your flash memory doesn’t have enough room, it may ask if you want to erase it before the transfer starts.

The copy process takes several minutes. This time differs from network to network. When the copy process is in progress, messages are displayed that indicate which file has been accessed.

The exclamation point “!” indicates that the copy process is in progress. Each exclamation point indicates that ten packets have transferred successfully. A checksum verification of the image occurs after the image is written to Flash memory. If you get any errors, check and see if you have any other files in your flash memory that can be deleted by typing “dir flash:”. Type “delete flash:’filename'” to delete the unwanted files.

You will need to tell the device what IOS image you want it to boot from. To do this, enter config t mode, and then type: boot config flash:iosname.bin

The next step is saving the config and reloading the device. Type “wr mem” to save the config, and then type “reload” to reload the device and boot into the new IOS image.

After the reload is complete, the router should run the desired Cisco IOS Software image. Use the “show version” command in order to verify the Cisco IOS software.

If you picked a version of the IOS that has the web console, you should be able to browse to the IP of your newly upgraded switch and see a nice GUI. If you don’t see anything, you might have to type “ip http server” to enable the web conosle. This makes it easier to upgrade the switch in the future if you don’t like using the CLI.

I’m sure I could go way more in depth with this topic, but if you have any questions, just leave me a comment. Enjoy!


Leave a Reply