付録A Hermit-Atについて

Hermit-Atとは、Atmark Techno製品のブートローダーに採用している高機能ダウンローダー/ブートローダーです。フラッシュメモリの書き換えや、Linuxカーネル起動オプションの設定等、様々な機能があります。ここでは、代表的な機能について説明します。

A.1. setenvとclearenv

Linuxカーネル起動オプションを設定するコマンドです。setenvで設定されたパラメータは、Linuxカーネル起動時に渡されます。clearenvを実行すると、設定がクリアされます。このパラメータは、フラッシュメモリに保存され再起動後も設定は有効となります。

構文:setenv [起動オプション]...
説明:カーネル起動オプションを設定します。

構文:clearenv
説明:設定されているオプションをクリアします。

図A.1 setenvとclearenv


A.1.1. setenv/clearenv使用例

hermit> setenv console=ttymxc0
hermit> setenv
1: console=ttymxc0

hermit> clearenv

図A.2 setenvとclearenvの使用例


A.1.2. Linux起動オプション

表A.1 よく使用されるLinux起動オプション

オプション説明
consoleシリアルコンソールが使用するデバイスを指示します。
rootルートファイルシステム関連の設定を指示します。
rootdelayルートファイルシステムをマウントする前に指定秒間待機します。
rootwaitルートファイルシステムがアクセス可能になるまで待機します。
noinitrdカーネルが起動した後に initrd データがどうなるのかを指示します。
nfsrootNFSを使用する場合に、ルートファイルシステムの場所やNFSオプションを指示します。

A.2. frob

指定したアドレスのデータを読み込む、または、変更することができるモードに移行するコマンドです。

表A.2 frobコマンド

frobコマンド説明
peek [addr]指定されたアドレスから32bitのデータを読み出します。
peek8 [addr]指定されたアドレスから8bitのデータを読み出します。
peek16 [addr]指定されたアドレスから16bitのデータを読み出します。
poke [addr] [value]指定されたアドレスに32bitのデータを書き込みます。
poke8 [addr] [value]指定されたアドレスに8bitのデータを書き込みます。
poke16 [addr] [value]指定されたアドレスに16bitのデータを書き込みます。

A.3. memmap

フラッシュメモリのリージョン情報を表示するコマンドです。

構文:memmap

図A.3 memmap


A.3.1. 使用例

hermit> memmap
0xa0000000:0xa0ffffff FLA all bf:8K bl:4x32K/l,127x128K/l
0xa0000000:0xa001ffff FLA bootloader bf:8K bl:4x32K/l
0xa0020000:0xa021ffff FLA kernel bf:8K bl:16x128K
0xa0220000:0xa0fdffff FLA userland bf:8K bl:110x128K
0xa0fe0000:0xa0ffffff FLA config bf:8K bl:1x128K
0x80000000:0x83ffffff RAM dram-1

図A.4 memmapの使用例


A.4. erase

フラッシュメモリの消去を行うコマンドです。

構文:erase [アドレス]

図A.5 erase


A.4.1. 使用例

hermit> erase 0xa0fe0000

図A.6 eraseの使用例


A.5. tftpdl

TFTPプロトコルを使用してTFTPサーバーからファイルをダウンロードし、フラッシュメモリの書き換えを行うコマンドです。

構文:tftpdl [クライアントIPアドレス] [サーバーIPアドレス] [オプション]...
説明:指定された内容に基づきTFTPダウンロードを行い、フラッシュメモリに書き込みます。

図A.7 tftpdl


表A.3 tftpdlオプション

オプション説明
--region=filepathregionに書き込むファイルをfilepathで指定します。
--fake実際にフラッシュメモリの書き込みを行わないモードになります。

A.5.1. 使用例

hermit> tftpdl 192.168.10.10 192.168.10.1 --kernel=linux.bin.gz

Client: 192.168.10.10
Server: 192.168.10.1
Region(kernel): linux.bin.gz

initializing net-device...OK
Filename : linux.bin.gz
..........................................................................
..........................................................................
..................................
Filesize : 1841551

programing: kernel
###############

completed!!

図A.8 tftpdlの使用例