ROM モニタ

この章は、次の項で構成されています。

ROM モニタ概要

ROM モニタは、ルータの電源を投入またはリロードしたときに、ハードウェアを初期化して Cisco IOS XE ソフトウェアをブートするブートストラップ プログラムです。ROM モニタ モードのルータに端末を接続すると、ROM モニタ(rommon 1>)の Command-Line Interface(CLI)プロンプトが表示されます。

通常の動作中は ROM モニタ モードを使用しません。ROM モニタ モードは、ソフトウェア セット全体の再インストール、ルータのパスワードのリセット、または起動時に使用するコンフィギュレーション ファイルの指定などの、特殊な場合だけ使用されます。

ROM モニタ ソフトウェアは多くの名前で呼ばれます。ROM モニタ モードの CLI プロンプトにちなんで ROMMON と呼ばれることもあります。また、ROM モニタ ソフトウェアはブート ソフトウェアブート イメージブート ヘルパーと呼ばれることもあります。Cisco IOS XE ソフトウェアを使用するルータで配布されますが、ROM モニタは、Cisco IOS XE ソフトウェアとは別のプログラムです。通常の起動中に、ROM モニタによってルータを初期化し、Cisco IOS XE ソフトウェアに制御が渡ります。Cisco IOS XE ソフトウェアが引き継いだ後、ROM モニタはもう使用中でありません。

環境変数およびコンフィギュレーション レジスタ

2 つのプライマリ接続が ROM モニタと Cisco IOS XE ソフトウェアの間にあります。これは ROM モニタ環境変数およびコンフィギュレーション レジスタです。

ROM モニタ環境変数は、Cisco IOS XE ソフトウェアの場所を定義し、それをロードする方法について説明します。ROM モニタがルータを初期化したら、Cisco IOS XE ソフトウェアを検出し、ロードするために環境変数を使用します。

コンフィギュレーション レジスタは、ルータの起動方法を制御するソフトウェア設定です。コンフィギュレーション レジスタの主な用途の 1 つは、ルータを ROM モニタ モードで開始するか、それとも管理 EXEC モードで開始するかを制御することです。必要に応じて、コンフィギュレーション レジスタは ROM モニタ モードまたは管理 EXEC モードに設定されます。通常、ROM モニタ モードを使用する必要がある場合、Cisco IOS XE ソフトウェア プロンプトを使用してコンフィギュレーション レジスタを設定します。ROM モニタ モードのメンテナンスが完了したら、Cisco IOS XE ソフトウェアでルータがリブートするように、コンフィギュレーション レジスタを変更します。

端末接続での ROM モニタ モードへのアクセス

ルータが ROM モニタ モードになっている場合、カードのコンソール ポートに直接接続された端末からだけ ROM モニタ ソフトウェアにアクセスできます。Cisco IOS XE ソフトウェア(EXEC モード)が動作していないため、非管理インターフェイスを利用できません。基本的には、すべての Cisco IOS XE ソフトウェア リソースが利用不可です。ハードウェアが存在しますが、ハードウェアを使用できるようにするコンフィギュレーションはありません。

ネットワーク管理アクセスおよび ROM モニタ モード

ROM モニタ モードは、Cisco IOS XE ソフトウェア内のモードではなく、ルータ モードであることを認識しておくことが重要です。ROM モニタ ソフトウェアおよび Cisco IOS XE ソフトウェアは同じルータで動作する 2 つの別個のプログラムであることを覚えておくことを推奨します。ルータは、いつでも、これらのプログラムのうちの 1 つのみを実行します。

ROM モニタおよび Cisco IOS XE ソフトウェアを使用する場合に混乱を招く可能性のある 1 つの領域は、管理イーサネット インターフェイスの IP 設定を定義する領域です。ほとんどの ユーザは、Cisco IOS XE ソフトウェアでの管理イーサネット インターフェイスの設定に慣れています。ルータが ROM モニタモードになっていると、しかしながら、ルータは Cisco IOS XE ソフトウェアを実行していないため、管理イーサネット インターフェイスの設定を使用できません。

ルータで ROM モニタ モードになっているときに TFTP サーバなどの他のデバイスにアクセスするには、IP アクセス情報を使って ROM モニタ変数を設定する必要があります。


(注)  


TFTP アクセス変数は、IR1101 プラットフォームでは現在サポートされていません。

ROM モニタ モードの利用

ここでは、ROMMON モードに入る方法について説明します。次のセクションが含まれています。

現在の ROMMON バージョンの確認

ルータで実行中の ROMmon のバージョンを表示するには、show rom-monitor コマンドを使用します。ROMmon で設定されているすべての変数を表示するには、show romvar を使用します。


Router#show rom-monitor r0
System Bootstrap, Version 1.2, RELEASE SOFTWARE
Copyright (c) 1994-2018  by cisco Systems, Inc.

Router# show romvar
ROMMON variables:
 PS1 = rommon ! >
 MCP_STARTUP_TRACEFLAGS = 00000000:00000000
 LICENSE_SUITE =
 RET_2_RTS =
 Diagnostic = 1
 THRPUT =
 USER_BOOT_PARAM =  DEBUG_CONF=/bootflash/debug.conf
 EULA_ACCEPTED = TRUE
 BOOT_WDOG = DISABLE
 LICENSE_BOOT_LEVEL =
 BOOT = bootflash:ir1101_crashkernel.bin,1;
 CRASHINFO = bootflash:crashinfo_RP_00_00_20180619-204307-UTC
 RET_2_RCALTS =
 BSI = 0
 RANDOM_NUM = 1662155698

Router# reload

コンフィギュレーション レジスタが hex value 0x0 または 0x1820 に設定されている場合、リロード操作すると ROMmon モード コマンド プロンプト(rommon 1 >)が表示されます。プロンプトで set コマンドを呼び出すと(rommon 1 > set)、IOS/XE exec モードで上記の「show romvar」と同じ情報が表示されます。


rommon 1 > set
PS1=rommon ! > 
MCP_STARTUP_TRACEFLAGS = 00000000:00000000
 LICENSE_SUITE =
 RET_2_RTS =
 Diagnostic = 1
 THRPUT =
 USER_BOOT_PARAM =  DEBUG_CONF=/bootflash/debug.conf
 EULA_ACCEPTED = TRUE
 BOOT_WDOG = DISABLE
 LICENSE_BOOT_LEVEL =
 BOOT = bootflash:ir1101_crashkernel.bin,1;
 CRASHINFO = bootflash:crashinfo_RP_00_00_20180619-204307-UTC
 RET_2_RCALTS =
 BSI = 0
 RANDOM_NUM = 1662155698

一般的な ROM モニタ コマンド

次の表は、ROM モニタ モードで一般的に使用されるコマンドの要約を示します。これらのコマンドの使用に関する詳細については、このマニュアルの該当する手順を参照してください。

表 1. 一般的な ROM モニタ コマンド

ROMMON コマンド

説明

boot image

手動で仮想 Cisco IOS XE ソフトウェア イメージをブートします。

boot image –o config-file-path

手動で一時的な代替管理コンフィギュレーション ファイルにより Cisco IOS XE ソフトウェアをブートします。

confreg

config-register 設定を変更します。

dev

使用可能なローカル ストレージ デバイスを表示します。

dir

ストレージ デバイス内のファイルを表示します。

reset

ノードをリセットします。

set

現在設定されている ROM モニタ環境設定を表示します。

sync

新しい ROM モニタ環境設定を保存します。

unset

環境変数の設定を削除します。

Rommon コマンドの例

次の例は、ルータで ? コマンドを入力すると表示される結果を示しています。


rommon 1 > ?
alias               set and display aliases command
boot                boot up an external process
confreg             configuration register utility
dev                 list the device table
dir                 list files in file system
help                monitor builtin command help
history             monitor command history
meminfo             main memory information
repeat              repeat a monitor command
reset               system reset
set                 display the monitor variables
showmon             display currently selected ROM monitor
sync                write monitor environment to NVRAM
token               display board's unique token identifier
unalias             unset an alias
unset               unset a monitor variable

ROM モニタ プロンプトの変更

次の例に示すように PS1= コマンドを使用して、ROM モニタ モードのプロンプトを変更できます。


rommon 8 > PS1="IR1101 rommon ! > "
IR1101 rommon 9 > 

プロンプトを変更すると、ROM モニタの複数のルータを同時に処理する場合に役立ちます。この例は、プロンプトが「IR1101 rommo」で、次に行番号、さらに「>」が続くことを示しています。

コンフィギュレーション レジスタ設定の表示

現在のコンフィギュレーション レジスタ設定を表示するには、次のようにパラメータを使用せずに confreg コマンドを入力します。

rommon > confreg
Configuration Summary
   (Virtual Configuration Register: )
enabled are:
[ 0 ] break/abort has effect
[ 1 ] console baud: 9600
 boot:...... the ROM Monitor
do you wish to change the configuration? y/n  [n]:

コンフィギュレーション レジスタ設定には、仮想コンフィギュレーション レジスタのラベルが付いています。コンフィギュレーション レジスタ設定の変更を回避するには、no コマンドを入力します。

環境変数の設定

ROM モニタ 環境変数は、ROM モニタの属性を定義します。環境変数は、コマンドのように入力し、常にその後に等号(=)が続きます。環境変数の設定は大文字で入力し、その後に定義を続けます。

次に例を示します。

IP_ADDRESS=10.0.0.2

正常な動作状態では、これらの変数を変更する必要はありません。ROM モニタの動作方法を変更する必要がある場合だけ、クリアまたは設定します。

この項では、次のトピックについて取り上げます。

頻繁に使用される環境変数

次の表は、主要な ROM モニタ環境変数を示します。これらの変数を使用する方法については、このマニュアルの関連する手順を参照してください。IR1101 ブート ローダはネットブートをサポートしていないため、環境変数の IP_ADDRESS、IP_SUBNET_MASK、DEFAULT_GATEWAY、TFTP_SERVER、TFTP_FILE などの設定は使用されません。

表 2. 頻繁に使用される ROM モニタ環境変数

環境変数

説明

BOOT= path/file

ノードのブート ソフトウェアを識別します。この変数は通常、ルータのブート時に自動的に設定されます。

環境変数の設定の表示

現在の環境変数の設定を表示するには、showmon コマンドを入力します。

rommon 1 > showmon 
System Bootstrap, Version 1.3(REL), RELEASE SOFTWARE
Copyright (c) 1994-2018 by cisco Systems, Inc.

IR1101-K9 platform with 4188160 Kbytes of main memory

MCU Version - Bootloader: 4, App: 4
MCU is in application mode.

環境変数の設定の入力

環境変数の設定は大文字で入力し、その後に定義を続けます。次に、ROMmon モードで設定できる環境変数の例を示します。

rommon 1 > confreg 0x0
rommon 1> BOOT_WDOG = DISABLE
rommon 1> BOOT = IR1101-K9_image_name

環境変数の設定の保存

現在の環境変数の設定を保存するには、sync コマンドを入力します。

rommon > sync

(注)  


sync コマンドを使用して保存されていない環境値は、システムがリセットされる、またはブートされるたびに廃棄されます。

ROM モニタ モードの終了

ROM モニタ モードを終了するには、コンフィギュレーション レジスタを変更し、ルータをリセットする必要があります。

手順

  コマンドまたはアクション 目的

ステップ 1

confreg

例:


rommon 1> confreg

コンフィギュレーション レジスタのコンフィギュレーション プロンプトが開始します。

ステップ 2

指示されたとおりにプロンプトに応答します。

詳しくは、この手順の後の例を参照してください。

ステップ 3

reset

例:


rommon 2> reset

ルータをリセットして初期化します。

ROMMON の設定例

rommon 3 > confreg
    Configuration Summary
   (Virtual Configuration Register: 0x0)
enabled are:
 [ 0 ] break/abort has effect
 [ 1 ] console baud: 9600
 boot: ...... the ROM Monitor
do you wish to change the configuration? y/n  [n]:  y
 enable  "diagnostic mode"? y/n  [n]:  
 enable  "use net in IP bcast address"? y/n  [n]:  
 enable  "load rom after netboot fails"? y/n  [n]:  
 enable  "use all zero broadcast"? y/n  [n]:  
 disable "break/abort has effect"? y/n  [n]:  
 enable  "ignore system config info"? y/n  [n]:  
 change console baud rate? y/n  [n]:  
change the boot characteristics? y/n  [n]:  
           Configuration Summary
   (Virtual Configuration Register: 0x0)
enabled are:
 [ 0 ] break/abort has effect
 [ 1 ] console baud: 9600
 boot: ...... the ROM Monitor
do you wish to change the configuration? y/n  [n]:  

ルータ用 ROMmon のアップグレード

IR1101-K9 ルータの ROMmon アップグレードは、イメージが起動すると自動的に実行されます。ROMmon の最新バージョンは、IOSXE イメージにバンドルされています。アルゴリズムは、現在の実行中のバージョンがバンドルされているバージョンよりも古いかどうかを検出します。古い場合は、自動的にアップグレードされます。現在実行中のバージョンがバンドルされているバージョンと同じ場合、アップグレードは実行されません。正常にアップグレードされると、ルータは自動的に再起動して新しいバージョンをロードして実行します。

手順

  コマンドまたはアクション 目的

ステップ 1

(任意)ハードウェア上の ROMmon の現在のリリース番号を表示するには、ルータで show rom-monitor slot コマンドを実行します。

実行するコマンドの出力の解釈については、現在の ROMMON バージョンの確認を参照してください。

ステップ 2

config-register 0x2102 コマンドを使用しても自動ブートが有効にならない場合、ROMmon プロンプトで boot filesystem:/file-location コマンドを実行して Cisco IOS XE イメージをブートします。filesystem:/file-location は、統合パッケージ ファイルへのパスです。

ROMmon のアップグレードは、Cisco IOS XE イメージが起動されるまで、いずれのハードウェアにとっても永続的なものではありません。

ステップ 3

ユーザープロンプトで、enable コマンドを実行します。

ブートが完了したら、特権 EXEC モードを開始します。

ステップ 4

show rom-monitor slot コマンドを実行します。

ROMmon がアップグレードされているかどうかを確認します。

コンソールの非同期シリアルポート

IR1101 コンソールポートは USB ポートです。一部のインストールでは、コンソールポートが RS232 ポートである必要があります。このリリースでは、Async 0/2/0 ポートをコンソールポートとして使用できるようにする回避策が提供されています。

この変更には、IOS XE とともに ROMMON 変数が必要です。Mini-USB コンソールと Async 0/2/0 の両方を同じボーレートと 8-N-1 で設定する必要があります。

ROMMON 変数を変更するには、次の手順を実行します。

  1. IR1101 Software configuration Guide』の手順に従って、ROMMON にアクセスします。

  2. ROMMON で次のコマンドを使用して、ROMMON 変数 CONSOLE_SERIAL の値を 1 に設定します:set CONSOLE_SERIAL=1

  3. sync

ROMMON は、CONSOLE_SERIAL=1 を検出すると、新しい変数の使用を開始します。また、console=ttyS0 の代わりに、ブートパラメータとして console=ttyS1 を渡します。

ROMMON 変数を設定したら、Cisco IOS XE 17.11.1a イメージを起動します。新しい変数を読み取り、console=ttyS0 の代わりに console=ttyS1 をブートパラメータとして使用します。Cisco IOS XE 17.11.1a は、新しい ROMMON イメージを更新します。その後、必要に応じてデバイスを再起動し、自動起動を設定します。


(注)  


Async 0/2/0 のピン割り当ては EIA-TIA-561 DTE です。CONSOLE_SERIAL=1 が設定されている場合、Async 0/2/0 は存在しません。工場出荷時設定にリセットしたり、ソフトウェアを 17.11 より前のものにダウングレードしたりしないでください。