本章では、ブートローダーの起動モードや利用することができる機能について説明します。
ブートローダーが起動すると、USBシリアル変換アダプタのスライドスイッチの状態により、2つのモードのどちらかに遷移します。USBシリアル変換アダプタのスライドスイッチの詳細については、「スライドスイッチの設定について」を参照してください。
表9.1 ブートローダー起動モード
起動モードの種別 | スライドスイッチ | 説明 |
---|
保守モード | 外側 | 各種設定が可能なU-Bootコマンドプロンプトが起動します。 |
オートブートモード | 内側 | 電源投入後、自動的にLinuxカーネルを起動させます。 |
USBシリアル変換アダプタが未接続の場合オートブートモードとなり、Linuxカーネルが起動します。
U-Bootの保守モードでは、Linuxカーネルの起動オプションの設定などを行うことできます。
保守モードで利用できる有用なコマンドは、表9.2「保守モード 有用なコマンド一覧」に示します。
表9.2 保守モード 有用なコマンド一覧
コマンド | 説明 |
---|
boot | OSを起動する場合に使用します |
bdinfo | ハードウェアの情報を表示します |
md mm nm mw cp cmp | 簡易的にメモリアクセスする場合に使用します |
printenv setenv saveenv | 環境変数の設定をする場合に使用します、環境変数にてOSの起動設定等をおこなうことができます |
crc32 | メモリ空間のチェックサムを表示する場合に使用します |
version | ブートローダーのバージョンを表示します |
各コマンドのヘルプを表示するには図9.1「U-Bootコマンドのヘルプを表示」のようにします。
9.2.1. Linuxカーネルイメージとdevice tree blobの指定方法
ブートローダーが OS を起動させる場合、eMMCまたは、SD カード内に保存されているLinuxカーネルイメージとdevice tree blobを使用することができます。
ファイルを保存しているデバイスを指定するには、環境変数 "mmcdev" を、パーティション番号を指定するには 環境変数 "mmcpart" を使用します。
Linuxカーネルイメージはファイル名 "uImage" で保存されたものを使用します。device tree blobはファイル名 "armadillo_iotg_g3_m1.dtb" で保存されたものを使用します。
"mmcdev" で設定可能な値と、起動デバイスの関係を 表9.3「mmcdev の設定値と起動デバイス」 に示します。
表9.3 mmcdev の設定値と起動デバイス
設定値 | 起動デバイス |
---|
0 | SDカード(CON4に接続) |
1 | eMMC |
eMMCのパーティション1を指定する場合、図9.2「eMMCのパーティション1に保存されたLinuxカーネルイメージから起動する」のようにします。
環境変数は"saveenv"コマンドにて保存することができます。保存を行わずに、Armadillo-IoTの電源を切るとsetenvで設定した環境変数は消えてしまいます。
全ての環境変数をデフォルト値に戻すには、図9.4「全ての環境変数をデフォルト値に戻す」のようにします。
9.2.4.1. 代表的なLinuxカーネル起動オプション
Linuxカーネルには様々な起動オプションがあります。詳しくは、Linuxの解説書や、Linuxカーネルのソースコードに含まれているドキュメント(Documentation/kernel-parameters.txt)を参照してください。
ここではArmadillo-IoTで使用することができる、代表的な起動オプションを表9.4「Linuxカーネルの起動オプションの一例」に紹介します。
表9.4 Linuxカーネルの起動オプションの一例
オプション指定子 | 説明 |
---|
console= |
起動ログなどが出力されるイニシャルコンソールを指定します。
次の例では、コンソールにttymxc1を、ボーレートに115200を指定しています。
|
root= |
ルートファイルシステムが構築されているデバイスを指定します。
デバイスにはLinuxカーネルが認識した場合のデバイスを指定します。
initrdをルートファイルシステムとする場合には、以下の例のように設定します。
SDカードにルートファイルシステムを配置する場合には、SDカードのデバイスファイルを指定します。次の例では、デバイスにmicroSDカードの第2パーティションを指定しています。
|
rootwait |
"root="で指定したデバイスが利用可能になるまでルートファイルシステムのマウントを遅らせます。
|
mem |
Linuxカーネルが利用可能なメモリの量を指定します。RAMの一部を専用メモリとして利用したい場合などに設定します。
|
9.2.4.2. Linuxカーネル起動オプションの設定方法
Linuxカーネル起動オプションは環境変数 "mmcargs" で指定することができます。
"mmcargs" のデフォルト値は次に示す値に設定されています。
デフォルトでは、コンソールには環境変数 "console"が、コンソールのボーレートには環境変数 "baudrate"が、ルートファイルシステムには、環境変数 "mmcroot"が設定されています。
Linuxカーネル起動オプションの追加をしたい場合、環境変数 "optargs"を使用すると便利です。
次に、例として、Linuxカーネルが利用可能なメモリの量を384Mに設定する方法を図9.5「利用可能なメモリ量を384Mにする」に示します。