Hermit-At は、アットマークテクノ製品に採用されている高機能ダウンローダー兼ブートローダーです。Armadillo を保守モードで起動すると、Hermit-At ブートローダーのプロンプトが表示されます。プロンプトからコマンドを入力することにより、フラッシュメモリの書き換えや、Linux カーネルパラメーターの設定等 Hermit-At ブートローダーの様々な機能を使用することができます。ここでは、代表的な機能について説明します。
| Hermit-ATのモード |
---|
Hermit-ATには、2つのモードがあります。コマンドプロンプトを表示して対話的に動作する「対話モード」と、Hermit-ATダウンローダと通信するための「バッチモード」です。バッチモードではコマンドプロンプトの表示や入力した文字の表示を行いませんが、コマンドの実行は可能です。
起動直後のHermit-ATは必ず対話モードになっています。対話モードからバッチモードに移行するにはチルダ「~」を、バッチモードから対話モードに移行するにはエクスクラメーションマーク「!」を入力します。
Hermit-ATダウンローダと通信を行った場合は、バッチモードに移行します。これは通信を確立するためにHermit-ATダウンローダがチルダを送信するためです。
対話モードからバッチモードに移行したり、バッチモード中に入力したコマンドが成功した場合などは以下のように表示されます。
|
フラッシュメモリと DRAM のメモリマップを表示するコマンドです。
メモリのある区間の md5sum 値を計算して表示するコマンドです。
bootloader リージョンの先頭から 1024 Bytes の区間の md5sum 値を計算して表示するには、図A.10「md5sum の使用例」のようにコマンドを実行します。
Linux カーネルパラメーターを設定するコマンドです。setenv で設定されたパラメータは、Linux カーネルブート時にカーネルに渡されます。clearenv を実行すると、設定がクリアされます。このパラメータは、フラッシュメモリに保存され再起動後も設定は有効となります。
A.7.1. setenv/clearenv 使用例
Linux カーネルパラメーターの例を、表A.1「よく使用されるLinuxカーネルパラメーター」に示します。この他のオプションについては、linux-2.6/Documentation/kernel-parameters.txt
を参照してください。
表A.1 よく使用されるLinuxカーネルパラメーター
オプション | 説明 |
---|
console | カーネルコンソールとして使用するデバイスを指示します。 |
root | ルートファイルシステム関連の設定を指示します。 |
rootdelay | ルートファイルシステムをマウントする前に指定秒間待機します。 |
rootwait | ルートファイルシステムがアクセス可能になるまで待機します。 |
noinitrd | カーネルが起動した後に initrd データがどうなるのかを指示します。 |
nfsroot | NFSを使用する場合に、ルートファイルシステムの場所やNFSオプションを指示します。 |
| |
---|
console オプションに ttymxc1,2,4 を指定すると、次回起動時から Hermit-At が使用するシリアルインターフェースも変更されます。 |
Linux カーネルを格納しているブートデバイスを指定するコマンドです。この設定はフラッシュメモリに保存され、再起動後も設定は有効となります。
指定したアドレスのデータを読み込む、または、変更することができるモードに移行するコマンドです。
表A.2 frob コマンド
frobコマンド | 説明 |
---|
peek [addr] | 指定されたアドレスから32bitのデータを読み出します。 |
peek16 [addr] | 指定されたアドレスから16bitのデータを読み出します。 |
peek8 [addr] | 指定されたアドレスから8bitのデータを読み出します。 |
poke [addr] [value] | 指定されたアドレスに32bitのデータを書き込みます。 |
poke16 [addr] [value] | 指定されたアドレスに16bitのデータを書き込みます。 |
poke8 [addr] [value] | 指定されたアドレスに8bitのデータを書き込みます。 |
TFTP プロトコルを使用して TFTP サーバーからファイルをダウンロードし、フラッシュメモリの書き換えを行うコマンドです。
表A.3 tftpdl オプション
オプション | 説明 |
---|
--bootloader=filepath | bootloader リージョンに書き込むファイルを filepath で指定します。 |
--kernel=filepath | kernel リージョンに書き込むファイルを filepath で指定します。 |
--userland=filepath | userland リージョンに書き込むファイルを filepath で指定します。 |
--fake | ファイルのダウンロードだけを行い、フラッシュメモリには書き込まないよう指定します。 |
| |
---|
クライアントIPアドレスは、TFTPサーバと通信を行う際一時的に使用するIPアドレスです。同一ネットワーク内で重複しないIPアドレスを指定してください。 |
TFTP プロトコルを使用して TFTP サーバーからファイルをダウンロードし、RAM に展開してカーネルをブートするコマンドです。tftpdl と異なり、フラッシュメモリの書き換えを行いません。また、setbootdevice で tftp を指定したときと異なり、設定は保存されません。
オプションには、表A.3「tftpdl オプション」と同じものを指定することができます。--fake オプションを指定したときは、ファイルのダウンロードだけを行い、カーネルのブートを行いません。
|
カーネルおよびユーザーランドのイメージ RAM 上に展開しています。
|
|
カーネルがブートされ、カーネルの起動ログが表示されます。
|
| |
---|
クライアントIPアドレスは、TFTPサーバと通信を行う際一時的に使用するIPアドレスです。同一ネットワーク内で重複しないIPアドレスを指定してください。 |
setbootdevice で指定されたブートデバイスから Linux カーネルをブートするコマンドです。
|
カーネルおよびユーザーランドのイメージ RAM 上に展開しています。
|
|
setenv でカーネルパラメーターを設定している場合、ここで表示されます。ここまでは Hermit-At が表示しています。
|
|
カーネルがブートされ、カーネルの起動ログが表示されます。
|
Armadillo-440 の基板リビジョン Rev.C1 以降 (S/N 100201-2195以降) に hermit-at v2.0.0 をベースに生成したブートローダーイメージ(loader-armadillo4x0-v2.0.0.bin等)及び linux-2.6.26-at7 をベースに生成したカーネルイメージ(linux-a400-1.00.bin.gz) を書き込むと、カーネルが起動しない不具合があります。この問題は、Rev.C1以降の基板、hermit-at v2.0.0 及び linux-2.6.26-at7 という組み合わせのみで発生し、それ以外の組み合わせでは発生しません。
Armadillo-440 の基板リビジョン Rev.C1 以降 (S/N 100201-2195以降) には、hermit-at v2.0.1 以降をベースに生成したブートローダーイメージ(loader-armadillo4x0-v2.0.1.bin以降)を使用してください。[]