Module 5: Managing Cisco IOS Software
Overview
A Cisco router cannot operate
without the Cisco Internetworking Operating System (IOS). Each Cisco router has
a predetermined boot-up sequence for locating and loading the IOS. This module
will describe the stages and importance of this boot up procedure.
Cisco internetworking devices operate using several
different files, including Cisco Internetwork
Operating System (IOS) images and configuration files. A network administrator
who wishes to keep the network running smoothly and reliably must carefully
manage these files to ensure that the proper versions are used and that
necessary backups are performed. This module also describes the Cisco file
system and provides the tools to manage it effectively.
Students completing this module should be able to:
5.1 Router Boot Sequence and
Verification
5.1.1
Stages of the Router Boot On sequence
The goal of the startup routines for Cisco IOS
software is to start the router operations. The router must deliver reliable
performance in its job of connecting any configured networks. To do this, the
startup routines must do the following:
5.1.2
How a Cisco device loads and locates Cisco IOS
The default source for Cisco IOS
software depends on the hardware platform, but most commonly the router looks
to the boot system commands saved in NVRAM. Cisco IOS software allows several
alternatives to be used. Other sources can be specified for the software, or
the router can use its own fallback sequence to load the software.
The settings in the configuration register enable the
following alternatives:

5.1.3
Using the boot system command
The following examples show the
use of multiple boot system commands to specify the fallback sequence for
booting Cisco IOS software. The three examples show boot system entries which
specify that a Cisco IOS software image will load first from flash memory, then
from a network server, and finally from ROM:
Router# configure terminal
Router(config)# boot system flash gsnew-image (Ctrl-Z)
Router# configure terminal
Router(config)# boot system tftp
IOS_image 172.16.13.111 (Ctrl-Z)
Router# configure terminal
Router(config)# boot system rom (Ctrl-Z)
The command copy running-config
startup-config saves the commands in NVRAM. The
router will execute the boot system commands as needed in the order in which
they were originally entered into configuration mode
5.1.4
Configuration register
The order in which the router
looks for system bootstrap information depends on the boot field setting in the
configuration register. The default configuration register setting can be
changed with the global configuration mode command config-register.
Use a hexadecimal number as the argument for this command.
The configuration register is a 16-bit register in
NVRAM. The lowest four bits of the configuration register form the boot field.
To ensure that the upper 12 bits are not changed, first retrieve the current
values of the configuration register using the show version command.
Then use the config-register command,
changing only the value of the last hexadecimal digit.
|
Value |
Description |
|
0xnnn0 |
Use ROM monitor mode (manually boot using the b
command) |
|
Oxnnn1 |
Automatically boot from ROM (default if the router
has no Flash) |
|
0xnnn2 to 0xnnnF |
Examine NVRAM for boot system commands (0xnnn2 is
the default if the router has Flash) |
To change the boot field in the configuration
register, follow these guidelines:
5.1.5
Troubleshooting IOS boot failure
In the event that the router does
not boot properly, there are several things that could be wrong:
When the router boots, it looks in
the configuration file for a boot system statement. This boot
system statement can force the router to boot from another image instead of
the IOS in flash. To identify the boot image source, type the show version
command and look for the line that identifies the image boot source.
Use the show running-config
command and look for a boot system statement near the top of the configuration.
If the boot system statement points to an incorrect
IOS image, delete the statement using the “no” version of the command.
An incorrect configuration register setting will
prevent the IOS from loading from flash. The value in the configuration
register tells the router where to get the IOS. This can be confirmed by using
the show version command and looking at the last line for the
configuration register. The correct value varies from hardware platform to
hardware platform. A part of the documentation of the internetwork
should be a printed copy of the show version output. If that
documentation is not available, there are resources on the Cisco documentation
CD or Cisco website to identify the correct configuration register value.
Correct this by changing the configuration register in the configuration and
saving this as the start-up configuration.
If there is still a problem, the router may have a
corrupted flash image file. If this is the case, an error message should be
displayed during boot. That message may take one of several forms. Some
examples are:
If the flash image is corrupt, a new IOS should be
uploaded into the router.
If none of the above appears to be the problem, the
router could have a hardware failure. If this is the case, the Cisco Technical
Assistance (TAC) center should be contacted. Although hardware failures are
rare, they do occur.
Note: The value of the configuration
register is not displayed by either the show running-config
or show startup-config commands
5.2
Managing the Cisco File System
5.2.1
IOS File System Overview
Routers and switches depend on
software for their operation. The two types of software required are operating
systems and configuration.
The operating system used in almost all Cisco devices
is the Cisco Internetwork Operating System (IOS). The
Cisco IOS® is the software that allows the hardware to function as a router or
switch. The IOS file is several megabytes.
The software a router or switch uses is referred to
as the configuration file or the config. The
configuration contains the “instructions” that define how the device is to
route or switch. A network administrator creates a configuration that defines
the desired functionality of the Cisco device. The functions that can be
specified by the configuation are the IP addresses of
the interfaces, routing protocols, and networks to be advertised. The
configuration file typically is a few hundred to a few thousand bytes.
Each of the software components is stored in memory
as a separate file. These files are also stored in different types of memory.
The IOS is stored in a memory area called flash.
Flash memory provides non-volatile storage of an IOS that can be used as an
operating system at startup. The flash allows the IOS to be upgraded or stores
multiple IOS files. In many router architectures, the IOS is copied into and
run from Random Access Memory (RAM).
A copy of the configuration file is stored in
Non-volatile RAM (NVRAM) to be used as a configuration during startup. This is
referred to as the “startup config”. The startup
configuration is copied into RAM at boot time. This configuration in RAM is the
configuration used to operate the router. It is referred to as the “running config”.

Beginning with version 12 of the IOS, a single
interface to all the file systems that a router uses is provided. This is
referred to as the Cisco IOS File System (IFS). The IFS provides a single
method to perform all the file system management that a router uses. This would
include the flash memory file systems, the network file systems (TFTP, rcp, and FTP), and reading or writing data (such as NVRAM,
the running configuration, ROM). The IFS uses a common set of prefixes to
specify file system devices.
The IFS uses the URL convention to specify files on
network devices and the network. The URL convention identifies the location of
the configuration files following the colon as
[[[//location]/directory]/filename]. The IFS also supports FTP file transfer.
5.2.2
IOS naming Convention
Cisco develops many different
versions of the IOS. The IOS supports varied hardware platforms and features.
Cisco is also continuously developing and releasing new versions of the IOS.
To identify the different versions, Cisco has a
naming convention for IOS files. This IOS naming convention uses different
fields in the name. Among the fields are the hardware platform identification,
the feature set identification, and the numerical release.

The first part of the Cisco IOS file name identifies
the hardware platform for which this image is designed.
The second part of the IOS file name identifies the
various features that this file contains. There are many different features to
choose from. These features are packaged in "software images". Each
feature set contains a specific subset of Cisco IOS features. Examples of
feature-set categories are:
The third part of the file name indicates the file
format. It specifies if the IOS is stored in flash in a compressed format and
whether the IOS is relocatable. If the flash image is
compressed, the IOS must be expanded during boot as it is copied to RAM. A relocatable image is copied from flash into RAM to run. A
non-relocatable image is run directly from flash.
The fourth part of the file name identifies the
release of the IOS. As Cisco develops newer versions of the IOS, the numerical
version number increases.
5.2.3
Managing Configuration files using TFTP

In a Cisco router or switch, the
active configuration is in RAM and the default location for the startup
configuration is NVRAM. In the event the configuration is lost, this startup
configuration should be backed up. One of these backup copies of the
configuration can be stored on a TFTP server. The copy running-config tftp command can be
used to do this. The steps for this process are listed below:
Loading the backup configuration file from a TFTP
server can restore the router configuration. The steps below outline this
process:

5.2.4
Managing Configuration files using copy and paste
Another way to create a backup
copy of the configuration is to capture the output of the show running-config command. This can be done from the terminal
session by copying the output, pasting to a text file, then saving the text
file. This file will need some editing before it can be used to restore
configuration to the router.

Perform the following to capture the configuration
using the text displayed on the HyperTerminal screen to a text file:
After the capture is complete, the configuration file
needs to be edited to remove extra text. To create this in a form to be
“pasted” back into the router, remove any unnecessary information from the
captured configuration. Comments may also be added to explain the various parts
of the configuration. A comment is added by beginning a line with an
exclamation mark “!”.
The configuration file can be edited from a text
editor such as Notepad. To edit the file from Notepad click
on File > Open. Find the captured file and select it.
Click Open.
The lines that need to be deleted contain:
At the end of each of the interface sections add the no
shutdown command. Clicking File > Save will save the clean
version of the configuration.
The backup configuration can be restored from a HyperTerminal
session. Before the configuration is restored any remaining configuration
should be removed from the router. This can be done by entering the command erase
startup-config at the privileged EXEC router
prompt and then restarting the router by entering the reload command.
HyperTerminal can be used to restore a configuration.
The clean backup of the configuration can be copied into the router.
5.2.5
Managing IOS image using TFTP
Occasionally the router will need
to have the IOS upgraded or restored. When a router first arrives, the IOS
should be backed up. This IOS image can be stored in a central server with
other IOS images. These images can be used to restore or upgrade the IOS on the
routers and switches in the internetwork.
This server should have a TFTP service running. The
IOS backup can be initiated from the privileged EXEC mode with the copy
flash tftp command.
The router will prompt the user to enter the IP
address of the TFTP server. When prompted for the filename of the IOS image on
the server, the router may then prompt to erase flash. This often happens if
there is not sufficient flash available for the new image. As the image is
erased from flash, a series of “e’s”
will appear to show the erase process.
As each datagram of the IOS
image file is downloaded, an “!” will be displayed. This IOS image is several
megabytes and may take some time.
The new flash image will be verified after it is
downloaded. The router is now ready to be reloaded to use the new IOS image.
5.2.6
Managing IOS image using Xmodem
If the IOS image in flash has been
erased or corrupted, the IOS may need to be restored from the ROM monitor mode
(ROMmon). In many of the Cisco hardware
architectures, the ROMmon mode is identified from the
rommon 1 > prompt.
This first step in this process is to identify why
the IOS image did not load from flash. This could be due to a corrupt or
missing image. The flash should be examined with the dir flash: command.
If an image is located that appears to be valid, an
attempt should be made to boot from that image. This is done using boot
flash: command. For example if the image name was “c2600-is-mz.121-5”, the
command would be:
rommon 1>boot
flash:c2600-is-mz.121-5
If the router properly boots, then there are a couple
of items that need to be examined to determine why the router booted to the ROMmon instead of using IOS from flash. First, use the show
version command to check the configuration register to ensure that it is
configured for the default boot sequence. If the configuration register value
is correct, use the show startup-config
command to see if there is a boot system command instructing the router to use
the IOS for ROM monitor.
If the router will not properly boot from the image
or there is no IOS image, a new IOS will need to be downloaded. The IOS file
may be recovered using either Xmodem to restore the
image through the console, or downloading the image using TFTP from the ROMmon mode.
Download using Xmodem from ROMmon
To restore the IOS through the console, the local PC needs to have a copy of
the IOS file to restore and a terminal emulation program such as HyperTerminal.
The IOS can be restored using the default console speed of 9600 bps. The baud
rate can be changed to 115200 bps to speed up the download. The console speed
can be changed from ROMmon mode using the confreg command. After entering the confreg command, the router will prompt for the
various parameters that can be changed.

The Confreg
command
When prompted “change console baud rate? y/n [n]:”
selecting y will provide a prompt to select the new speed. After
changing the console speed and restarting the router into the ROMmon mode, the terminal session (at 9600) should be
terminated and a new session started at 115200 bps to match the console speed.
The Xmodem command can be
used from the ROMmon mode to restore the IOS software
image from the PC. The format of the command is xmodem
-c image_file_name. For example, to
restore an IOS image file with the name “c2600-is-mz.122-10a.bin”, type the
command:
xmodem -c
c2600-is-mz.122-10a.bin

The xmodem
–cc2600-iz.mz.122-10a.bin command
The -c instructs the Xmodem
process to use Cyclic Redundancy Check (CRC) for error checking during the
download.
The router will prompt not to begin the transfer and
present a warning message. The warning message informs that the bootflash will be erased and asks to confirm continuing.
When the process is continued, the router will then prompt to start the
transfer.
Now the Xmodem transfer
needs to be started from the terminal emulator. In HyperTerminal, select Transfer
> Send File. Then in the Send File popup specify the image
name/location, select Xmodem as the protocol, and
start the transfer. During the transfer, the Sending File popup will display
the status of the transfer.
Once the transfer is complete a message appears
indicating that flash is being erased. This is followed by the “Download
Complete!” message. Before restarting the router, the console speed needs to be
set back to 9600 and the config register back to
0x2102. Enter the command config-register
0x2102 at the privileged EXEC prompt.
While the router is rebooting, the
115200 bps terminal session needs to be ended and a 9600 bps session begun.

Send File Popup Window
5.2.7
Environment Variables
The IOS can also be restored from
a TFTP session. Downloading the image using TFTP from ROMmon
is the fastest way to restore an IOS image to the router. This is done by
setting environmental variables and then using the tftpdnld
command.
Since the ROMmon has very
limited functions, no configuration file is loaded during boot. The router
therefore has no IP or interface configuration. The environmental variables
provide a minimal configuration to allow for the TFTP of the IOS. The ROMmon TFTP transfer works only on the first LAN port so a
simple set of IP parameters are set for this interface. To set a ROMmon environment variable, the variable name is typed,
then the equal sign (=), and the value for the variable (VARIABLE_NAME=value).
For example, to set the IP address to 10.0.0.1, type IP_ADDRESS=10.0.0.1 at the
ROMmon prompt. ![]()
Note: All variable names are case
sensitive.
The minimum variables required to use tftpdnld are:
To check the ROMmon
environment variables, the set command can be used.
Once the variables are set for the IOS download, the tftpdnld command is entered with no arguments. The ROMmon will echo the variables and then a confirmation
prompt will appear with a warning that this will erase the flash.


As each datagram of the IOS
file is received, a “!” will be displayed. When the complete IOS file has been
received, the flash will be erased and the new IOS image file written.
Appropriate messages will be displayed as the process is completed.
When the new image is written into flash and the ROMmon prompt is displayed, the router can be restarted by
typing i. The router should now boot from the
new IOS image in flash
5.2.8
File System Verification
There are several commands that
can be used to verify the router file system. One of those is the show
version command. The show version command can be used to check the
current image and the total amount of flash. It also verifies two other items
concerning loading the IOS. It identifies the source of the IOS image that the
router used to boot and displays the configuration register. The boot field
setting of the configuration register can be examined to determine from where
the router is to load the IOS. If these do not agree, there may be a corrupt or
missing IOS image in flash or there may be boot system commands in the startup
configuration.
The show flash command can also be used to
verify the file system. This command is used to identify IOS image(s) in flash
as well as the amount of flash that is available. This command is often used to
confirm that there is ample space to store a new IOS image.
As previously mentioned, the configuration file may
contain boot system commands. These commands can be used to identify the source
of the desired IOS boot image. Multiple boot system commands may be used to
create a fallback sequence to discover and load an IOS. These boot system
commands will be processed in the order of their appearance in the
configuration file
Summary
An understanding of the following
key points should have been achieved: