Archive for the TFTP update IOS Category

Changing IOS on Cisco Device TFTP!

Posted in TFTP update IOS on May 21, 2008 by itdaddy

How to Upgrade IOS on a Cisco Router  
When would you need this: The upgrade is required when you plan to add more duties to the router or new hardware. The installation is required when the IOS image you have on the router is corrupted.

Special Requirements: The new router’s flash size should fit on your flash device(show flash) tells you size of your flash?

Change Config-register to 2101 boot into rxboot. This released lockdown on the flash so you can overwrite it. Check the current value of the configuration register. You can see it in 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 0x2102Note: 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.
Router#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 ™
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)

Router#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 commandwill 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.

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”).



Before starting the procedure of IOS upgrade or installation, you will need to install TFTP server (google pumpkin on or on a PC connected to the router Ethernet interface. There are many free downloadable TFTP servers’ software on the Internet, however, our recommendation is Free TFTP Server 6.0.

Afterwards, you make sure to direct the TFTP server to the folder containing the new IOS image that you have. We will put down two procedures for two different type of routers; a procedure for routers having Internal Flash (ex: 2600), and a slightly different procedure for routers with PCMCIA flash cards

(ex: 3600).


Upgrade Procedure for Cisco Routers with Internal Flash:

1. Create a console connection with the default settings (9600 baud, 8 databits, 0 parity bits, 1 stop bit, no flow control).

2. Verify the connectivity between the router and the TFTP server using ‘ping’. Make sure that the router interface and the TFTP server IP addresses are in the same range and the ping is responding well.

3. Although the upgrade will be happening in the flash and the configuration is saved in the NVRAM, make a backup of the configuration. This is recommended in case something goes wrong in the upgrade. Also, make a backup copy of the IOS you already have on the router. In case the new IOS image is corrupted, you will be on the safe side. For the backup process, please refer to the IOS backup procedure and configuration backup procedure.

4. Start the upgrade by the command:

Router#copy tftp flash

Now you will be prompted for the IP address of the TFTP server:

Address or name of remote host []? XXX.XXX.XXX.XXX

Afterwards, you will be asked for the name of the new IOS file being copied from the TFTP server:

Source filename []? cXXXX-X-XX.XXX-XX.bin

Please note that the file name is case sensitive, so be %100 sure of what you are writing.

Now you will be asked for the destination file name on your router,

Destination filename []? cXXXX-X-XX.XXX-XX.bin

It is preferred to keep it as the source file name, to be able to easily identify the files on the TFTP servers as compared to the ones on the routers. Now you will be asked whether to erase the existing file(s) in the flash or not. If you have enough free space on the flash, don’t erase the old IOS image, you might need it.

Erase flash: before copying? [confirm]

Afterwards, the router starts copying the new IOS file to the router, or start erasing the flash and then copying. Erasing the flash filesystem will remove all files! Continue? [confirm]y

Erasing device… eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

eeeeeeeeee …erased

Erase of flash: complete

Loading cXXXX-X-XX.XXX-XX.bin from XXX.XXX.XXX.XXX (via Ethernet0/0): !!!!!!!!



[OK – xxxxx/yyyyyyy bytes]

 Verifying checksum…  OK (0xAC8A)

xxxxxx bytes copied in xx.xx secs (yyyy 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.

5. Before reloading the router, you need to make sure of two things. The first is that the configuration register value is 0x2102. You can check that wit the ‘show version’ command. If the configuration register’s value is not 0x2102, you will need to set it to that value with the following command:

Router(config)#config-register 0x2102

The second thing is needed to be checked if you did not erase the contents of the flash. You will need to setup the router to boot from the new IOS file with the following commands:

Router(config)#no boot system

Router(config)#boot system flash cXXXX-X-XX.XXX-XX.bin

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


System configuration has been modified. Save? [yes/no]: y 

Building configuration…


Proceed with reload? [confirm]y

7. To verify that the new image is loaded after the ‘reload’, use ‘show version’ command.

System returned to ROM by reload

System image file is “flash: cXXXX-X-XX.XXX-XX.bin ”     <<< Check it here


Upgrade Procedure for Cisco Routers with PCMCIA Flash:

1. Create a console connection with the default settings (9600 baud, 8 databits, 0 parity bits, 1 stop bit, no flow control). If your router does not boot regularly, refer to the note above.

2. Check if you have enough space in the flash card for the new IOS file:

Router#dir slot1:

If you find that there is not enough space, you can delete one or more files from the flash:

Router#delete slot1: FILENAME.bin

If you delete on or more files from the flash DO NOT reload or powercycle the router until you finish this procedure. The flash image you are working on is currently loaded into RAM, so you can keep working properly until you reload or powercycle the router.

3. Verify the connectivity to the TFTP sever with the ‘ping’ command. And make sure that the TFTP server software is running and the working directory of the TFTP server contains the new IOS file. It is also adviced that you backup the configuration and old IOS file before proceeding. For this purpose, you can refer to IOS backup procedure and configuration backup procedure.

4. Copy the new IOS file from the TFTP server to the router:

Router#copy tftp slot1:

Address or name of remote host []? XXX.XXX.XXX.XXX

Source filename []? cXXXX-X-XX.XXX-XX.bin

Destination filename [cXXXX-X-XX.XXX-XX.bin]?

Accessing tftp://XXX.XXX.XXX.XXX/cXXXX-X-XX.XXX-XX.bin…

Erase slot1: before copying? [confirm]n     <<< You can say ‘no’ here because you have already

emptied space for the new IOS file

Loading cXXXX-X-XX.XXX-XX.bin from XXX.XXX.XXX.XXX (via Ethernet1/0): 




[OK – xxxxxxx/yyyyyyy bytes]


Verifying checksum…  OK (0x13F0)

xxxxxxx bytes copied in 67.708 secs (zzzz bytes/sec)


5. Verify the new IOS file in the flash car:

Router#dir slot1:

6. Direct the router to load the new IOS file in the next boot:

Router(config)#no boot system

Router(config)#boot system flash slot1:cXXXX-X-XX.XXX-XX.bin

7. Make sure that the configuration register has the value of 0x2102. This is verified by the ‘show

version’ command. If the configuration register has a value other than 0x2102, use the following

command to change it:

Router(config)#config-register 0x2102

8. Save the configuration with one of the two following commands:

Router#write memory


Router#copy run start

9. Reload the router with ‘reload’ command. And after the reload, verify the new IOS version with

the ‘show version’ command. This command will also show you the name of the IOS file that has been





Only registered users can write comments.
Please login or register.

Thank you for leaving a comment

Close Window