この章では、開発ボードの起動モードと採用しているブートローダ「Hermit-At」の起動設定機能について説明します。
起動モードには、オートブートモード、保守モード等、システム起動時に最初に動作するソフトウェアを選択することができます。
Hermit-Atでは、Linuxカーネルを起動させる時の起動オプションの設定、カーネルイメージのロケーションの設定、クロックの設定等、システム起動時の初期設定を行うことができます。
起動モードの設定は、JP1の設定により決定されます。各起動モードは表5.1「起動モード」のようになります。
表5.1 起動モード
モード | JP1 | 説明 |
---|
オートブート | オープン | 電源投入後、自動的にカーネルを起動させます。 |
保守 | ショート | 各種設定が可能なHermitコマンドプロンプトが起動します。 |
Linuxカーネル起動オプションを変更することで、コンソールや、ルートファイルシステム等の様々な種類の設定を変更することができます。ここでは、開発ボードに関係のある代表的なオプションについて説明します。
また、これらの設定は、Hermit-Atのsetenv機能を使用します。setenvで設定されたパラメータはフラッシュメモリに保存され再起動後にも設定が反映されます。
設定されたパラメータをクリアするには、clearenvを使用します。
| Hermit-ATのモード |
---|
Hermit-ATには、2つのモードがあります。コマンドプロンプトを表示して対話的に動作する「対話モード」と、Hermit-ATダウンローダと通信するための「バッチモード」です。バッチモードではコマンドプロンプトの表示や入力した文字の表示を行いませんが、コマンドの実行は可能です。
起動直後のHermit-ATは必ず対話モードになっています。対話モードからバッチモードに移行するにはチルダ「~」を、バッチモードから対話モードに移行するにはエクスクラメーションマーク「!」を入力します。
Hermit-ATダウンローダと通信を行った場合は、バッチモードに移行します。これは通信を確立するためにHermit-ATダウンローダがチルダを送信するためです。
対話モードからバッチモードに移行したり、バッチモード中に入力したコマンドが成功した場合などは以下のように表示されます。
|
通常のLinuxシステムでは、起動ログの出力コンソールを変更する時に指定しますが、開発ボードでは、ブートローダのログ出力先も同時に変更します。
コンソールを指定するには、下記のようにconsoleパラメータにコンソール指定子を設定します。
設定によるログの出力先は、表5.2「コンソール指定に伴う出力先」のようになります。
表5.2 コンソール指定に伴う出力先
コンソール指定子 | 起動ログ出力先 | 保守モードプロンプト出力先 |
---|
ttymxc0 | CON6 | CON6 |
ttymxc1 | CON7 | CON7 |
null | なし | CON6 |
その他(tty1等) | 指定するコンソール[] | CON6 |
ルートファイルシステムとしてマウントするファイルシステムイメージの場所や、マウントするファイルシステム等を設定します。各パラメータの意味は以下を参照してください。
-
root
使用するルートファイルシステムのパーティションを指定します。
-
rootfs
使用するルートファイルシステムの種類をタイプします。
-
rootdelay
ルートファイルシステムをマウントする前のディレイ時間を指定します。単位は秒です。
5.2.2.1. ルートファイルシステムイメージの場所
ファイルシステムイメージの場所を設定する場合は、イメージが存在するパーティションを設定します。各デバイスのパーティションノードの例を、表5.3「ルートファイルシステムデバイス」に示します。指定がない場合(デフォルト)は、RAMディスク(/dev/ram0
)が指定されます。
表5.3 ルートファイルシステムデバイス
デバイス名 | デバイスノード | 先頭パーティションノード |
---|
RAMディスク | /dev/ram | /dev/ram0 |
コンパクトフラッシュディスク | /dev/hda | /dev/hda1 |
NANDディスク | /dev/mentryblock | /dev/mentryblock4 |
MMC/SDカードディスク | /dev/mmcblk0 | /dev/mmcblk0p1 |
特異なファイルシステムを使用する場合は、ファイルシステムタイプを指定します。主にJFFS2が使われている場合となります。指定がない場合は、ext2、ext3、msdos、vfatのいずれかでマウントされます[]。
Linuxカーネルは、指定するルートファイルシステムが存在するデバイスの認識が完了していなければ、ルートファイルシステムをマウントすることはできません。ドライバのロードタイミングやデバイスに依存する時間等、デバイスの認識時間は様々な要素で変動します。
ここで指定することができるマウント前ディレイは、ルートファイルシステムをマウントする前に、指定秒間待機するオプションとなります。指定がない場合(デフォルト)は、待機なしとなります。
本書で紹介したオプション以外にも様々なオプションがあります。詳しくは、Linuxの解説書や、Linuxカーネルのソースコードに含まれるドキュメント(kernel-source/Documentation/kernel-parameters.txt
)等を参照してください。
また、ビデオに関するオプションは9章ストレージを参照してください。
setbootdeviceコマンドを使用する事で、ブートローダーがロードするカーネルイメージのロケーションを指定することができます。
開発ボードでは、表5.4「カーネルイメージのロケーション」に示すデバイスを指定できます。
表5.4 カーネルイメージのロケーション
指定子 | 説明 |
---|
flash | フラッシュメモリのkernelリージョンにあるイメージをロードします。 |
hda | コンパクトフラッシュの各パーティションの/boot 以下にあるイメージファイル[]を順番に走査し、最初に見つけたイメージをロードします[]。 |
hda[1:4] | コンパクトフラッシュの指定するパーティションの/boot 以下にあるイメージファイル[]を走査し、見つけたイメージをロードします[]。 |
以下の例では、カーネルイメージのロケーションをフラッシュメモリに設定しています。