Introduction
This document describes how to modify certain bootup system parameters with commands on Catalyst 9000 switches that run Cisco IOS® XE.
Prerequisites
Requirements
There are no specific requirements for this document.
Components Used
The information in this document is based on these software and hardware versions:
- Catalyst 9000 Switches Series
- Cisco IOS XE
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Background Information
In Cisco IOS XE, different commands are required to change certain system parameters, as opposed to simply adjusting the config-register value used in Cisco IOS®. These Command Line Interface (CLI) commands provide the appropriate method for modifying these settings in Cisco IOS XE.
Problem
The config-register is a 16-bit software register value that is preconfigured in NVRAM and can be used to change switch behavior to:
- Change how the switch boots (into ROMmon, NetBoot).
-
Change options while the switch boots (ignore configuration, disable boot messages).
-
Change console speed (baud rate for a terminal emulation session).
On Classic platforms that run on Cisco IOS software, the configuration register is set from configuration mode with the config-register command or from ROMmon with the confreg command. The show version command allows you to view the current setting of the configuration register.
On Catalyst 9000 switches that run on Cisco IOS XE, the confreg command was still available to configure, and the current setting appears in show version as well, but the actual config-register command was ineffective and malfunctioned which caused confusion.
This is because Cisco IOS XE does not use this config-register command and provides alternate CLI commands to handle the same.
Note: The incorrect display of configuration register value on show version output is removed from 16.12.4 and 17.3.1 release onwards.
Solution
Here are the equivalent CLI commands on Cisco IOS XE that allows user to perform same tasks done by setting config-register value on Cisco IOS.
Operation
|
Cisco IOS config-register value
|
Equivalent Cisco IOS XE CLI
|
Boot normally
|
0x2102
|
Switch(config)#no boot manual
|
Boot to rommon
|
0x0,0x2120
|
Switch(config)#boot manual
|
Enable Break/Disable Break
|
0x2120/ residual register values
|
Switch(config)#[no] boot enable-break
|
Setting Baud/ Console line speed
|
0x102, 0x2101, 0x2102, 0x2142 : 9600 baud rate
0x1202 : 1200 baud rate
0x2120, 0x2122,
0x2124 : 19200 baud rate
0x2902 : 4800 baud rate
0x2922 : 38400 baud rate
0x3122 : 57600 baud rate
0x3922 : 115200 baud rate
0x3902 : 2400 baud rate
|
Switch(config)#line console 0
Switch(config-line)#speed ?
<0-4294967295> Transmit and receive speeds
|
Ignore startup
|
0x2142
|
Switch(config)#system ignore startupconfig
|
Ignores break
|
0x102, 0x2101, 0x2102, 0x2122, 0x2124, 0x2142, 0x2902, 0x2922, 0x3122, 0x3902, 0x3922
|
Switch(config)#[no] boot manual
Switch(config)#[no] boot enable-break
|
Disable password recovery
|
0x102
|
Switch(config)#system disable password recovery
|
Note: If a system runs on Cisco IOS XE and fails to boot for 5 consecutive times in less than 25 minutes of uptime for each reload, then the software auto-sets ROMmon variable MANUAL_BOOT="yes". In other words, if a system fails to boot for any reason it auto-boots into ROMmon after 5 consecutive tries.
If both system ignore startupconfig and system disable password recovery are enabled then the respective ROMmon variables are set:
SWITCH_DISABLE_PASSWORD_RECOVERY=1
SWITCH_IGNORE_STARTUP_CFG=1
If both of these variables are set, the switch prompts when it boots up and confirms before the startup-config.
Booting...
<snip>
Both ignore startup configuration and disable password are set
This will result in erasing the startup config
Do you want to Erase the config? Default: n, Answer y/n:
User response is YES, erasing the startup config
Removing FIPS Key. Disabling FIPS MODE
All TCP AO KDF Tests Pass
service password-encryption
service password-recovery noconfirm
You can verify the status of the device ROMmon variables with the show romvar command, for example:
Switch#show romvar
----------------------------------
ROMMON variables for Active Switch
----------------------------------
ABNORMAL_RESET_COUNT=0
AUTO_SWITCH_CONSOLE_DISABLE=0
BAUD=9600
BOARDID=20562
BOOT=flash:packages.conf;
BOOTLDR=
BSI=0
CALL_HOME_DEBUG=0000000000000
CONFIG_FILE=
CONSOLE_MIRRORING_DISABLE=0
CRASHINFO=crashinfo:crashinfo_RP_00_00_20191003-150633-UTC
DC_COPY=yes
D_STACK_DAD=
D_STACK_DISTR_STACK_LINK1=
D_STACK_DISTR_STACK_LINK2=
D_STACK_DOMAIN_NUM=
D_STACK_MODE=
ENABLE_BREAK=yes
LICENSE_BOOT_LEVEL=network-advantage+dna-advantage,all:C9300_24P;
MAC_ADDR=00:BF:77:98:4D:80
MANUAL_BOOT=no
MODEL_NUM=C9300-24UX
MODEL_REVISION_NUM=D0
MOTHERBOARD_ASSEMBLY_NUM=73-17958-06
MOTHERBOARD_REVISION_NUM=A0
MOTHERBOARD_SERIAL_NUM=FOC220251Q6
RANDOM_NUM=2145835731
RECOVERY_RELOAD_DISABLE=
RET_2_RCALTS=
RET_2_RTS=01:51:00 UTC Thu Aug 22 2024
ROMMON_AUTOBOOT_ATTEMPT=3
ReloadReason=Image Install RET_2_RCALTS=1724823673
SWITCH_IGNORE_STARTUP_CFG=0
SWITCH_NUMBER=1
SWITCH_PRIORITY=14
SYSTEM_SERIAL_NUM=FCW2205L0MA
TEMPLATE=access
USB_DISABLE=0
VERSION_ID=V01
Related Information