|
|
This chapter describes how to modify the switch boot configuration, including the BOOT environment variable and the configuration register.
This chapter consists of these sections:
These sections describe how the boot configuration works on the Catalyst 5000 series Supervisor Engine III and Catalyst 4000 and 2948G series switches:
The boot process on the Catalyst 5000 series Supervisor Engine III and the Catalyst 4000, 2948G, and 2926G series switches involves two software images: ROM monitor and supervisor engine system code. When the switch is powered up or reset, the ROM-monitor code is executed. Depending on the nonvolatile RAM (NVRAM) configuration, the switch either stays in ROM-monitor mode or loads the supervisor engine system code.
Two user-configurable parameters determine how the switch boots: the configuration register and the BOOT environment variable. The configuration register is described in the "Understanding the Configuration Register" section. The BOOT environment variable is described in the "Understanding the BOOT Environment Variable" section.
The ROM monitor code executes upon switch power-up, reset, or when a fatal exception occurs. The system enters ROM-monitor mode if the switch does not find a valid system image, if the NVRAM configuration is corrupted, or if the configuration register is set to enter ROM-monitor mode. From ROM-monitor mode, you can manually load a system image from Flash memory, from a network server file, or from bootflash.
On the Catalyst 5000 and 2926G series switches, you can enter ROM-monitor mode by restarting the switch and then pressing the Break key during the first 60 seconds of startup. If you are connected through a terminal server, you can escape to the Telnet prompt and enter the send break command to enter ROM-monitor mode.
On the Catalyst 4000 and 2948G series switches, you can enter ROM-monitor mode by restarting the switch and then pressing Control-C during the first five seconds of startup. If you are connected through a terminal server, you can escape to the Telnet prompt and press Control-C to enter ROM-monitor mode.
The following functionality is built into the ROM monitor:
The configuration register determines whether the switch loads an operating system image and where the system image is stored. The configuration register boot field determines if and how the ROM monitor loads a supervisor engine system image at startup. You can modify the boot field to force the switch to boot a particular system image at startup instead of using the default system image.
The lowest four bits (bits 3, 2, 1, and 0) of the 16-bit configuration register form the boot field. The default boot field value is 0x10F. The possible configuration register boot field settings are as follows:
The function of other bits in the configuration register are as follows:
The BOOT environment variable specifies a list of image files on various devices from which the switch can boot at startup.
You can add several images to the BOOT environment variable to provide a fail-safe boot configuration. If the first file fails to boot the switch, subsequent images specified in the BOOT variable are tried until the switch boots or there are no additional images to attempt to boot. If there is no valid image to boot, the system enters ROM-monitor mode where you can manually specify an image to boot.
The system stores and executes images in the order in which you added them to the BOOT variable. If you want to change the order in which images are tried at startup, you can either prepend and clear images from the BOOT variable to attain the desired order or you can clear the entire BOOT environment variable and then redefine the list in the desired order.
Table 18-1 shows the default switch boot configuration.
| Feature | Default Configuration |
|---|---|
Configuration register value | 0x10f |
Boot method | System boots from the image specified in the BOOT environment variable |
ROM monitor console port baud rate | 9600 baud1 |
ignore-config parameter | Disabled |
BOOT environment variable | Empty |
| 1On the Catalyst 4000 and 2948G series switches, the ROM monitor console port baud rate is always 9600 baud. |
The following sections describe how to modify the configuration register and BOOT environment variable on the Catalyst 5000 series Supervisor Engine III and Catalyst 4000, 2948G, and 2926G series switches:
You can determine the boot method the switch will use at the next startup by setting the boot field in the configuration register. This command affects only the configuration register bits that control the boot field and leaves the remaining bits unaltered. The following boot methods are supported:
To set the configuration register boot field, perform this task in privileged mode:
| Task | Command |
|---|---|
Specify the boot field in the configuration register. | set boot config-register boot {rommon | bootflash | system} [mod_num] |
This example shows how to force the switch to enter ROM-monitor mode at the next startup:
Console> (enable) set boot config-register boot rommon Configuration register is 0x140 ignore-config: enabled console baud: 9600 boot: the ROM monitor Console> (enable)
On the Catalyst 5000 and 2926G series switches, you can change the console port baud rate used by the ROM monitor. The new baud rate is used the next time the switch is restarted. This command affects only the configuration register bits that control the baud rate and leaves the remaining bits unaltered.
On the Catalyst 4000 and 2948G series switches, you cannot change the ROM monitor console port baud rate; it is always set to 9600 baud.
To change the ROM-monitor console port baud rate in the configuration register, perform this task in privileged mode:
| Task | Command |
|---|---|
Change the ROM-monitor console port baud rate in the configuration register. | set boot config-register baud {1200 | 2400 | 4800 | 9600} [mod_num] |
This example shows how to change the ROM-monitor console port baud rate in the configuration register to 2400:
Console> (enable) set boot config-register baud 2400 Configuration register is 0x190f ignore-config: disabled console baud: 2400 boot: image specified by the boot system commands Console> (enable)
You can cause the system software to ignore the configuration information stored in NVRAM the next time the switch is restarted. This command affects only the configuration register bits that control whether the switch ignores the NVRAM configuration and leaves the remaining bits unaltered. This command affects the next system restart only.
| Caution Enabling the ignore-config parameter is the same as entering the clear config all command; that is, it clears the entire configuration stored in NVRAM the next time the switch is restarted. |
To set the switch to ignore the NVRAM configuration at the next startup, perform this task in privileged mode:
| Task | Command |
|---|---|
Set the switch to ignore the contents of NVRAM at startup. | set boot config-register ignore-config enable |
This example shows how to set the switch to ignore the NVRAM configuration at the next startup:
Console> (enable) set boot config-register ignore-config enable Configuration register is 0x14f ignore-config: enabled console baud: 9600 boot: image specified by the boot system commands Console> (enable)
To set the entire configuration register value, perform this task in privileged mode:
| Task | Command |
|---|---|
Set the configuration register. | set boot config-register 0xvalue [mod_num] |
This example shows how to set the configuration register value to 0x90f:
Console> (enable) set boot config-register 0x90f Configuration register is 0x90f ignore-config: disabled console baud: 4800 boot: image specified by the boot system commands Console> (enable)
To set the BOOT environment variable, perform this task in privileged mode:
| Task | Command |
|---|---|
Specify a system image to add to the BOOT environment variable. | set boot system flash device:[filename] [prepend] [mod_num] |
This example shows how to add system images to the BOOT environment variable:
Console> (enable) set boot system flash bootflash:cat5000-sup3.3-2-1b.bin BOOT variable = bootflash:cat5000-sup3.3-2-1b.bin,1; Console> (enable) set boot system flash bootflash:cat5000-sup3.4-1-2.bin BOOT variable = bootflash:cat5000-sup3.3-2-1b.bin,1;bootflash:cat5000-sup3.4-1 -2.bin,1; Console> (enable) set boot system flash slot0:cat5000-sup3.4-2-1.bin prepend BOOT variable = slot0:cat5000-sup3.4-2-1.bin,1;bootflash:cat5000-sup3.3-2-1b. bin,1;bootflash:cat5000-sup3.4-1-2.bin,1; Console> (enable)
To display the current configuration register and BOOT environment variable settings, perform this task:
| Task | Command |
|---|---|
Display the current configuration register and BOOT environment variable settings. | show boot [mod_num] |
This example shows how to display the current configuration register and BOOT environment variable settings:
Console> (enable) show boot BOOT variable = slot0:cat5000-sup3.4-2-1.bin,1;bootflash:cat5000-sup3.3-2-1b. bin,1;bootflash:cat5000-sup3.4-1-2.bin,1; Configuration register is 0x10f ignore-config: disabled console baud: 9600 boot: image specified by the boot system commands Console> (enable)
To clear entries from the BOOT environment variable, perform one of these tasks in privileged mode:
| Task | Command |
|---|---|
| clear boot system flash device:[filename] [mod_num] |
| clear boot system all [mod_num] |
This example shows how to clear a specific entry from the BOOT environment variable:
Console> (enable) clear boot system flash bootflash:cat5000-sup3.3-2-1b.bin BOOT variable = slot0:cat5000-sup3.4-2-1.bin,1;bootflash:cat5000-sup3.4-1-2.bin,1; Console> (enable)
This example shows how to clear the entire BOOT environment variable:
Console> (enable) clear boot system all BOOT variable = Console> (enable)
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Mon Jul 19 12:42:53 PDT 1999
Copyright 1989-1999©Cisco Systems Inc.