Configuration Register
Routers use a 16-bit software configuration register, with which you can set specific system parameters. Settings for the software configuration register are written into nonvolatile random access memory (NVRAM).
Some reasons for changing the software configuration register settings are as follows:
- To set and display the configuration register value
- To force the system into the ROM monitor or boot ROM
- To select a boot source and default boot filename
- To enable or disable the Break function
- To control broadcast addresses
- To set the console terminal baud rate
- To load operating software from Flash memory
- To enable booting from a Trivial File Transfer Protocol (TFTP) server
- To recover a lost password
- To manually boot the system using the boot command at the bootstrap program prompt.
- To force the switch router to boot automatically from the system bootstrap software (boot p_w_picpath) or from its default system p_w_picpath in onboard Flash memory, and read any boot system commands that are stored in the configuration file in NVRAM
Boot Field
Config Register # | 2 | 1 | 0 | 2 |
---|---|---|---|---|
Bit Number | 15 14 13 12 | 11 10 9 8 | 7 6 5 4 | 3 2 1 0 |
Binary | 0 0 1 0 | 0 0 0 1 | 0 0 0 0 | 0 0 1 0 |
The lowest four bits of the configuration register (bits 3, 2, 1, and 0) form the boot field. The order in which the switch/router looks for system bootstrap information depends on the boot field setting in the configuration register.
When the boot field is set to either 0 or 1 (0-0-0-0 or 0-0-0-1), the system ignores any boot instructions in the system configuration file and the following occurs:
- When the boot field is set to 1 (the factory default), you will boot from an IOS p_w_picpath stored in ROM.
- When the boot field is set to 0, you must boot the operating system manually by giving a boot command to the system bootstrap program, or ROM monitor.
Boot Command
You can enter the
boot command only, or include additional boot instructions with the command, such as the name of a file stored in Flash memory or a file that you specify for booting from a network tftp server.
If you use the
boot command without specifying a file or any other boot instructions, the system boots from the default Flash p_w_picpath (the first p_w_picpath in onboard Flash memory). Otherwise, you can instruct the system to boot from a specific Flash p_w_picpath (using the
boot system flash filename command), or boot from a network server by sending broadcast TFTP requests (using the
boot system filename command), or by sending a direct TFTP request to a specific server (using the
boot system filename ip address command).
You can also use the
boot command to boot p_w_picpaths stored in the Personal Computer Memory Card International Association (PCMCIA) Flash memory cards in the route processor. If you set the boot field to any bit pattern other than 0 or 1, the system uses the resulting number to form a filename for booting over the network. The system uses the filename to invoke the system p_w_picpath by booting over the net. However, if the configuration file contains any boot instructions, the system uses those boot instructions instead of the filename it computed from the configuration register settings.
You must set the boot field for the boot functions you require. For more detailed information on the software configuration register features, refer to the following sections.
Changing the Software Configuration Register
Settings for the software configuration register are written into NVRAM. The factory default value for Cisco router is 0x2102.
You can change the default configuration register setting with the enabled config-mode command
config-register. Use a hexadecimal number as the argument to this command. For example, the command
Router(config)# config-register 0x2100
configures the router to boot to ROM monitor mode.
A Summary of Boot Tasks and Their Register Values
To change the boot field and leave all the other bits set to their default values, follow these guidelines:
- To enter the ROM monitor (primarily a programmer's environment), set the configuration register value to 0x2100. This value sets the boot field bits to 0-0-0-0.
-
From the ROM monitor, boot the operating system manually by issuing the
boot command at the ROM monitor prompt.
- To boot the system automatically from ROM, set the configuration register to 0x2101. This value sets the boot field bits to 0-0-0-1.
- To configure the system to use the boot system commands in NVRAM, set the configuration register to any value from 0x2102 to 0x210F. These values set the boot field bits to 0-0-1-0 through 1-1-1-1.
Bit Number | Hexadecimal | Meaning |
---|---|---|
00 to 03
|
0x0000 to 0x000F
|
Boot field
|
06
|
0x0040
|
Causes system software to ignore NVRAM contents
|
07
|
0x0080
|
OEM bit enabled
|
08
|
0x0100
|
Break disabled
|
09
|
0x0200
|
Use secondary bootstrap
|
10
|
0x0400
|
IP broadcast with all zeros
|
11 to 12
|
0x0800 to 0x1000
|
Console line speed (default is 9600 baud)
|
13
|
0x2000
|
Boot default Flash software if network boot fails
|
14
|
0x4000
|
IP broadcasts do not have network numbers
|
15
|
0x8000
|
Enable diagnostic messages and ignore NVRAM contents
|
Boot Field | Meaning | Used For: |
---|---|---|
00 | ROM monitor mode | To boot to ROM monitor mode, set the configuration register to 2100. You must then manually boot the router with the b command. The router will show a rommon> prompt. |
01 | Boot p_w_picpath from ROM | To boot an IOS p_w_picpath stored in ROM, set the configuration register to 2101. The router will show the router(boot)> prompt. |
02 to 0F | Specifies a default boot filename | Any value from 2102 to 210F tells the router to use the boot commands specified in NVRAM. |
Understanding the Boot Field Commands
The lowest four bits of the software configuration register (bits 3, 2, 1, and 0) form the
boot field. The boot field specifies a number in binary form which you have to convert to Hexadecimal to use in the configuration register. If you set the
boot field value to 0, you must boot the operating system manually by entering the
boot command at the bootstrap prompt ( either
> or for newer platforms
rommon> ).
Command | Function |
---|---|
boot | Boots the default system software from Flash memory. |
boot flash [filename] | Boots the first file in onboard Flash memory. The optional filename argument is the name of the system p_w_picpath file to boot from onboard Flash memory. |
boot filename [ip address] | Boots from server host using TFTP. IP address of the TFTP server on which the system p_w_picpath resides. If omitted, this value defaults to the IP broadcast address of 255.255.255.255 |
Changing Register Settings While Running System Software
To change the configuration register while running the system software, follow these steps:
Step 1 At the privileged EXEC prompt (Router#), enter the
configure terminal command to enter global configuration mode.
Router#configure terminal Router(config)#
Step 2 Set the contents of the configuration register by entering the
config-register value configuration command, where
value is a hexadecimal number preceded by
0x as in the following example:
Router(config)# config-register 0x2142
Step 3 Press
Ctrl-Z to exit Global Configuration mode.
Step 4 Display the current configuration register value, which will be used at the next system reload, by entering the
show version command.
The value is displayed on the last line of the screen display, as in the following example:
Configuration register is 0x2102 (will be 0x2142 at next reload)
Step 5 Restart the router.
Changes to the configuration register take effect only when the system reloads.
Router# reload Proceed with reload? [confirm] %SYS-5-RELOAD: Reload Requested