IOS Software Installation and Upgrade Procedure

This procedure applies to the following Cisco products:

  • Cisco 10001
  • Cisco 14001
  • Cisco 1600-R
  • Cisco 1700
  • Cisco 2600
  • Cisco 3600
  • Cisco 3700
  • Cisco 4000
  • Cisco 4500
  • Cisco 4700
  • Cisco AS53001
  • Cisco MC3810
1. Not currently supported in COMPASS.

Contents


Introduction

This document explains the procedure for upgrading a Cisco IOS® Software image on Access router platforms. The examples provided from the 2600 and 3600 Series Routers also apply to the list of router platforms mentioned below. The Cisco IOS software file names may vary depending on the Cisco IOS software version, feature set, and platform.The following Cisco series routers are addressed in this document:

  • Cisco 1000 Series Routers
  • Cisco 1400Series Routers
  • Cisco 1600-R Series Routers
  • Cisco 1700 Series Routers
  • Cisco 2600 Series Routers
  • Cisco 3600 Series Routers
  • Cisco 3700 Series Routers
  • Cisco 4000 Series Routers
  • Cisco 4700 Series Routers
  • Cisco AS5300 Series Routers
  • Cisco MC3810 Series Routers

The information in this document is based on Cisco IOS Software Release 12.0 or later.

The Field Engineer must receive permission from Cisco VISE that a software image upgrade is required, BEFORE carrying out any of these procedures.

Before You Begin

Step 1: Install a TFTP Server
A Trival File Transfer Protocol (TFTP) server or a Remote Copy Protocol (RCP) server application must be installed on a TCP/IP-ready workstation or PC. Once the application is installed, a minimal level of configuration must be performed.

  • Note: Cisco no longer supply or support their own TFTP Server application, however searching within your favourite search engine for "TFTP Server" will locate a third party TFTP application for you. Alternatively, you may find Cisco's unsupported TFTP Server application on the COMPASS CD.
  1. First, the TFTP application must be configured to operate as a TFTP server as opposed to a TFTP client.
  2. The outbound file directory must be specified. This is the directory in which the Cisco IOS Software images are stored. Most TFTP applications provide a set-up routine to assist in these configuration tasks.

Step 2: Request which IOS Software Image is to be used.
The Field Engineer must ask the VISE engineer or the customer, which image is to be upgraded. It is not the responsibility of the Field Engineer to recommend software image versions. The software image may be provided by the customer, and so the Field Engineer must ask the Cisco VISE engineer for directions.

Step 3: Download the Cisco IOS Software Image
Download the Cisco IOS Software image into your workstation or PC from the Cisco website (http://www.cisco.com).


Software Installation and Upgrade Procedures

Routers with Internal Flash (for example, 2600 Series Routers)
Routers with PCMCIA Flash cards (for example, 3600 Series Routers)


Cisco 2600 Series Routers Upgrade Procedure

Step 1: Establish a console session to the router

Even if it is possible to connect to the router through a telnet session, it is strongly recommended to be directly connected to the router using the console port. The reason is that if something goes wrong during the upgrade, it might be necessary to be physically located next to the router to power-cycle it. Moreover, the telnet connection will be lost while the router is rebooting during the upgrade procedure.

A rolled cable (usually a flat black cable) is used to connect the console port of the router to one of the COM ports of the PC.

Once the PC is connected to the console port of the router, you need to open Hyperterminal on the PC, and use the following settings:

     Speed 9600 bits per second

     8 databits

     0 parity bits

     1 stop bit

     No Flow Control

Note: If you are getting any garbage characters in the hyperterminal session, this means that you have not set the hyperterminal 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.  Check the value of the config-register using the show version command (shown in the last line of the output) and ensure it is set to 0x2102 or 0x102. It is necessary to reload the router for a configuration register change to take effect. Once you are sure the console speed is set to 9600 bps on the router side, you should check the hyperterminal properties as above .

Booting Problems

Once you are connected to the console port of the router, you might notice that the router is either in ROMmon or Boot mode. These two modes are used for recovery and/or diagnostic procedures. If you do not see the usual router prompt, you should follow the recommendations below to proceed with the upgrade procedure installation.

  1. Router boots in rommon mode, and the following message appears when you issue dir flash: command.
  2. rommon 1 > dir flash: 
    device does not contain a valid magic number 
    dir: cannot open device "flash:" 
    rommon 2 >

    When you see the above error message, it means the Flash is empty or the filesystem is corrupted. A Xmodem console download procedure using ROMmon may then be necessary.

  3. Router boots in boot mode, with the following messages on the console:
  4. router(boot)>
    device does not contain a valid magic number
    boot: cannot open "flash:"
    boot: cannot determine first file name on device "flash:"

When you get the above error messages on the console output, it means the Flash is empty or the file system is corrupted. Copy a valid image on the Flash by following the procedures provided in this document.

Step 2: 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. To achieve this, the router interface and the TFTP server must have:

  • an IP address in the same range, or
  • a default gateway configured.

To verify this, check the IP address of the TFTP server.

Step 3: Copy the new image into the Flash memory of the 2600 Series Router through the TFTP server
  1. Now that you have IP connectivity and can ping between the computer acting as a TFTP server and the router, you can copy the Cisco IOS Software image into the Flash.

    Note: Before copying, make sure you have started the TFTP server software on your PC and that you have the filename mentioned in the TFTP server root directory. We recommend that you keep a backup of the router/access server configuration before upgrading. The upgrade itself does not affect the configuration (which is stored in nonvolatile RAM (NVRAM). However, this might happen if the right steps are not followed properly.

    For RCP applications, substitute RCP for every occurrence of TFTP. For example, use the copy rcp flash command instead of the copy tftp flash command.

    2600> enable
    Password:xxxxx 
    2600#
    2600# copy tftp flash

    If necessary, you can copy an image from one device to another.

  2. Specify the IP address of the TFTP server.

    When prompted, enter the IP address of the TFTP server as in the following example:

    Address or name of remote host []? 10.10.10.2
    
  3. Specify the filename of the new Cisco IOS Software image.

    When prompted, enter the filename of the Cisco IOS Software image to be installed, as in the following example:

    Source filename []? c2600-i-mz.121-14.bin

    Note: The filename is case sensitive, so be sure to enter it correctly.

  4. Specify the destination filename.

    This is the name the new software image will have when it is loaded onto the router. The image can be named anything, but common practice is to enter the same image filename.

    Destination filename []? c2600-i-mz.121-14.bin

    Note: If you see the below error message:

    %Error copying tftp://10.10.10.2/c2600-i-mz.121-14.bin 
    (Not enough space on device)  

    This indicates that there is not enough room available in Flash to copy the image. You need to erase a file(s) before copying the new image from the TFTP server.

  5. Upgrade the new image from a TFTP server
    2610#copy tftp flash
    Address or name of remote host []? 10.10.10.2
    Source filename []? c2600-i-mz.121-14.bin
    Destination filename [c2600-i-mz.121-14.bin]?y 
    Accessing tftp://10.10.10.2/c2600-i-mz.121-14.bin...
    Erase flash: before copying? [confirm]y !---If there is not enough 
                                     !--- memory available, erase the Flash
    Erasing the flash filesystem will remove all files! Continue? [confirm]y
    Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
    eeeeeeeeee ...erased
    Erase of flash: complete
    Loading c2600-i-mz.121-14.bin from 10.10.10.2 (via Ethernet0/0): !!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    [OK - 4501480/9001984 bytes]
    
    Verifying checksum...  OK (0xAC8A)
    4501480 bytes copied in 56.88 secs (80383 bytes/sec)

    The copying process takes several minutes; the time differs from network to network. During the copy process, messages are displayed to indicate which file has been accessed.

    The exclamation point "!" indicates that the copy process is taking place. Each exclamation point indicates that ten packets have been transferred successfully. A checksum verification of the image occurs after the image is written to Flash memory.

After you have upgraded the Flash, you need to reload the router using the reload command.

Before you reload the router, you need to check two things:

  • The value of the config-register - You can check this using the show version command. The value is shown in the last line of the show version output. It should be set to 0x2102.
      2610#configure terminal
      Enter configuration commands, one per line.  End with CNTL/Z. 
      2610(config)#config-register 0x2102 
      2610(config)#^Z
  • The other files on 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 will try to boot with the configuration file or the first file in the Flash; this will not work. If there is only one file in the Flash which is the Cisco IOS Software image, then this step is not necessary.
      2610#configure terminal
      Enter configuration commands, one per line.  End with CNTL/Z. 
      2610(config)#no boot system
      2610(config)#boot system flash c2600-i-mz.121-14.bin
      2610(config)#^Z

Note: If you type the reload command, the router asks you if you want to save the configuration. You should be very cautious here. The reason is that if the router is in boot mode for instance, it is a subset of the full Cisco IOS software which is running and there is no routing functionality. Therefore, all the routing configuration is gone in the running configuration and if you save the configuration at this time, then you erase the good startup-configuration in NVRAM and replace it by the incomplete running-configuration. Save the configuration only if you are sure that you have the full configuration in the output of show run. It is NOT necessary to save the configuration to take into account the new config-register if this one has been changed previously. That is done automatically.

2610#reload
 
System configuration has been modified. Save? [yes/no]: y 
Building configuration...
[OK]
Proceed with reload? [confirm]y

Verify that the router is running with the proper image. After the reload is complete, the router should be running the desired Cisco IOS Software image. Use the show version command to verify.

2610#show version
00:22:25: %SYS-5-CONFIG_I: Configured from console by console
Cisco Internetwork Operating System Software 
IOS (tm) C2600 Software (C2600-I-M), Version 12.1(14), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Mon 25-Mar-02 20:33 by kellythw
Image text-base: 0x80008088, data-base: 0x80828788

ROM: System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)

2610 uptime is 22 minutes
System returned to ROM by reload
System image file is "flash:c2600-i-mz.121-14.bin"


Cisco 3600 Series Routers (with PCMCIA cards) Upgrade Procedure

Step 1: Establish a console session to the router

See Establish a console session to the router for more information.

Note: Once connected to the router through the console port, if you get a ">" or "rommon >" prompt, your router is in ROM monitor (ROMmon) mode. If the router is showing the "router (boot)>" prompt, then the router is in boot mode. See booting problems for steps to handle either of these situations.

Step 2: Verify the amount of free space on the Flash memory card (PCMCIA slot)

At this point, you need to verify that you have enough space in the Flash memory card to copy the new image. If there is not enough memory, you need to delete some files to make enough space. In some situations, if the image is very large, you may need to delete the current image in the Flash memory card.

To determine the amount of free space, and to show files currently located in slot0: or slot1:, issue the dir{device:} command.

3600#dir slot1:
Directory of slot1:/

  1  -rw-     2779832    c3640-i-mz.113-11c.bin
  2  -rw-     3748760    c3640-i-mz.120-22.bin

Verify that the name and the file size are correct.

If you find that there is not enough space, you can delete the file. The delete{device:}[filename] command deletes the file.

3600#delete slot1:
Delete filename []? c3640-i-mz.113-11c.bin
Delete slot1:c3640-i-mz.113-11c.bin? [confirm]y

Note: Do not reload or powercycle the router if there is not a valid image in the Flash; this causes the router to boot into rommon or bootmode.

Step 3: 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. To achieve this, the router interface and the TFTP server must have:

  • an IP address in the same range, or
  • a default gateway configured

To verify this, check the IP address of the TFTP server.

Step 4: Copy the new image into the Flash memory card through the TFTP server

Now that you have IP connectivity and can ping between the computer acting as a TFTP server and the router, you can copy the image into the right slot.

Note: Before copying, make sure you have started the TFTP server software on your PC and that you have the filename mentioned in the TFTP server root directory. We recommend that you keep a backup of the router/access server configuration before upgrading. The upgrade itself does not affect the configuration (which is stored in nonvolatile RAM -NVRAM). However, this may happen if the right steps are not followed properly.

For RCP applications, substitute RCP for every occurrence of TFTP. For example, use the copy rcp {device:} command instead of the copy tftp {device:} command.

If necessary, you can copy an image from one device to another.

3600#copy tftp: slot1:
Address or name of remote host []? 171.68.173.10
Source filename []? c3640-i-mz.122-7b.bin
Destination filename [c3640-i-mz.122-7b.bin]?
Accessing tftp://171.68.173.10/c3640-i-mz.122-7b.bin...
Erase slot1: before copying? [confirm]n !--- Here you are specifying "n" 
                           !--- because there is enough memory available.
Loading c3640-i-mz.122-7b.bin from 171.68.173.10 (via Ethernet1/0): 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!
[OK - 5996844/11993088 bytes]

Verifying checksum...  OK (0x13F0)
5996844 bytes copied in 67.708 secs (89505 bytes/sec)
3600#

Use the dir slot1: command to check whether the image has been copied to slot1. Below, you can see that the new image c3640-i-mz.122-7b.bin has been copied on the PCMCIA slot1:

3600#dir slot1:
Directory of slot1:/

  2  -rw-     3748760    c3640-i-mz.120-22.bin
  3  -rw-     5996844    c3640-i-mz.122-7b.bin
Step 5: Set boot statements to load the new image upon startup

After copying the image through TFTP, you may need to tell the router which image to load upon boot up.

Checking Current Boot Statements

At this point, the new image is now in the slot1. You need to set the router to boot the new image. By default, the router boots the first available image (the default is enabled when there are no boot statements in the configuration).

3600#show running-config
Building configuration...

Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname 3600
!
boot system flash slot1:c3640-i-mz.120-22.bin
!
ip subnet-zero
!

The commands appear at the begginning of the configuration. In our example above, it shows the router has a boot system command configured as boot system flash slot1:c3640-i-mz.120-22.bin.

If you have boot system command entries in your configuration, you need to remove them from the configuration. For more information on removing boot entries, refer to the next section.

Removing Previous Boot Statements

To remove the commands, enter into configuration terminal mode. From the configuration mode, you can negate any command by typing "no" in front of each boot statement. The following example illustrates the removal of an existing boot statement.

3600#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z. 
3600(config)#no boot system flash slot1:c3640-i-mz.120-22.bin
3600(config)#^Z 
3600#

The statement "no boot system flash slot1:c3640-i-mz.120-22.bin" is removed from the configuration. Verify that the command has been removed by issuing the show running-config command.

Setting New Boot Statements

Now set the router to boot the new image. Issue the following command to set the boot system parameter:

boot system flash slot#:{imagename} (imagename = name of the new Cisco IOS software image)

3600#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z. 
3600(config)#boot system flash slot1:c3640-i-mz.122-7b.bin
3600(config)#^Z
3600#write memory 
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0 
Building configuration... 
3600#

Be sure to verify that you are using config-register 0x2102 by issuing the show version command. If it is set up differently, you can change it by issuing the following command in configuration mode:

3600#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z. 
3600(config)#config-register 0x2102 
3600(config)#^Z

After changing the config-register, the change takes place at the next reload.

Step 6: Reboot the router to load the new image

For the router to run the new Cisco IOS software image, you need to reload the router. Make sure you have saved the configuration by issuing the copy running-config starting-config or write memory commands.

3600#write memory 
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0 (127.0.0.11) 
Building configuration... 
3600#reload
Step 7: Verify the upgrade

After the router comes up, make sure you are currently running the new version of code, by issuing the show version command.

3640#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

Verify that the version 12.2(7b) is correct and the config-register is set to 0x2102.


 All contents are Copyright 1992–2007 Cisco Systems, Inc. All rights reserved.