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

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

起動モードには、オートブートモード、保守モード等、システム起動時に最初に動作するソフトウェアを選択することができます。

Hermit-Atでは、Linuxカーネルを起動させる時の起動オプションの設定、クロックの設定等、システム起動時の初期設定を行うことができます。

6.1. 起動モードの選択

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

表6.1 起動モード

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

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

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

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

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

hermit> clearenv

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


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

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

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

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

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

+OK

6.2.1. コンソールの設定

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

hermit> setenv console=ttymxc0

図6.2 コンソールの指定


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

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

コンソール指定子起動ログ出力先
ttymxc0CON7
ttymxc4CON8
nullなし
その他(tty1等)指定するコンソール

6.2.2. ルートファイルシステムの設定

ルートファイルシステムとしてマウントするファイルシステムイメージの場所や、マウントするファイルシステム等を設定します。各パラメータの意味は以下を参照してください。

root

使用するルートファイルシステムのパーティションを指定します。

rootfs

使用するルートファイルシステムのタイプを指定します。

rootwait

ルートファイルシステムがアクセス可能になるまで待機します。

hermit> setenv root=/dev/sda1 rootfs=ext3 rootwait

図6.3 ルートファイルシステムの指定


6.2.2.1. ルートファイルシステムイメージの場所

ファイルシステムイメージの場所を設定する場合は、イメージが存在するパーティションを設定します。各デバイスのパーティションノードの例を、表6.3「ルートファイルシステムデバイス」に示します。指定がない場合(デフォルト)は、RAMディスク(/dev/ram0)が指定されます。

表6.3 ルートファイルシステムデバイス

デバイス名デバイスノード先頭パーティションノード
RAMディスク/dev/ram/dev/ram0
USBメモリ(SSDなど)/dev/sd*/dev/sd*1
MMC/SDカードディスク/dev/mmcblk*/dev/mmcblk*p1

6.2.2.2. ルートファイルシステムタイプ

特異なファイルシステムを使用する場合は、ファイルシステムタイプを指定します。指定がない場合は、ext2、ext3、msdos、vfatのいずれかでマウントされます[5]

6.2.2.3. ファイルシステム待機

Linuxカーネルは、指定するルートファイルシステムが存在するデバイスの認識が完了していなければ、ルートファイルシステムをマウントすることはできません。ドライバのロードタイミングやデバイスに依存する時間等、デバイスの認識時間は様々な要素で変動します。

ここで指定することができるのは、ルートファイルシステムがアクセス可能になるまで待機するオプションとなります。指定がない場合(デフォルト)は、待機なしとなります。

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

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

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

  • コンソールをCON8にする場合

    hermit> setenv console=ttymxc4

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


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

    hermit> setenv console=tty1

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


  • コンソールをCON7に出力、ルートファイルシステムをUSB接続SSDのパーティション1にする場合

    hermit> setenv console=ttymxc0 noinitrd root=/dev/sda1 rootwait

    図6.6 起動オプション設定例3




[5] Linuxカーネルが標準でサポートするファイルシステムの場合は、特に指定する必要はありません