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

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

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

ブートローダーが起動すると、USBシリアル変換アダプタのスライドスイッチの状態により、2つのモードのどちらかに遷移します。USBシリアル変換アダプタのスライドスイッチの詳細については、「スライドスイッチの設定について」を参照してください。

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

起動モードの種別スライドスイッチ説明
保守モード外側各種設定が可能なHermit-Atコマンドプロンプトが起動します。
オートブートモード内側電源投入後、自動的にLinuxカーネルを起動させます。この場合、コンソールが使用できません。

USBシリアル変換アダプタが未接続の場合オートブートモードとなり、Linuxカーネルが起動します。

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

オートブートモードで起動するとコンソールが使用できません。Linuxでコンソールを使用するには、保守モードで起動してから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デバッグシリアルインターフェース(ベースボード:CON9)デバッグシリアルインターフェース(ベースボード:CON9)
noneなしデバッグシリアルインターフェース(ベースボード:CON9)
その他(ttymxc0等)指定するコンソール[b]アドオンインターフェース(ベースボード:CON1 or ベースボード:CON2)

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

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


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

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

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

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

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

microSDカード(Armadillo-410:CON1に接続)のパーティション1に保存されている/boot/linux.bin.gzファイル

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

mmcblk1p1

SDカード(ベースボード:CON4に接続)のパーティション1に保存されている/boot/linux.bin.gzファイル

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


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

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

ここではArmadillo-IoTで使用することができる、代表的な起動オプションを表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の一部を専用メモリとして利用したい場合などに設定します。