This document explains how to install Cisco IOS® software onto "Run from Flash" Cisco routers using a Trivial File Transfer Protocol (TFTP) server or Remote Copy Protocol (RCP) server application. The example provided is based on the Cisco 1600 Series Router, but this is applicable to all platforms mentioned in the Components Used section.
Note: The information in this document is based on Cisco IOS Software Release 12.1 and later.
There are no specific requirements for this document.
The information in this document is based on these software and hardware versions:
Cisco 1600 Series Routers
Cisco 2000 Series Routers
Cisco 2500 Series Routers
Cisco 3000 Series Routers
Cisco AS5100 Series Access Servers
Cisco AS5200 Series Access Servers
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, make sure that you understand the potential impact of any command.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
Cisco recommends that you keep a backup of the router/access server configuration before you upgrade the Cisco IOS software image.
A TFTP server or an 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 by completing these steps:
Configure the TFTP application to operate as a TFTP server as opposed to a TFTP client.
Specify the outbound file directory. This is the directory in which the Cisco IOS software images are stored (see Step 2). Most TFTP applications provide a set-up routine to assist in these configuration tasks.
Note: A number of TFTP or RCP applications are available from independent software vendors or as shareware from public sources on the World Wide Web.
Download the Cisco IOS Software image into your workstation or PC from the Download Software area.
Make sure the Cisco IOS software image that you downloaded supports both your hardware and the required features. You can verify hardware and feature support using the Cisco Software Advisor tool (registered customers only) . You must also check the memory requirements for both Dynamic RAM (DRAM) and Flash in order to make sure the router has enough DRAM and Flash memory to load the selected Cisco IOS software version. For more advice on choosing the right Cisco IOS Software Release for your router, refer to How to Choose a Cisco IOS Software Release.
Complete these steps in order to run from flash installation:
Note: 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.
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 through 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, you will lose the telnet connection 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 these settings:
Speed 9600 bits per second 8 databits 0 parity bits 1 stop bit No Flow Control
Note: If you receive any garbage characters in the hyperterminal session, this means that you have not set the hyperterminal properties correctly, or the configuration 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 configuration register using the show version command (shown on the last line) and ensure it is set to 0x2102 or 0x102. It is necessary to reload the router to take this change into consideration. Once you are sure the console speed is set to 9600 bps on the router side, you should check that the hyperterminal properties are set as indicated above. For more information on setting the hyperterminal properties, refer to Applying Correct Terminal Emulator Settings for Console Connections.
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, use these recommendations in order to continue with the upgrade procedure installation.
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 >
When you see this error message, it means the Flash is empty or the filesystem is corrupted. Refer to Xmodem Console Download Procedure using ROMmon for information on how to troubleshoot this problem.
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:"
When you receive these error messages on the console output, it means that the Flash is empty or the file system is corrupted. Copy a valid image on the Flash by completing the procedures provided in this document.
Configure the router or access server to boot into Rxboot mode.
On these platforms, the Cisco IOS software image actually runs directly from the Flash memory. Therefore, you cannot copy the Cisco IOS software image from the TFTP server to the Flash if you are in user privileged EXEC mode (router#). You can see from this output that the Flash memory is read only in user priviledged EXEC mode.
Router#show flash: PCMCIA flash directory: File Length Name/status 1 9615124 c1600-sy-l.122-7b.bin [9615188 bytes used, 7162024 available, 16777212 total] 16384K bytes of processor board PCMCIA flash (Read ONLY) Router#
You have to change the configuration register value in order to configure the router or access server to boot into Rxboot mode.
Check the current value of the configuration register. You can see it in the last line of the show version command output. It is usually set to 0x2102 or 0x102. You will need this value for a later step.
Change the configuration register to the value 0x2101. This will prepare the router to boot into RXboot mode:
Router>enable Password: ! --- Enter the password here. Router# Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#config-register 0x2101 Router(config)#^Z Router# %SYS-5-CONFIG_I: Configured from console by console !--- It is not necessary to save the configuration here, as the !--- configuration register has already been changed in NVRAM. Router#reload
Note: If you are connected through Telnet, the session is lost after the reload. Wait a few minutes and try again. It is strongly recommended that you do not perform a Cisco IOS software upgrade remotely since most disaster recovery procedures require you to be physically located where the router is installed.
Restore the previous configuration register value for the next reload.
Note: Do not save the configuration while the router is in boot mode. Avoid using the save commands (write memory or copy running-config startup-config ), and answer no to any prompt that suggests you save your current configuration. If you save the configuration while the router is in this mode, the configuration can be partially or completely erased.
In the following commands, replace the **** with the configuration register value that you noted down in the previous step:
Router(boot)> Router(boot)>enable Password: Router(boot)#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(boot)(config)#config-register 0x**** Router(boot)(config)#^Z Router(boot)#
Note: If you do not remember the value of the configuration register that was previously set, you can use 0x2102 in this step.
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, the router interface and the TFTP server must have:
an IP address in the same range, or
a default gateway configured.
Copy the new software Cisco IOS Software image from the TFTP server to the router or access server.
Now that you have IP connectivity and can ping between the computer acting as a TFTP server and the routers, you can copy the Cisco IOS Software image into the Flash.
Note: Before you copy, 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. Cisco recommends that you keep a backup of the router or access server configuration before you upgrade. 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.
Router (boot)#copy tftp flash
Specify the IP address of the TFTP server.
When prompted, enter the IP address of the TFTP server as in this example:
Address or name of remote host [255.255.255.255]? 172.17.247.195
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 this example:
Source file name? c1600-y-l.122-7b.bin
Note: The filename is case sensitive, so make sure it is entered correctly.
Specify the destination image 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 file name [c1600-y-l.112-18.P]? c1600-y-l.122-7b.bin
Erase the Flash device before you answer yes or no.
When you see this prompt:
Erase flash device before writing? [confirm] yes/no
Enter yes to erase the existing software image resident in the router's Flash memory before you copy the new one.
Enter no to keep the existing software image. Verify that you have enough memory to keep both.
The copying process takes several minutes. The time differs from network to network. During the copy process, messages are displayed to indicate which files have been accessed.
An exclamation point (!) indicates that the copy process is taking place. Each exclamation point (!) indicates that ten packets have been successfully transferred. A checksum verification of the image occurs after the image is written to Flash memory. The router or access server has to be reloaded with the new image when the software upgrade is complete.
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.
In order to reload, enter:
Router(boot)#reload *Mar 1 00:30:49.972: %SYS-5-CONFIG_I: Configured from console by console System configuration has been modified. Save? [yes/no]: NO Proceed with reload? [confirm] YES
Verify that the router runs with the proper image.
After the reload is complete, the router should run the desired Cisco IOS Software image. Issue the show version command in order to verify the upgrade.
Router >enable Password: Router#show version Cisco Internetwork Operating System Software IOS (tm) 1600 Software (C1600-NY-L), Version 12.0(9), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2002 by cisco Systems, Inc. Compiled Tue 05-Mar-02 01:14 by pwade Image text-base: 0x08039850, data-base: 0x02005000 ROM: System Bootstrap, Version 11.1(10)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) ROM: 1600 Software (C1600-BOOT-R), Version 11.1(10)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) Router uptime is 7 minutes System returned to ROM by reload System image file is "flash:c1600-ny-l.120-9.bin" cisco 1602 (68360) processor (revision C) with 7680K/2560K bytes of memory. Processor board ID 14236252, with hardware revision 00000000 Bridging software. X.25 software, Version 3.0.0. 1 Ethernet/IEEE 802.3 interface(s) 1 Serial network interface(s) On-board Switched 56K Line Interface. System/IO memory with parity disabled 2048K bytes of DRAM onboard 8192K bytes of DRAM on SIMM System running from FLASH 7K bytes of non-volatile configuration memory. 12288K bytes of processor board PCMCIA flash (Read ONLY) Configuration register is 0x2102 !-- This is the original value of the configuration register. Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#config-register 0x2101 Router(config)#^Z Router# *Mar 1 00:03:32.656: %SYS-5-CONFIG_I: Configured from console by console Router#reload Proceed with reload? [confirm] *Mar 1 00:02:00: %SYS-5-RELOAD: Reload requested System Bootstrap, Version 11.1(10)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) Copyright (c) 1997 by cisco Systems, Inc. C1600 processor with 10240 Kbytes of main memory Restricted Rights Legend Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) of the Commercial Computer Software - Restricted Rights clause at FAR sec. 52.227-19 and subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS sec. 252.227-7013. cisco Systems, Inc. 170 West Tasman Drive San Jose, California 95134-1706 Cisco Internetwork Operating System Software IOS (tm) 1600 Software (C1600-BOOT-R), Version 11.1(10)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) Copyright (c) 1986-1997 by cisco Systems, Inc. Compiled Tue 18-Mar-97 14:01 by ccai Image text-base: 0x04018060, data-base: 0x02005000 cisco 1602 (68360) processor (revision C) with 9728K/512K bytes of memory. Processor board ID 14236252 X.25 software, Version 2.0, NET2, BFE and GOSIP compliant. 1 Ethernet/IEEE 802.3 interface. 1 Serial network interface. On-board Switched 56K Line Interface. System/IO memory with parity disabled 8K bytes of non-volatile configuration memory. 12288K bytes of processor board PCMCIA flash (Read/Write) Press RETURN to get started! 00:00:14: %LINK-3-UPDOWN: Interface Ethernet0, changed state to up Router(boot)>enable Password: Router(boot)# Router(boot)#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(boot)(config)#config-register 0x2102 Router(boot)(config)#^Z Router(boot)# Router(boot)#ping 172.17.247.195 Type escape sequence to abort. Sending 5, 100-byte ICMP Echoes to 172.17.247.195, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/200/1000 ms Router(boot)#copy tftp flash PCMCIA flash directory: File Length Name/status 1 5235300 /c1600-ny-l.120-9 [5235364 bytes used, 7347548 available, 12582912 total] Address or name of remote host [255.255.255.255]? 172.17.247.195 Source file name? c1600-y-l.122-7b.bin Destination file name [c1600-y-l.122-7b.bin]? y Accessing file 'c1600-y-l.122-7b.bin' on 172.17.247.195... Loading c1600-y-l.122-7b.bin from 172.17.247.195 (via Ethernet0): ! [OK] Erase flash device before writing? [confirm] NO !--- Enter "Yes" if your router does not have enough memory in the !--- Flash for both Cisco IOS software images. Copy 'c1600-y-l.122-7b.bin' from server as 'c1600-y-l.122-7b.bin' into Flash WITH erase? [yes/no]N Loading c1600-y-l.122-7b.bin from 172.17.247.195 (via Ethernet0): !!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! [OK - 7120752/12582912 bytes] Verifying checksum... OK (0xA523) Flash device copy took 00:06:28 [hh:mm:ss] Router(boot)#reload *Mar 1 00:30:49.972: %SYS-5-CONFIG_I: Configured from console by consoled System configuration has been modified. Save? [yes/no]: NO Proceed with reload? [confirm] YES *Mar 1 00:13:15: %SYS-5-RELOAD: Reload requested System Bootstrap, Version 11.1(10)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) Copyright (c) 1997 by cisco Systems, Inc. C1600 processor with 10240 Kbytes of main memory Restricted Rights Legend Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) of the Commercial Computer Software - Restricted Rights clause at FAR sec. 52.227-19 and subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS sec. 252.227-7013. cisco Systems, Inc. 170 West Tasman Drive San Jose, California 95134-1706 Cisco Internetwork Operating System Software IOS (tm) 1600 Software (C1600-Y-L), Version 12.2(7b), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2002 by cisco Systems, Inc. Compiled Tue 05-Mar-02 01:14 by pwade Image text-base: 0x08039850, data-base: 0x02005000 cisco 1602 (68360) processor (revision C) with 7680K/2560K bytes of memory. Processor board ID 14236252, with hardware revision 00000000 Bridging software. X.25 software, Version 3.0.0. 1 Ethernet/IEEE 802.3 interface(s) 1 Serial network interface(s) On-board Switched 56K Line Interface. System/IO memory with parity disabled 2048K bytes of DRAM onboard 8192K bytes of DRAM on SIMM System running from FLASH 7K bytes of non-volatile configuration memory. 12288K bytes of processor board PCMCIA flash (Read ONLY) Press RETURN to get started!
Issue the show version command in order to verify that the correct Cisco IOS software image is loaded, and that the configuration register is 0x2102.
Router >enable Router# show version Cisco Internetwork Operating System Software IOS (tm) 1600 Software (C1600-Y-L), Version 12.2(7b), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2002 by cisco Systems, Inc. Compiled Tue 05-Mar-02 01:14 by pwade Image text-base: 0x08039850, data-base: 0x02005000 ROM: System Bootstrap, Version 11.1(10)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) ROM: 1600 Software (C1600-BOOT-R), Version 11.1(10)AA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) Router uptime is 7 minutes System returned to ROM by reload System image file is "flash:c1600-y-l.122-7b.bin" cisco 1602 (68360) processor (revision C) with 7680K/2560K bytes of memory. Processor board ID 14236252, with hardware revision 00000000 Bridging software. X.25 software, Version 3.0.0. 1 Ethernet/IEEE 802.3 interface(s) 1 Serial network interface(s) On-board Switched 56K Line Interface. System/IO memory with parity disabled 2048K bytes of DRAM onboard 8192K bytes of DRAM on SIMM System running from FLASH 7K bytes of non-volatile configuration memory. 12288K bytes of processor board PCMCIA flash (Read ONLY) Configuration register is 0x2102