第10章 ブートローダー仕様

本章では、ブートローダーの起動モードや利用することができる機能について説明します。

10.1. ブートローダー起動モード

ブートローダーが起動すると、ジャンパピン JP2の状態により、2つのモードのどちらかに遷移します。ジャンパピンの設定の詳細については、「ジャンパピンの設定について」を参照してください。

表10.1 ブートローダー起動モード

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

10.1.1. Linuxでコンソールを使用する

Armadillo-Box WS1を保守モードで起動し、bootコマンドを実行してください。

hermit> boot

図10.1 bootコマンドでLinuxを起動する


10.2. ブートローダーの機能

Hermit-Atの保守モードでは、Linuxカーネルの起動オプションの設定やフラッシュメモリの書き換えなどを行うことできます。

保守モードで利用できるコマンドを、表10.2「保守モードコマンド一覧」に示します。

表10.2 保守モードコマンド一覧

コマンド説明

tftpdl

erase

program

download

フラッシュメモリを書き換える場合に使用します
memmapフラッシュメモリのメモリマップを表示します

setbootdevice

setenv

clearenv

OSの起動設定をする場合に使用します

boot

tftpboot

OSを起動する場合に使用します
macMACアドレスを表示します
frob簡易的にメモリアクセスする場合に使用します
md5sumメモリ空間のMD5サム値を表示する場合に使用します
infoハードウェアの情報を表示します
versionブートローダーのバージョンを表示します

各コマンドのヘルプを表示するには図10.2「hermitコマンドのヘルプを表示」のようにします。

hermit> help [コマンド]

図10.2 hermitコマンドのヘルプを表示


10.2.1. コンソールの指定方法

ブートローダーおよびLinuxカーネルのコンソールを指定するには、後述するLinuxカーネル起動オプションを設定する場合のsetenvコマンドで行います。Linuxカーネル起動オプションのconsoleパラメータは、ブートローダーのコンソールにも影響する仕組みとなっています。

コンソール指定子とそれに対応するログ表示先/保守モードプロンプト出力先を表10.3「コンソール指定子とログ出力先」に示します。

表10.3 コンソール指定子とログ出力先

コンソール指定子ログ出力先[a]
ttymxc1デバッグシリアルインターフェース
noneなし

[a] ブートローダーの再起動後に反映されます


10.2.2. Linuxカーネルイメージの指定方法

ブートローダーがOSを起動させる場合、フラッシュメモリに書き込まれたLinuxカーネルイメージか、microSDカードに保存されているイメージファイルを指定することができます。

Linuxカーネルイメージを指定するには、"setbootdevice"コマンドを使用します。表10.4「Linuxカーネルイメージ指定子」に示す指定子を設定することができます。

表10.4 Linuxカーネルイメージ指定子

指定子Linuxカーネルイメージの配置場所
flashフラッシュメモリのkernelパーティションに書き込まれたイメージ
mmcblk0p1

microSDカードのパーティション1に保存されている/boot/linux.bin.gzファイル

"p1"はパーティションを示しており、"p2"とするとパーティション2のファイルを指定可能


10.2.3. Linuxカーネル起動オプションの指定方法

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

ここではArmadillo-Box WS1で使用することができる、代表的な起動オプションを表10.5「Linuxカーネルの起動オプションの一例」に紹介します。

表10.5 Linuxカーネルの起動オプションの一例

オプション指定子説明
console=

起動ログなどが出力されるイニシャルコンソールを指定します。

次の例では、コンソールにttymxc1を、ボーレートに115200を指定しています。

console=ttymxc1,115200
root=

ルートファイルシステムが構築されているデバイスを指定します。

デバイスにはLinuxカーネルが認識した場合のデバイスを指定します。

initrdをルートファイルシステムとする場合には、以下の例のように設定します。

root=/dev/ram0

SDカードにルートファイルシステムを配置する場合には、SDカードのデバイスファイルを指定します。次の例では、デバイスにmicroSDカードの第2パーティションを指定しています。

root=/dev/mmcblk0p2
rootwait

"root="で指定したデバイスが利用可能になるまでルートファイルシステムのマウントを遅らせます。

noinitrd

initrdを利用しないことを明示します。

mem

Linuxカーネルが利用可能なメモリの量を指定します。RAMの一部を専用メモリとして利用したい場合などに設定します。