Cisco 2500 Series Routers

Flash Upgrade for Cisco 2500

Document ID: 10252

Updated: Jul 07, 2005



This document explains how to upgrade the Cisco 2500 router system software, and provides general information on the RxBoot image. RxBoot image is a key element that is required to perform the Cisco 2500 system software Flash upgrade.



Readers of this document should have knowledge of these topics:

  • Cisco command line interface (CLI) modes and commands.

  • Trivial File Transfer Protocol (TFTP) server configuration.

Components Used

The information in this document is based on these hardware and software versions:

  • Cisco 2500 Series Routers.

  • Cisco IOS® Software Version 12.3(3).

  • A TFTP server is required to download the new system image. This server can also hold original system images for backup purposes.

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


For more information on document conventions, see the Cisco Technical Tips Conventions.

What is RxBoot?

Some Cisco routers, such as the Cisco 2500, are designed to run from Flash memory where they only boot from the first file in Flash. This makes it necessary to run an image other than that in Flash to upgrade the Flash image, and that image is reduced command set image referred to as RxBoot (a ROM-based image).

These events must take place in order to upgrade the Flash software image:

  • Erase the current image in Flash memory, so that you can save the new system image in its place (as the first file - position 0).

  • Because of the above requirement, perform the upgrade while running from a different software.

The RxBoot has only a limited subset of commands and functionality of a complete router system image.

What RxBoot Supports

RxBoot supports Telnet/Trivial File Transfer Protocol (TFTP) operation.

The software image can be upgraded over a Local Area Network (LAN) or a Wide Area Network (WAN) connection. In either case, the interface used to reach the TFTP server requires an IP address, and an IP default gateway must be manually added if the router and TFTP server belong to different subnets. In a WAN setup, the encapsulation mode (Frame Relay/X.25/SMDS/HDLC/PPP) must also be specified under the interface. For more information on the procedure to upgrade from a TFTP server over a frame-relay link, see Booting from a Network Server over Frame Relay.

What RxBoot Does Not Support

RxBoot does not support:

  • Routing: No packets are routed or forwarded from one interface to another.

  • Simple Network Management Protocol (SNMP): The CiscoWorks 2.0 Device Software Manager application cannot be used at this stage. The capability to upgrade the system image using CiscoWorks is under development.

  • Multiple Serial Links Support: When in RxBoot mode, IP packets only go through the first initialized port. If the TFTP server is not on this path, connectivity to the TFTP server is lost. To ensure connectivity to the TFTP server, shut down all interfaces except the one serial port that has the optimal path to the TFTP server.

  • AUX port SLIP operation: This bug has been reported in Cisco Bug Toolkit with Bug id CSCdi16944 (registered customers only) .


  • IP unnumbered option: If there are any interfaces with this option enabled on the router that is being upgraded, IP routing is not complete between the TFTP server and the router to be upgraded. Explicit IP numbers must be configured before the upgrade. Otherwise, you will be locked out of the in-band connection to your router. If that happens, the only way to get back into the router is to use the console port.

Router System Image Upgrade Procedure

To upgrade the router system image, complete these steps:

  1. Log in on the router through Telnet or through the console port:

    router> enable
    !--- To enter enable mode.
  2. Add an IP default gateway and enable only one serial link. To ensure connectivity to the TFTP server, shut down all interfaces except the one serial port that has the optimal path to the TFTP server. See the What RxBoot Does Not Support section for more information.

    router# configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    interface serial 1 
    !--- Select interface to modify.
    !--- Interface subcommand to disable interface.
    interface token 0 
    !--- Select interface to modify.
    !--- Interface subcommand to disable interface.
    ip default-gateway 
    !--- Set appropriate gateway for your network.
    router# write memory
    !--- Saves to Non-volatile RAM.

    This procedure guarantees that a route is established between a TFTP server and the router when forced into RxBoot mode. In this example, serial 0 is assumed as the best path to the TFTP server, so serial 1 and token ring 0 are shut down.

  3. Check the current value of the configuration register. You can see it on the bottom line of the show version output. It is usually set to 0x2102 or 0x102.

    You need this configuration register value to restore the router to its normal operation status later.

    Router#show version
    System image file is "flash:c2500-p-l.113-0.11", booted via flash
    !--- Output suppressed.
    Configuration register is 0x2102

    Note: If you do not have the system image that is currently in Flash on the 2500, be sure to copy it to your TFTP server before proceeding any further. This way, you have a backup image in case you need it.

    Router#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)#config-register 0x2101
    !--- Sets config register to boot from rxBoot.

    Note: The x in "0x2101" is significant to indicate hex input to the router. Omitting the x will have an unexpected effect on the router. You can verify that you are entering it correctly by using the show version command.

    Router#show version
    Cisco Internetwork Operating System Software IOS (tm) 
    2500 Software (C2500-P-L), Version 11.3(0.11), BETA TEST SOFTWARE    
       System image file is "flash:c2500-p-l.113-0.11", booted via flash
    !--- Output suppressed.
    Configuration register is 0x2102 (will be 0x2101 at next reload)

    If the output is different from that shown above, stop here and repeat the previous step until it is correct. When you've finished with verification, proceed as follows:

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

    If you are on the console port while booting, an error message such as:

    Bad arguments to line command

    will be displayed, because RxBoot only initializes the first five vty ports. The rest of the lines are ignored in the RxBoot mode. You can safely ignore these messages. Wait for the "router-name>" prompt to appear and continue with the instructions in Step 4.

  4. Enter RxBoot mode in router.

    If you Telneted into the router, your Telnet session will be dropped at the time the router begins to reload. Wait for the router to complete its reload and log into the router again through Telnet. Otherwise, directly connected consoles can get started by simply pressing the return key ("to get started").

    !--- The (boot) indicates RxBoot mode.

    The router is now in RxBoot mode.

    router(boot)> enable
    !--- Enter enable/privileged exec mode.
    !--- Enter enable password.

    If Telnet is not successful, ensure that the serial link to the router is up and operational. If the link is down, troubleshoot the link problem first and then continue from here.

    During RxBoot mode operation, it is highly recommended that you DO NOT change any of your configuration files. Avoid using the save commands (write mem or copy run start), and answer no to any prompt suggesting that you save your current configuration. If you have to change something, either go back to the router's normal operation mode to perform the change or change in RxBoot mode WITHOUT saving to non-volatile RAM (NVRAM).

    Note: When you save to NVRAM in RxBoot, your original router configuration file is erased. If you save the configuration while the router is in this mode, the configuration may be partially or completely erased.

  5. TFTP copy: Copy the new software Cisco IOS software image from the TFTP server to the router.

    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 or 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.

    It is always a good practice to ping the TFTP server before you proceed any further to make sure that the server is reachable. If you have problems, stop here and fix the problem, because the following step will erase your existing Flash image!

    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 subnet, or

    • a default gateway configured, with end-to-end IP connectivity between them.

    Router(boot)#copy tftp flash
    System flash directory:
             File Length Name/status
             1 4778448 c2500-p-l.113-0.11
             [4778512 bytes used, 11998704 available, 16777216 total]
             Address or name of remote host []?
             Source file name? c2500-is-l.123-3.bin
             Destination file name [c2500-is-l.123-3.bin]?c2500-is-l.123-3.bin
             Accessing file 'c2500-is-l.123-3.bin' on
             Loading c2500-is-l.123-3.bin from (via Serial0): ! 
    Erase flash device before writing? [confirm]
             Flash contains files. Are you sure you want to erase? [confirm]
    Copy 'c2500-is-l.123-3.bin' from server
             as 'c2500-is-l.123-3.bin' into Flash WITH erase? [yes/no]y
             Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
             eeeeeeeeeeeeeeeeeeeee ...erased
             Loading c2500-is-l.123-3.bin from (via Serial0): 
             [OK - 16365240/16777216 bytes]
    Verifying checksum... OK (0x3CFB)
             Flash copy took 0:08:09 [hh:mm:ss]

    See Command Reference for more information on the commands.

    If you are not prompted to erase the Flash memory during this process, or if the erasing of Flash does not complete properly, you can issue the following command:

    router(boot)#erase flash

    You can then retry the copy tftp flash command.

    This completes the actual TFTP download. Now you need to change the router from Rxboot mode back to the normal mode of operation.

  6. Change the configuration register back to the original value and reload.

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

    Before reloading, verify the image installation. Verify that the image is properly installed in Flash memory and that the boot system commands point to the proper file to load.

    Router(boot)#show flash
    System flash directory:
             File Length Name/status
             1 16365240 c2500-is-l.123-3.bin
             [16365304 bytes used, 411912 available, 16777216 total]
             16384K bytes of processor board System flash (Read/Write)
    System configuration has been modified. Save? [yes/no]:yes
             Warning: Attempting to overwrite an NVRAM configuration written
             by a full system image. This bootstrap software does not support
             the full configuration command set. If you perform this command
             now, some configuration commands may be lost.
             Overwrite the previous NVRAM configuration?[confirm]
             Building configuration...
             Proceed with reload? [confirm]

    See Command Reference for more information on the commands.

  7. Test the new upgraded image.

    router> enable
    Router#show version
    !--- Look for version, image file name starting with flash: and 
    configuration-register value.
             Cisco Internetwork Operating System Software
             IOS (tm) 2500 Software (C2500-IS-L), Version 12.3(3), 
             RELEASE SOFTWARE(fc2)
    !--- Output suppressed.
    ROM: System Bootstrap, Version 11.0(10c), SOFTWARE
             BOOTLDR: 3000 Bootstrap Software (IGS-BOOT-R), Version 11.0(10c), 
             RELEASE SOFTWARE (fc1)
    Router uptime is 2 minutes
             System returned to ROM by reload
             System image file is "flash:c2500-is-l.123-3.bin" 
    !--- Output suppressed.
    Configuration register is 0x2102

    The system image file is now "flash:c2500-is-l.123-3.bin", and the value of the configuration register is 0x2102. This confirms that the upgrade has been successful.

    Remember to delete the "ip default-gateway" from your configuration and re-enable those ports that were turned off during the RxBoot.

    This completes the upgrade of the Cisco 2500 system image.

Related Information

Updated: Jul 07, 2005
Document ID: 10252