第11章 起動モードとブートローダーの機能

この章では、Armadilloの起動モードと、標準のブートローダーである「Hermit-At」の起動設定機能について説明します。

Armadillo-440 は、JP1の設定によってオンボードフラッシュメモリブートモードか、UARTブートモードを選択することができます。オンボードフラッシュメモリブートモードでは、フラッシュメモリのブートローダー領域に配置されたブートローダーが起動されます。UART ブートモードは、フラッシュメモリのブートローダーが壊れた場合など、システム復旧のために使用します。詳しくは、「Armadillo-400 シリーズソフトウェアマニュアル」の 「ブートローダーを出荷状態に戻す」を参照してください。

11.1. 起動モードの選択

起動モードの設定は、JP2の設定により決定されます。各起動モードは表11.1「起動モード」のようになります。

表11.1 起動モード

モードJP2説明
オートブートオープン電源投入後、自動的にLinuxカーネルを起動させます。
保守ショート各種設定が可能なHermit-Atコマンドプロンプトが起動します。

11.2. Linuxカーネル起動オプションの設定

Linuxカーネル起動オプションを変更することで、コンソールや、ルートファイルシステム等の様々な種類の設定を変更することができます。ここでは、Armadilloに関係のある代表的なオプションについて説明します。

これらの設定は、Hermit-Atのsetenv機能を使用します。setenvで設定されたパラメータはフラッシュメモリに保存され再起動後にも設定が反映されます。

設定されたパラメータをクリアするには、clearenvを使用します。

hermit> clearenv

図11.1 Linuxカーネル起動オプションのクリア


[ティップ]Hermit-ATのモード

Hermit-ATには、2つのモードがあります。コマンドプロンプトを表示して対話的に動作する「対話モード」と、Hermit-ATダウンローダと通信するための「バッチモード」です。バッチモードではコマンドプロンプトの表示や入力した文字の表示を行いませんが、コマンドの実行は可能です。

起動直後のHermit-ATは必ず対話モードになっています。対話モードからバッチモードに移行するにはチルダ「~」を、バッチモードから対話モードに移行するにはエクスクラメーションマーク「!」を入力します。

Hermit-ATダウンローダと通信を行った場合は、バッチモードに移行します。これは通信を確立するためにHermit-ATダウンローダがチルダを送信するためです。

対話モードからバッチモードに移行したり、バッチモード中に入力したコマンドが成功した場合などは以下のように表示されます。

+OK

11.2.1. コンソールの設定

起動ログの出力コンソールを変更するには、下記のようにconsoleパラメータにコンソール指定子を設定します。

hermit> setenv console=ttymxc1,115200

図11.2 コンソールの指定


設定によるログの出力先は、表11.2「コンソール指定に伴う出力先」のようになります。

表11.2 コンソール指定に伴う出力先

コンソール指定子起動ログ出力先保守モードプロンプト出力先[a]
ttymxc1CON3(シリアルインターフェース1)CON3(シリアルインターフェース1)
ttymxc2CON9(シリアルインターフェース2)CON9(シリアルインターフェース2)
ttymxc4CON9(シリアルインターフェース3)CON9(シリアルインターフェース3)
noneなしCON3(シリアルインターフェース1)
その他(tty1等)指定するコンソール[b]CON3(シリアルインターフェース1)

[a] 次回起動時から有効になります。

[b] ブートローダーのログは出力されません。


[警告]

setenvでカーネルのコンソールを指定すると、その設定はHermit-Atのコンソールにも反映されます。

例として、カーネルコンソールをttymxc2に指定した場合、次回起動時からはHermit-Atのコンソールもttymxc2に変更されます。

11.2.2. 起動するイメージファイルの指定

Armadillo-440では起動するイメージファイルを、オンボードフラッシュメモリの他にストレージやtftpサーバーに配置することができます。詳しくは、「Armadillo-400 シリーズ ソフトウェアマニュアル」の「カーネル/ユーザーランドの配置」を参照してください。

11.2.3. その他の起動オプション

本書で紹介したオプション以外にも様々なオプションがあります。詳しくは、Linuxの解説書や、Linuxカーネルのソースコードに含まれるドキュメント(kernel-source/Documentation/kernel-parameters.txt)を参照してください。

11.2.4. 起動オプションの設定例

  • コンソールをシリアルインターフェース2にする場合

    hermit> setenv console=ttymxc2,115200

    図11.3 起動オプション設定例1


  • コンソールを液晶パネルにする場合

    hermit> setenv console=tty1,115200

    図11.4 起動オプション設定例2


11.3. ブートローダーのバージョンに関する注意

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以降)を使用してください。[12]



[12] Armadillo-440 Rev.C1 以降は、出荷状態でloader-armadillo4x0-v2.0.1.bin以降が書き込まれています。