Mike Touloumtzis氏がメンテナンスを行っている高機能ダウンローダ/ブートローダ「Hermit」に、Atmark Technoがオリジナルのカスタマイズ、製品の対応を行い派生させたダウンローダ/ブートローダです。
従来のHermitでは、Rawソケットを使用したEthernet対応が実装されていますが、Hermit-Atでは、UDP/IPを実装しTFTPによるフラッシュメモリの書き換えや、Linux起動オプションの動的変更等に対応しています。
本章では、Hermit-Atに実装されている一部の機能について説明します。
| Hermit-ATのモード |
---|
Hermit-ATには、2つのモードがあります。コマンドプロンプトを表示して対話的に動作する「対話モード」と、Hermit-ATダウンローダと通信するための「バッチモード」です。バッチモードではコマンドプロンプトの表示や入力した文字の表示を行いませんが、コマンドの実行は可能です。
起動直後のHermit-ATは必ず対話モードになっています。対話モードからバッチモードに移行するにはチルダ「~」を、バッチモードから対話モードに移行するにはエクスクラメーションマーク「!」を入力します。
Hermit-ATダウンローダと通信を行った場合は、バッチモードに移行します。これは通信を確立するためにHermit-ATダウンローダがチルダを送信するためです。
対話モードからバッチモードに移行したり、バッチモード中に入力したコマンドが成功した場合などは以下のように表示されます。
|
Linux起動オプションを動的に変更させるコマンドです。
setenvは、指定された起動オプションを、フラッシュメモリへ書き込みます。Hermit-AtがLinuxを起動させる時に自動的にフラッシュメモリから起動オプションを読み込み、設定します。
表9.1 よく使用されるLinux起動オプション
オプション | 説明 |
---|
console | シリアルコンソールが使用するデバイスを指示します。 |
root | ルートファイルシステム関連の設定を指示します。 |
noinitrd | カーネルが起動した後に initrd データがどうなるのかを指示します。 |
nfsroot | NFSを使用する場合に、ルートファイルシステムの場所やNFSオプションを指示します。 |
指定したアドレスのデータを読み込む、又は変更することができるモードに移行するコマンドです。
表9.2 frobコマンド
構文 | 説明 |
---|
peek [addr] | 指定されたアドレスから32bitのデータを読み出します。 |
peek8 [addr] | 指定されたアドレスから8bitのデータを読み出します。 |
peek16 [addr] | 指定されたアドレスから16bitのデータを読み出します。 |
poke [addr] [value] | 指定されたアドレスに32bitのデータを書き込みます。 |
poke8 [addr] [value] | 指定されたアドレスに8bitのデータを書き込みます。 |
poke16 [addr] [value] | 指定されたアドレスに16bitのデータを書き込みます。 |
TFTPプロトコルを使用し、フラッシュメモリの書き換えを行うコマンド[]です。
[]
フラッシュメモリの消去を行うコマンドです。
erase [addr]
"addr"には、フラッシュメモリの物理アドレスを指定します。入力したアドレスはイレースブロックに自動的にアラインされます。フラッシュメモリの物理アドレスは、「メモリマップ」を参照してください。
| |
---|
IPL領域(0x50000000 - 0x50001fff)は、消去できません。
|