Cisco AS5350XM / AS5400XM ユニバーサル ゲートウェイ ソフトウェア コンフィギュレーション ガイド
ROM モニタ
ROM モニタ
発行日;2012/01/15 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

ROM モニタ

ROM モニタ プログラムの起動

ROM モニタ コマンドの表記法

コマンド エイリアス

ROM モニタ コマンド

ROM モニタ

この付録の内容は、Cisco AS5350XM および Cisco AS5400XM ユニバーサル ゲートウェイ向けのものです。

この付録では、ゲートウェイの起動時またはリセット時に最初に実行されるソフトウェアである Cisco AS5350XM および Cisco AS5400XM ROM モニタについて説明します。ROM モニタは、ゲートウェイのインストレーション時に発生するハードウェア上の問題を特定し、解決するうえで役立ちます。この付録の内容は次のとおりです。

「ROM モニタ プログラムの起動」

「ROM モニタ コマンドの表記法」

「コマンド エイリアス」

「ROM モニタ コマンド」

ROM モニタ プログラムの起動

ROM モニタによる診断機能は、プロセッサ ハードウェアの初期化およびメイン オペレーティングシステム ソフトウェアの起動時に役立ちます。ソフトウェア コンフィギュレーション レジスタ(ビット 3、2、1、および 0)を 0 に設定しておくと、スタンドアロン ROM モニタとしてゲートウェイを起動できます。ROM モニタ プロンプトの例を示します。

rommon 1 >
 

Break キーを有効にし、システム ソフトウェアの実行時に ROM モニタがデフォルトで起動するように設定するには、コンフィギュレーション モードから次のコンフィギュレーション コマンドを入力し、コンフィギュレーション レジスタを 0x0 にリセットします。

confreg 0x0
 

reload コマンドを実行してゲートウェイを再起動すると、新しいコンフィギュレーション レジスタ値 0x0 が有効になります。コンフィギュレーション レジスタ値を 0x0 に設定した場合は、ゲートウェイを再起動するたびに、コンソールから手動でシステムを起動しなければなりません。


ワンポイント•アドバイス Break(システム割り込み)は、コンフィギュレーション レジスタで Break をオフに設定した場合でも、システム再起動から 60 秒間は、常にイネーブルになります。この 60 秒間は、ROM モニタ プロンプトに Break を使用することができます。


ROM モニタ コマンドの表記法

ROM モニタ コマンドの表記法を次に示します。

角カッコ([ ])は任意指定を意味します。マイナス オプションにコロンが付いている場合(例:[ -s :])、そのオプションには引数を指定する必要があります。

イタリック体の部分には、対応する情報を入力する必要があります。

メモリ関連のコマンドのアドレスおよびサイズの引数はすべて、16 進数を前提としています([0x] プレフィクスも [h] サフィックスも不要)。

メモリ関連のコマンドの [ -bwl ] オプションは、バイト、ワード、およびロングワードをサポートします。デフォルト値は ワード です。

引数を指定せずにコマンドを入力すると、メモリ関連コマンドが起動し、パラメータの入力プロンプトが表示されます。このオプションは、プロンプトをサポートしているコマンドに使用できます。

組み込みコマンドはすべて、コンソールで Break キー(ユーザ割り込み信号)を押すと中断されます。

セミコロンの区切り記号 [;] を使用すると、1 行に複数のコマンド(repeat コマンドを除く)を指定することができます。

コマンド エイリアス

ROM モニタは、Korn シェルに組み込まれたエイリアス機能に基づくコマンド エイリアスをサポートしています。エイリアス名を設定および表示するには、 alias コマンドを使用します。この機能により、コマンド名に文字または単語のエイリアスを指定できます。エイリアスは、短いコマンド名を使用したり、コマンド オプションを自動的に起動したりする場合に便利です。

エイリアスは NVRAM(不揮発性 RAM)に保存され、電源切断後も保持されます。次に、設定済みエイリアスをいくつか紹介します。

b = boot
h = history
i = reset
r = repeat
k = stack
? = help

ROM モニタ コマンド

rommon n > プロンプトに ? または help を入力すると、次のように、使用できるコマンドおよびオプションのリストが表示されます。

rommon 2 > help
alias set and display aliases command
boot boot up an external process
confreg configuration register utility
cont continue executing a downloaded image
context display the context of a loaded image
cookie display contents of cookie PROM in hex
dev list the device table
dir list files in file system
dis disassemble instruction stream
frame print out a selected stack frame
hardware_info display hardware information
help monitor builtin command help
history monitor command history
meminfo memory information (-spd dumps SDRAM cookie)
reset system reset
rommon-pref select ROMMON
set show all monitor variables
showmon display currently selected ROM monitor
stack produce a stack trace
sync write monitor environment to NVRAM
sysret print out info from last system return
tftpdnld tftp image download
unalias unset an alias
unset unset a monitor variable
 

) コマンド名に -? オプションを付けて入力すると、そのコマンドの詳しい使用方法が表示されます。


次に、各コマンドをアルファベット順に説明します。ROM モニタのコマンドには、大文字と小文字の区別があります。

alias [ name = value ] ― エイリアスの名前と対応コマンドを設定します。コマンド入力にスペースまたは他の特殊(シェル)文字が含まれる場合は、引用符で囲む必要があります。最終文字としてスペースを入力すると、コマンドラインの次の単語でもエイリアスの有無がチェックされます(通常は、コマンドラインの最初の単語だけがチェックされます)。引数を指定しないでこのコマンドを入力すると、すべてのエイリアスと対応コマンド名が表示されます。

次に例を示します。

rommon 1 > alias
r = repeat
h = history
? = help
b = boot
ls = dir
 

boot または b ― イメージを起動します。 boot コマンドに引数を指定しなかった場合、フラッシュ メモリから最初のイメージが起動します。引数 filename を指定すると、Trivial File Transfer Protocol(TFTP; 簡易ファイル転送プロトコル)を使用して、ネットワーク上のファイルを起動することができます。ローカル デバイスは、デバイスの識別番号( devid )を入力して指定します( b device コマンドの説明を参照)。指定したデバイス名が ROM モニタに認識されていない場合は、ネットワーク TFTP サーバからのイメージ( imagename )の起動が試みられます。 devid imagename の間にはスペースを入れないでください。 boot コマンドのオプションは、 -x (イメージをロードするが実行しない)および -v (詳細)です。 boot コマンドの形式は次のとおりです。

Cisco AS5350XM および Cisco AS5400XM ユニバーサル ゲートウェイは、ROM モニタ レベルで次の 3 つの boot コマンドをサポートしています。

boot [- xv ] [ devid ] [ imagename ]

b ― フラッシュから最初の XM イメージをロードして実行します。

b flash:filename ― flash:filename で指定したイメージをロードして実行します。

confreg [ hexnum ] ― 引数 hexnum を指定して実行すると、Virtual Configuration Register(VCR; 仮想コンフィギュレーション レジスタ)の値が指定の 16 進数に変更されます。引数を指定せずに confreg コマンドを入力すると、VCR の内容が英文でダンプされ、ユーザ側で内容を変更することができます。VCR の各ビットの情報を変更または保持できるプロンプトが表示されます。いずれの場合も、新しい VCR の値は NVRAM に保存されます。値を有効にするには、ゲートウェイをリセットするか、またはゲートウェイの電源をいったん切断し、再投入する必要があります。

コンフィギュレーション レジスタは NVRAM に保存されます。コンフィギュレーション レジスタの動作は、他のシスコ製ゲートウェイと同じです。メニュー モードで confreg コマンドを入力するか、レジスタの新しい値を 16 進数で入力します。


) レジスタ値は常に 16 進数として解釈されます。メニュー モードを使用すると、confreg ユーティリティにより、コンフィギュレーション レジスタの変更前後の情報が表示されます。


次に例を示します。

rommon 2 > confreg
 
Configuration Summary
(Virtual Configuration Register:0x0)
enabled are:
break/abort has effect
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]: y
enter rate:0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400
4 = 19200, 5 = 38400, 6 = 57600, 7 = 115200 [0]:
change the boot characteristics? y/n [n]:
 
 
Configuration Summary
(Virtual Configuration Register:0x0)
enabled are:
break/abort has effect
console baud:9600
boot:the ROM Monitor
 
do you wish to change the configuration? y/n [n]:
 

cont [ -b ] ― 中断されたイメージの起動を続行します。 -b オプションにより、続行を開始するブレーク ポイントを設定できます。

次に例を示します。

reboot >
monitor: command “launch” aborted due to user interrupt
diagmon 7 > cont
 
reboot>
 

context ― 障害発生時の CPU コンテキストを表示します。可能であれば、起動イメージのカーネル モードおよびプロセス モードからコンテキストが表示されます。

次に例を示します。

rommon 6 > context
 
CPU Context:
d0 - 0x00000028 a0 - 0x0ff00420
d1 - 0x00000007 a1 - 0x0ff00000
d2 - 0x00000007 a2 - 0x02004088
d3 - 0x00000000 a3 - 0x020039e6
d4 - 0x00000000 a4 - 0x02002a70
d5 - 0x02003e8a a5 - 0x02003f17
d6 - 0x00000000 a6 - 0x02003938
d7 - 0x00000001 a7 - 0x0200392c
pc - 0x02004adc vbr - 0x02000000
 

cookie ― cookie PROM の内容が 16 進フォーマットで表示されます。

次に例を示します。

rommon 1 > cookie
 
cookie:
00 01 01 31 03 15 03 20 00 14 33 01 30 11 4a 41
42 30 33 35 31 30 37 38 32 00 00 00 00 00 13 63
0c 1d 00 00 00 00 11 11 22 22 33 33 44 44 55 55
66 66 77 77 88 88 99 99 00 00 11 11 22 22 33 33
ff 00 30 96 f8 00 7a ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 

dev ― ゲートウェイ上の起動デバイスの ID が表示されます。

次に例を示します。

rommon 10 > dev
 
Devices in device table:
id name
flash: flash
flash: flash
 

dir devid ― 指定したデバイス上のファイルが表示されます。

次に例を示します。

rommon 11 > dir flash:
 
File size Checksum File name
9474676 bytes (0x909274) 0x54322421 c5350-js-mz.Jan6
 

ethertype [ fe | ge ] ― Cisco AS5350XM および AS5400XM ユニバーサル ゲートウェイのイーサネット ポートは、ギガビット イーサネット ポートです(シャーシ上で GE0 および GE1 というラベルが付いています)。Cisco IOS ファームウェアおよびソフトウェアは、ファスト イーサネットの設定をユーザが変更せずに Cisco AS5350XM および AS5400XM ユニバーサル ゲートウェイで使用できるように設計されています。

Cisco IOS コマンド write または copy running-config startup-config を使用して NVRAM にコンフィギュレーションを保存している場合、参照されるイーサネット インターフェイスはすべて GigabitEther であり、IOS コマンド write terminal および show running configuration では常に GigabitEther が表示されます。

使用するいずれかのスクリプトで FastEther という単語を検索可能にする必要がある場合は、ROMMON コマンド ethertype fe を使用して、GigabitEther を FastEther に変更できます。 ethertype fe を入力すると、IOS イメージは FastEther だけを認識するようになります。GigabitEther は 認識されません

次に例を示します。

rommon 6 > ethertype fe
 

frame [ number ] ― 特定のスタック フレーム全体を表示します。表示するフレーム番号を入力します。また、表示するスタック フレーム番号を指定することもできます。デフォルトは 0(ゼロ)で、最新のフレームが表示されます。

次に例を示します。

rommon 6 > frame 2
 
Frame 02: FP = 0x02003960 RA = 0x020050ee
at 0x02003968 (fp + 0x08) = 0x02004f8d
at 0x0200396c (fp + 0x0c) = 0x0200f390
at 0x02003970 (fp + 0x10) = 0x02006afc
at 0x02003974 (fp + 0x14) = 0xc0a82983
at 0x02003978 (fp + 0x18) = 0x02003a7e
at 0x0200397c (fp + 0x1c) = 0x02002630
at 0x02003980 (fp + 0x20) = 0x00000000
at 0x02003984 (fp + 0x24) = 0x02000000
at 0x02003988 (fp + 0x28) = 0x0200c4a4
at 0x0200398c (fp + 0x2c) = 0x0200f448
 

help ― ROM モニタ コマンドのサマリーをコンソール画面に表示します。これは、 ? コマンドの出力と同じです。

次に例を示します。

rommon 11 > help
 
alias set and display aliases command
boot boot up an external process
confreg configuration register utility
cont continue executing a downloaded image
context display the context of a loaded image
cookie display contents of cookie PROM in hex
dev list the device table
dir list files in file system
dis disassemble instruction stream
frame print out a selected stack frame
hardware_info display hardware information
help monitor builtin command help
history monitor command history
meminfo memory information (-spd dumps SDRAM cookie)
reset system reset
rommon-pref Select ROMMON
set show all monitor variables
showmon display currently selected ROM monitor
stack produce a stack trace
sync write monitor environment to NVRAM
sysret print out info from last system return
tftpdnld tftp image download
unalias unset an alias
unset unset a monitor variable
 

history または h ― コマンド ヒストリ、つまり、モニタ環境で実行された最後の 16 のコマンドが表示されます。

meminfo ― 開始アドレス、メイン メモリの使用可能サイズ(バイト)、パケット メモリの開始ポイントおよびサイズ、NVRAM のサイズが表示されます。

次に例を示します。

rommon 9 > meminfo
 
Main memory size:128 MB. Packet memory size:64 MB
Available main memory starts at 0xa000e000, size 0x7ff2000
Packet memory starts at 0xa8000000
NVRAM size:0x80000
Main memory control register:0xbe9022f4
Shared memory control register:0x00000202
 

reset または i ― 電源投入時と同様に、システムをリセットし、初期化します。

rommon-pref [readonly | upgrade] ― 次のリロード時に起動する ROM モニタ イメージを選択します。

set ― すべてのモニタ変数とその値を表示します。

showmon ― 両方の ROM モニタ イメージを表示し、どちらのイメージが実行中かを確認します。

次に例を示します。

rommon 1 > showmon
 
ReadOnly ROMMON version is:
System Bootstrap, Version 12.3(12r)PI6, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2004 by cisco Systems, Inc.
Upgrade ROMMON version is:
System Bootstrap, Version 12.3(12r)PI6, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2004 by cisco Systems, Inc.
Upgrade ROMMON currently running
Upgrade ROMMON is selected for next boot
 

stack [ num ] ― num で指定した個数のフレームのスタック トレースを生成します。デフォルトは 5 です。このコマンドは、起動イメージのカーネル スタックおよびプロセス スタック(使用できる場合)をダンプします。

次に例を示します。

rommon 5 > stack 8
 
Stack trace:
PC = 0x02004adc
Frame 00: FP = 0x02003938 RA = 0x02005f2a
Frame 01: FP = 0x02003948 RA = 0x02005df0
Frame 02: FP = 0x02003960 RA = 0x020050ee
Frame 03: FP = 0x02003994 RA = 0x02004034
Frame 04: FP = 0x02003b00 RA = 0x00012ca6
 

sync ― 次のリセット時に読み取れるように、環境変数およびエイリアスの実行時コピーを NVRAM に書き込みます。

sysret ― 最後に起動したシステム イメージの戻り情報を表示します。イメージの終了原因、8 フレームまでのスタック ダンプ、および例外が含まれている場合は例外の発生アドレスが表示されます。

次に例を示します。

rommon 8 > sysret
 
System Return Info:
count: 19, reason: user break
pc:0x60043754, error address: 0x0
Stack Trace:
FP: 0x80007e78, PC: 0x60043754
FP: 0x80007ed8, PC: 0x6001540c
FP: 0x80007ef8, PC: 0x600087f0
FP: 0x80007f18, PC: 0x80008734
 

tftpdnld -r ― 次のように、TFTP_FILE で指定した TFTP サーバからイメージをロードします。

rommon 1 > set
TFTP_SERVER=1.6.1.2
IP_SUBNET_MASK=255.0.0.0
DEFAULT_GATEWAY=1.2.0.1
IP_ADDRESS=1.2.65.10
TFTP_FILE=hyeh/c5400-js-mz.nemo.Sep20
 

TFTP サーバから起動するには、前述の 5 つの環境変数( variable = new.value )を設定する必要があります。

rommon 2> TFTP_FILE=user/newimage.ios
 

unalias name ― エイリアス リストから name および対応コマンド名を削除します。

unset varname ― 変数リストから変数名を削除します。

xmodem [ - yc ] destination_file_name ― コンソール ポートからシステム イメージをブート フラッシュ メモリにダウンロードします。- y オプションを指定すると、ダウンロードが実行されます。- c オプションを指定すると、ダウンロード時に 16 ビット CRC エラー チェックが実行されます。Xmodem 転送プロトコルは、128 バイトのブロック サイズをサポートし、ファイル データを含むブロック番号 1 から転送を開始します。これは、デフォルトの転送プロトコルです。