Problem
You want to load an IOS image that is too large to store on your router's local flash.
Solution
You can load an IOS image that is larger than your router's flash by configuring the router to first use TFTP to download the image and before booting:
Router1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router1(config)#boot system tftp c2500-io-l.122-7a.bin 172.25.1.1 Router1(config)#boot system flash Router1(config)#end Router1#
Discussion
We mentioned in Recipe 1.7 that it is possible to load IOS images over the network at boot time. However, booting from remote IOS images presents some unique challenges. Therefore, we decided to dedicate an entire recipe to remote booting.
One of the most important advantages of booting an IOS image over the network is that it allows you to use images that are larger than your router's flash. Like any other software, each new IOS image tends to be slightly larger than the previous versions. So it is relatively common to discover that you can't load the latest IOS version because it is too big to fit in an older router's flash.
Booting over the network also provides a way of loading a backup IOS image if the primary image fails. As we discussed Recipe 1.7, it's a good idea to configure your router with at least one backup IOS image to load in case the primary fails for any reason. Even if you have a lot of flash storage, you may find that you can't store two IOS images at once. So booting over the network is actually a reasonable way of providing a backup image.
Booting over the network also poses an important security problem because, as we discussed in Recipe 1.2, it is virtually impossible to secure a UDP-based service like TFTP. In addition, it makes the router dependant on the TFTP server for its boot images. Network booting also has performance issues. Loading an IOS over the network can significantly increase the time it takes your router to reload, particularly if it has to traverse slower WAN links. We certainly do not recommend relying solely on remote booting in a production environment.
However, in a lab or testing environment, it can be extremely useful to be able to load an IOS image that is larger than your router's flash. This lets you work with IOS versions that you could not otherwise load and test. The following show version command output was taken from a router that was booted in this way:
Router1#show version Cisco Internetwork Operating System Software IOS (tm) 2500 Software (C2500-IO-L), Version 12.2(7a), RELEASE SOFTWARE (fc2) Copyright (c) 1986-2002 by cisco Systems, Inc. Compiled Thu 21-Feb-02 02:07 by pwade Image text-base: 0x0000144C, data-base: 0x0082E874 ROM: System Bootstrap, Version 5.2(8a), RELEASE SOFTWARE BOOTLDR: 3000 Bootstrap Software (IGS-RXBOOT), Version 10.2(8a), RELEASE SOFTWARE (fc1) Router1 uptime is 10 hours, 16 minutes System returned to ROM by reload System restarted at 01:57:47 EST Sat Jan 11 2003 System image file is "tftp://172.25.1.1/c2500-io-l.122-7a.bin" cisco 2520 (68030) processor (revision E) with 16384K/2048K bytes of memory. Processor board ID 03870281, with hardware revision 00000002 Bridging software. X.25 software, Version 3.0.0. Basic Rate ISDN software, Version 1.1. 1 Ethernet/IEEE 802.3 interface(s) 2 Serial network interface(s) 2 Low-speed serial(sync/async) network interface(s) 1 ISDN Basic Rate interface(s) 32K bytes of nonvolatile configuration memory. 16384K bytes of processor board System flash (Read/Write) Configuration register is 0x2102 Router1#
This shows that the router is running the new version of IOS, which it loaded by using TFTP. In this example, we put the TFTP boot first:
Router1(config)#boot system tftp c2500-io-l.122-7a.bin 172.25.1.1 Router1(config)#boot system flash
If the TFTP file transfer had failed, the router would have loaded its old IOS image from its local flash. If we had reversed the order of these commands, the router would have tried first to boot from flash, and would have resorted to TFTP if the router had trouble with the file on the flash.
For redundancy purposes, you can configure the router to boot from multiple TFTP servers. Simply copy the same IOS image to an alternate set of TFTP servers and include a boot system command per server. This reduces the dependency of the router to a single TFTP server, although the router has to try each successive server and time out before moving on to the next one, which can increase the boot time.
See Also
Recipe 1.2; Recipe 1.7
Router Configuration and File Management
Router Management
User Access and Privilege Levels
TACACS+
IP Routing
RIP
EIGRP
OSPF
BGP
Frame Relay
Handling Queuing and Congestion
Tunnels and VPNs
Dial Backup
NTP and Time
DLSw
Router Interfaces and Media
Simple Network Management Protocol
Logging
Access-Lists
DHCP
NAT
First Hop Redundancy Protocols
IP Multicast
IP Mobility
IPv6
MPLS
Security
Appendix 1. External Software Packages
Appendix 2. IP Precedence, TOS, and DSCP Classifications
Index