Contents

Introduction

Prerequisites

Requirements

Components Used

Conventions

Background Information

Install a TFTP Server

Establish a Console Session with the Router

Router Boot Problems

Software Installation and Upgrade Procedures

Step 1: Select a Cisco IOS Software Image

Step 2: Download the Cisco IOS Software Image to the TFTP Server

Step 3: Identify the File System to Copy the Image

Step 4: Prepare for the Upgrade

Step 5: Verify that the TFTP Server has IP Connectivity to the Router

Step 6: Copy Cisco IOS Image to the Router

Example 1: Copy the Image to Flash: from TFTP Server

Example 2: Copy the Image to Slot1: from TFTP Server

Example 3: Copy the Cisco IOS Image to Flash: from Another Router

Step 7: Verify the Cisco IOS Image in the File System

Step 8: Verify the Configuration Register

Step 9: Verify the Boot Variable

Step 10: Save the Configuration and Reload the Router

Step 11: Verify the Cisco IOS Upgrade

Related Information

Introduction

This document describes how to upgrade a Cisco IOS® software image on Cisco Access Router platforms.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

The information in this document is based on the Cisco IOS® Software Release 12 or later.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Conventions

Refer to the Cisco Technical Tips Conventions for more information on document conventions.

Background Information

This document explains how to upgrade a Cisco IOSsoftware image on Cisco Access Router platforms. The examples provided from the 2600 and 3600 Series Routers also apply to the list of router platforms mentioned. The Cisco IOS Software file names can vary, based on the Cisco IOS Software release, feature set, and platform.

Note: You must be a registered user and you must be logged in to the Cisco.com website in order to use the tools described in this document.

Several protocols are available to copy the Cisco IOS image into the Cisco routers. The most commonly used protocol is Trivial File Transfer Protocol (TFTP). Other protocols include ftp, http, https, scp, and rcp. If necessary, you can copy an image from one device to another. For more information, refer to the Copy From One Router to Another section of the How to Copy a System Image from One Device to Another document.

Install a TFTP Server

A TFTP server application must be installed on a TCP/IP-ready workstation or PC. After the application is installed, you must perform a minimal level of configuration.

1. Download a TFTP server. Refer to TFTP Server Selection and Use for more information.

2. Configure the TFTP application to operate as a TFTP server instead of a TFTP client.

3. Specify the outbound file directory. This is the directory in which the Cisco IOS software images are stored. Most TFTP applications provide a setup routine in order to assist in these configuration tasks.

Establish a Console Session with the Router

Even if it is possible to connect to the router through a Telnet session, Cisco recommends that you connect directly to the router through the console port because, if something goes wrong during the upgrade, you need to be physically present next to the router to power-cycle it. Moreover, the Telnet connection is lost while the router reboots during the upgrade procedure.

A rolled cable, usually a flat black cable, connects the console port of the router to one of the COM ports of the PC.

When the PC is connected to the console port of the router, open a Terminal Emulator on the PC, and use these settings:

9600 Speed bits per second

8 databits

0 parity bits

1 stop bit

No Flow Control

If garbage characters appear in the Terminal session, either you have not set the Terminal Emulator properties properly or the config-register of the router is set to a non-standard value for which the console connection speed is higher than 9600 bps. In order to check the value of the config-register, issue the show version command. The config-register values appears in the last line of the output. Verify that this value is set to 0x2102 or 0x102.

Note: In order for a configuration register change to take effect, you must reload the router.

When you are sure that the console speed is set to 9600 bps on the router side, you must check the Terminal Emulator properties. Refer to Troubleshoot and Apply Correct Terminal Emulator Settings for Console Connections for more information on how to set the Terminal properties.

Router Boot Problems

When you are connected to the console port of the router, you notice that the router is either in ROMmon or Boot mode. These two modes are used for recovery and diagnostic procedures. If you do not see the usual router prompt, you must use these recommendations in order to proceed with the upgrade procedure installation:

- The router boots in ROMmon mode, and this message appears when you issue the dir flash: command:

rommon 1 >dir flash:

device does not contain a valid magic number

dir: cannot open device "flash:"

rommon 2 >

This error message displays when the Flash is empty or the filesystem is corrupted.

Note: You also need to consult the Boot Failure procedures specific to your platform. Choose your platform from the Product Support Selector in order to locate these procedures. Look in the Troubleshooting section of each document.

- The router boots in boot mode with these messages on the console:

router(boot)>

device does not contain a valid magic number

boot: cannot open "flash:"

boot: cannot determine first file name on device "flash:"

These error messages display in the console output when the Flash is empty, or when the file system is corrupted. Copy a valid image on the Flash as described in the procedures provided in this document.

Note: You also need to consult the Boot Failure procedures specific to your platform. Choose your platform from the Product Support Selector in order to locate these procedures.

Software Installation and Upgrade Procedures

This section covers these topics:

- Step 1: Select a Cisco IOS Software Image

- Step 2: Download the Cisco IOS Software Image to the TFTP Server

- Step 3: Identify the Router File System to Copy the Image

- Step 4: Prepare for the Upgrade

- Step 5: Verify that the TFTP Server has IP Connectivity to the Router

- Step 6: Copy the Cisco IOS image to the Router

- Step 7: Verify the Cisco IOS Image in the File System

- Step 8: Verify the Configuration Register

- Step 9: Verify the Boot Variable

- Step 10: Save the Configuration and Reload the Router

- Step 11: Verify the Cisco IOS Upgrade

Step 1: Select a Cisco IOS Software Image

Your first step in the upgrade procedure is to select the correct Cisco IOS software release and feature set. This step is very important, and these factors can affect the decision for which Cisco IOS you must select:

- Memory requirement: The router must have sufficient disk or flash memory to store the Cisco IOS. The router must also have sufficient memory (DRAM) to run the Cisco IOS. If the router does not have sufficient memory (DRAM), the router can have boot problems when it boots through the new Cisco IOS.

- Interfaces and modules support: You must ensure that the new Cisco IOS supports all the interfaces and modules in the router.

- Software feature support: You must ensure that the new Cisco IOS supports the features used with the old Cisco IOS.

Refer to How to Choose a Cisco IOS Software Release for information on how to select the correct software version and feature set.

Step 2: Download the Cisco IOS Software Image to the TFTP Server

Download the Cisco IOS Software image onto your workstation or PC from the Cisco Product Support and Downloads.

Note: Only registered Cisco users have access to internal Cisco sites.

Step 3: Identify the File System to Copy the Image

The file system type flash or disk is used to store the Cisco IOS image. The show file system command output shows the list of file systems available on the router. The common disk/flash file systems supported in Cisco routers have prefixes such as flash:, slot0:, slot1:, disk0: and disk1:. It must have sufficient space to store the Cisco IOS image. You can use the show file system or the dir file_system> command in order to find the free space.

2600#show file system

File Systems:

Size(b)     Free(b)      Type  Flags  Prefixes

-           -    opaque     rw   archive:

-           -    opaque     rw   system:

29688       20571     nvram     rw   nvram:

-           -    opaque     rw   null:

-           -   network     rw   tftp:

-           -    opaque     ro   xmodem:

-           -    opaque     ro   ymodem:

*   49807356    20152636     flash     rw   flash:

-           -    opaque     wo   syslog:

2800#show file system

File Systems:

Size(b)     Free(b)      Type  Flags  Prefixes

-           -    opaque     rw   archive:

-           -    opaque     rw   system:

-           -    opaque     rw   null:

-           -   network     rw   tftp:

-           -    opaque     ro   xmodem:

-           -    opaque     ro   ymodem:

*   64016384    15470592      disk     rw   flash:#

245752      239218     nvram     rw   nvram:

-           -    opaque     wo   syslog:

3600#show file system

File Systems:

Size(b)     Free(b)      Type  Flags  Prefixes

-           -    opaque     rw   archive:

-           -    opaque     rw   system:

129016      126071     nvram     rw   nvram:

-           -    opaque     rw   null:

-           -   network     rw   tftp:

*   33030140    20511708     flash     rw   flash:

16777212    16777212     flash     rw   slot0:

16515068     8038516     flash     rw   slot1:

-           -    opaque     rw   xmodem:

-           -    opaque     rw   ymodem:

3700#show file system

File Systems:

Size(b)     Free(b)      Type  Flags  Prefixes

-           -    opaque     rw   archive:

-           -    opaque     rw   system:

57336       51389     nvram     rw   nvram:

-           -    opaque     rw   null:

-           -   network     rw   tftp:

-           -    opaque     ro   xmodem:

-           -    opaque     ro   ymodem:

*   63881216    22765568      disk     rw   flash:#

31932416    31932416      disk     rw   slot0:#

-           -    opaque     wo   syslog:

Step 4: Prepare for the Upgrade

You must consider these items before you upgrade Cisco IOS:

- If the router has sufficient memory (flash, slot or disk), you can store both the old Cisco IOS and the new Cisco IOS. You can boot the router in the ROMmon mode and boot the old Cisco IOS in case of boot failure with new Cisco IOS. This method saves time if you must roll back the Cisco IOS.

- Backup the configuration from the router because some of the Cisco IOS releases add default configurations. This newly added configuration can conflict with your current configuration. Compare the configuration of the router after the Cisco IOS upgrade with the configuration backed up before the upgrade. If there are differences in the configuration, you must ensure they do not affect your requirements.

Step 5: Verify that the TFTP Server has IP Connectivity to the Router

The TFTP server must have a network connection to the router and must be able to ping the IP address of the router targeted for a TFTP software upgrade. In order to achieve this connection, the router interface and the TFTP server must have an IP address in the same range or a default gateway configured.

Check the IP address of the TFTP server in order to verify this configuration.

Step 6: Copy Cisco IOS Image to the Router

Now that you have IP connectivity and can ping between the computer that acts as a TFTP server and the router, you can copy the Cisco IOS Software image into Flash.

Note: Before you copy the image, ensure that you have started the TFTP server software on your PC, and that you have the file name mentioned in the TFTP server root directory. Cisco recommends that you keep a backup of the router and access server configuration before you upgrade. The upgrade does not affect the configuration, which is stored in nonvolatile RAM (NVRAM). However, this situation can happen if the right steps are not followed properly.

Note: In this section you are presented with three examples that describe how to copy the Cisco IOS image. You can use any one of these methods in order to copy the image.

- Example 1: Copy the image to flash: from TFTP server

- Example 2: Copy the image to slot1: from TFTP server

- Example 3: Copy the Cisco IOS image to flash: from another router

Example 1: Copy the Image to Flash: from TFTP Server

Upgrade the new image from a TFTP server. Use the copy tftp: flash: command in order to copy the image from TFTP server to the flash.

2600>enable

Password:xxxxx

2600#copy tftp: flash:

Address or name of remote host []? 10.10.10.2

!--- 10.10.10.2 is the IP address of the TFTP server

Source filename []? c2600-adventerprisek9-mz.124-12.bin

Destination filename [c2600-adventerprisek9-mz.124-12.bin]?

Accessing tftp://10.10.10.2/c2600-adventerprisek9-mz.124-12.bin...

Erase flash: before copying? [confirm]y

!--- If there is not enough memory available, erase the Flash.

!--- If you have sufficient memory you can type n and press enter

Erasing the flash filesystem will remove all files! Continue? [confirm]y

Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

eeeeeeeeee ...erased

Erase of flash: complete

Loading c2600-adventerprisek9-mz.124-12.bin from 10.10.10.2 (via Ethernet0/0): !!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[OK - 29654656/49807356 bytes]

Verifying checksum...  OK (0xAC8A)

29654656 bytes copied in 56.88 secs (80383 bytes/sec)

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.

Example 2: Copy the Image to Slot1: from TFTP Server

Upgrade the new image from a TFTP server. If you choose the slot1: file systems, use the copy tftp: slot1: command in order to copy the image from TFTP server to slot1.

3600#copy tftp: slot1:

Address or name of remote host []? 172.16.173.10

!--- 172.16.173.10 is the IP address of the TFTP server

Source filename []? c3640-i-mz.122-7b.bin

Destination filename [c3640-i-mz.122-7b.bin]?

Accessing tftp://172.16.173.10/c3640-i-mz.122-7b.bin...

Erase slot1: before copying? [confirm]n

!--- You specify "n" because there is enough memory available.

Loading c3640-i-mz.122-7b.bin from 172.16.173.10 (via Ethernet1/0):

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!

[OK - 5996844/11993088 bytes]

Verifying checksum...  OK (0x13F0)

5996844 bytes copied in 67.708 secs (89505 bytes/sec)

3600#

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.

Example 3: Copy the Cisco IOS Image to Flash: from Another Router

You can configure a router as TFTP server. If you choose the flash: file systems, use the copy tftp: flash: command in order to copy the image from TFTP server to flash.

Router-tftp(config)#tftp-server flash:c7200-a3js-mz.122-15.T16.bin

!--- Router-tftp is configured as the TFTP server.

7200#copy tftp: flash:

Address or name of remote host []? 172.22.1.84

Source filename []? c7200-a3js-mz.122-15.T16.bin

Destination filename [c7200-a3js-mz.122-15.T16.bin]?

Accessing tftp://172.22.1.84/c7200-a3js-mz.122-15.T16.bin...

Erase flash: before copying? [confirm]n

Loading c7200-a3js-mz.122-15.T16.bin from 172.22.1.84 (via GigabitEthernet0/1):

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[OK - 19187152 bytes]

Verifying checksum...  OK (0x15C1)

19187152 bytes copied in 482.920 secs (39732 bytes/sec)

Step 7: Verify the Cisco IOS Image in the File System

Verify the image in the file system.

2600#dir flash:

Directory of flash:/

1  -rw-    29654656                    <no date>  c2600-adventerprisek9-mz.124-12.bin

49807356 bytes total (20152636 bytes free)

2600#verify flash:c2600-adventerprisek9-mz.124-12.bin

Verifying file integrity of flash:c2600-adventerprisek9-mz.124-12.bin...........

................................................................................

................................................................................

.............................Done!

Embedded Hash   MD5 : 1988B2EC9AFAF1EBD0631D4F6807C295

Computed Hash   MD5 : 1988B2EC9AFAF1EBD0631D4F6807C295

CCO Hash        MD5 : 141A677E6E172145245CCAC94674095A

Signature Verified

Verified flash:c2600-adventerprisek9-mz.124-12.bin

Refer to System Message Guide for information about different %SIGNATURE error messages and the necessary action to be taken.

Step 8: Verify the Configuration Register

Use the show version command in order to check this value and modify this value with the command  config-register <value>. The value is displayed in the last line of the show version  and output must be set to 0x2102.

2600#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

2600(config)#config-register 0x2102

2600(config)#^Z

Step 9: Verify the Boot Variable

Verify if the Cisco IOS image is in the flash. If the first file in the Flash is not the Cisco IOS Software image, but a configuration file, or something else, then you need to configure a boot system statement in order to boot the specified image. Otherwise, the router tries to boot with the configuration file or the first file in the Flash, which does not work. If there is only one file in the Flash and it is the Cisco IOS Software image, this step is not necessary.

2600#show run | include boot

boot system flash:c2600-adventerprisek9-mz.123-21.bin

2600#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

2600(config)#no boot system

2600(config)#boot system flash:c2600-adventerprisek9-mz.124-12.bin

2600(config)#^Z

In a similar way, if the Cisco IOS image is in slot1, the boot variable that points to the old Cisco IOS needs to be removed first, and then the router needs to be configured to boot through the new Cisco IOS.

3600# show run | include boot

boot system slot1:c3640-i-mz.120-22.bin

3600#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

3600(config)#no boot system

3600(config)#boot system slot1:c3640-i-mz.122-7b.bin

3600(config)#^Z

Step 10: Save the Configuration and Reload the Router

Save the configuration, and reload the Router.

2600#write memory

2600#reload

Proceed with reload? [confirm]

Jan 24 20:17:07.787: %SYS-5-RELOAD: Reload requested by console. Reload Reason:

Reload Command.

Step 11: Verify the Cisco IOS Upgrade

Verify that the router runs with the proper image.

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

2600#show version

00:22:25: %SYS-5-CONFIG_I: Configured from console by console

Cisco IOS Software, C2600 Software (C2600-ADVENTERPRISEK9-M), Version 12.4(12),

RELEASE SOFTWARE (fc1)

Technical Support: http://www.cisco.com/techsupport

Copyright (c) 1986-2006 by Cisco Systems, Inc.

Compiled Fri 17-Nov-06 11:18 by prod_rel_team

ROM: System Bootstrap, Version 12.2(8r) [cmong 8r], RELEASE SOFTWARE (fc1)

2610 uptime is 22 minutes

System returned to ROM by reload

System image file is "flash:c2600-adventerprisek9-mz.124-12.bin"

Here is the show version output of 3600 router that has Cisco IOS in the slot1:

3600#show version

Cisco Internetwork Operating System Software

IOS (tm) 3600 Software (C3640-I-M), Version 12.2(7b), RELEASE SOFTWARE (fc1)

Copyright (c) 1986-2002 by cisco Systems, Inc.

Compiled Mon 04-Mar-02 20:23 by pwade

Image text-base: 0x600089A8, data-base: 0x60A6A000

ROM: System Bootstrap, Version 11.1(19)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (f)

Router uptime is 2 minutes

System returned to ROM by reload

System image file is "slot1:c3640-i-mz.122-7b.bin"

cisco 3640 (R4700) processor (revision 0x00) with 59392K/6144K bytes of memory.

Processor board ID 10524422

R4700 CPU at 100Mhz, Implementation 33, Rev 1.0

Bridging software.

X.25 software, Version 3.0.0.

4 Ethernet/IEEE 802.3 interface(s)

DRAM configuration is 64 bits wide with parity disabled.

125K bytes of non-volatile configuration memory.

4096K bytes of processor board System flash (Read/Write)

20480K bytes of processor board PCMCIA Slot0 flash (Read/Write)

20480K bytes of processor board PCMCIA Slot1 flash (Read/Write)

Configuration register is 0x2102

Related Information

- How to Choose a Cisco IOS Software Release

- Cisco Product Support and Downloads