Boot System Tftp

Unanswered Question
Feb 9th, 2009

Hello All,

I am trying to use "boot system tftp ://" in order to upgrade the IOS of my 2821 Voice Gateway but after executing the above command, all the GW does is just changing the line but nothing happens. The configuration register is set to Configuration register is 0x2102. Do I need to change it tyo 0x2101? Why the GW doesn't boot through tftp. I can download from the router to the tftp server but not in the revers direction.


I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (1 ratings)
Leo Laohoo Mon, 02/09/2009 - 17:35

If you have enough space on you CF, why don't you d/l the image to the CF, change the boot sequence and reload the router?

mightyking Mon, 02/09/2009 - 17:57

That's the issue, I don't have enough space to load the new one.

Leo Laohoo Mon, 02/09/2009 - 18:49

This is a 2800 router right? Can you spare a 128/256/512 Mb USB flash drive (maximum limit is 2 Gb)? If yes, stick it in, format it and store the image into the USB and change the boot sequence.

I've personally done this numerous times and I don't see why it won't work with you.

Hope this works!

Leo Laohoo Mon, 02/09/2009 - 19:24

The 2800 should have two USB slots in the front.

For consistency, stick it into USB Port 0.

Then do the following commands:

1. format usbflash0:

2. copy IOS image from your TFTP to usbflash0:

3. Change boot variable: boot system usbflash0:

4. (Warm) Reload the router

NOTE: USB support was added on IOS v12.4

Does this help?

mightyking Tue, 02/10/2009 - 07:11

Thanks Leo, it did help. The router is up & running now. When I use the command "boot system tftp://IP-Address-of-the-TFTPServer/filename, I have to do "write mem" and then "reload" Is that right? This was what I was doing last night but it was not working!!!!

I just wanted to be safe by loading the router through tftp and then delete the old flash file and copy the new one. Believe me, I have got screwed many times and decided to boot routers using tftp when I have a router upgrade to do. According to me, this is the safest way to go. Your way is very safe as well but not all routers & IOS support USB.

By the way what is the command which shows with which flash file the router has booted?

Thanks again,


Leo Laohoo Wed, 02/11/2009 - 20:06

Hi MK,

I doubt booting via TFTP will work (I'd like to be corrected on this). When a router boots, when there is no IOS, how will it know IP Addressing? It doesn't.

I'm very thankful Cisco has enabled USB on the routers and ASA (but not the Sup32/Sup720, weird!). I never travel without my kit of IOS USB and Compact Flash. All "new generation" routers, 870/880, 1800/2800/3800 have at least one USB port ready to fly. If not, the 2691 and 3700 has compact flash.

Leo Laohoo Wed, 02/11/2009 - 20:09

Q: What is the command which shows with which flash file the router has booted?

A: "show version"

Blah uptime is 17 weeks, 2 days, 4 hours, 27 minutes

System returned to ROM by power-on

System restarted at 09:40:32 AEST Tue Oct 14 2008

System image file is "flash:c2800nm-spservicesk9-mz.124-3h.bin" < --------- Appliance boot up using this directory (flash:) and filename (c2800nm-spservicesk9-mz.124-3h.bin).

Does this help?

mightyking Thu, 02/12/2009 - 10:00


You copy the new IOS in your tftp server and use the boot system tftp command to boot through tftp using the new IOS which is in the tftp server. While your router is up with the new IOS your can delete the old one and copy the new one. Then you need to change the boot order, "write mem" and then reload. This is what I normaly do and believe me it's very safe.

I think, the show version command outputs the installed IOS and not the one with which the router has rebooted last time. There's another command which gives this detail but I can't recall it.


joshblaylock Mon, 11/03/2014 - 16:48

I know this is an ancient post, but you can also load the IOS directly into ram using rommon to access a tftp server.  You must use following commands to set interface variables in rommon before attempting to boot:

DEFAULT_GATEWAY=<gateway ip or any ip if tftp server on local subnet>
TFTP_SERVER=<tftp server ip>

I also believe that you may have to have the router connected through the first port in sequence (e.g. - fastethernet 0/0 instead of 0/1).  It seems this is default interface for above settings.  Once the connectivity settings are in place as listed above, then use following command: tftpdnld -r

This loads the IOS defined by TFTP_FILENAME into ram without ever touching flash and then boots directly from it.  Good way to test new IOS on a platform while mitigating level of risk.



This Discussion