目次

ブートローダーでの操作

一般的に使われることの多い U-Boot1) ではなく、 MA-E3xxでは Barebox2) を採用しており操作方法がかなり異なるため、
主に便利になっている点について説明します。

メニューの利用

DIPSW設定を “bootloader menu” (参照: ブートデバイスの選択およびコンソールの切替 (DIPSW 設定)) で起動するか、
自動起動を停止させた後で“exit” と入力することでメニュー画面へと遷移します。

1: Boot: Nand Flash (UBI)

NAND Flashをrootfsとして起動します。
DIPSW設定を “NAND Flash(切り戻し有)” にした時と同じ動作となります。

2: Boot: NFS root (Kernel, dtb on Flash)

NAND FlashのKernelを使用して、NFS rootで起動します。

3: Boot: rootfs on USB storage

USBに挿入したストレージデバイスをrootfsとして起動します。
DIPSW設定を “USB (/dev/sda1)” にした時と同じ動作となります。

4: Settings

bootloaderの各種設定ファイルの編集メニューへ遷移します。
詳細については後述します。

5: Shell

bootloaderのプロンプトへ戻ります。

6: Reset

リセットを行います。

各種設定ファイルの編集 (4: Setting)

1: Network settings

EthernetのMACアドレス設定などの編集を行うエントリです。
MA-E3xxではEEPROMに保持している内容を使用するため、編集を行う必要はありません。

2: Config settings

基本的な設定をカスタマイズするエントリです。 下記項目を準備してあります。

項目 内容 設定可能な値 デフォルト値
global.autoboot_timeoutbootloaderの自動起動タイムアウト時間(秒) 0以上 2
manual_mtdNAND Flashの自動構成を行わない 0,1 0
firmware_pagesファームウェアの面数 1,2 2
overlayオーバーレイ領域に利用するメディアの固定 tmpfs,mmc 自動選択
overlay_driverオーバーレイ領域に利用するファイルシステム aufs,overlayfs aufs
console_internalKernelのconsoleを外部に出力しない3) 0,1 0

下のようなエディタが起動します。

コピー・ペーストなど、高度な機能はありません。
編集が終了したら Ctrl-D で保存して終了、Ctrl-C で変更を破棄して終了となります。

編集内容を保存する場合、“5: Save settings” を実行します。


shellの利用

shellでは、ファームウェアの更新や、Linuxの起動パラメータをマニュアル設定しての起動などが可能です。
例として、SDカードに導入したDebian/GNU Linuxをroot filesystemとして起動してみます。

ブートローダのshellで、以下のように入力します。

barebox@plum-ma[1GiB]:/ global.linux.bootargs.dyn.root="root=/dev/mmcblk0p1 rootfstype=ext4 rootwait"
barebox@plum-ma[1GiB]:/ bootm /dev/ubi0.kernel.0 -o /dev/spi.dtb.0

“global.linux.bootargs.dyn._xxx_” の形式で設定した環境変数が、全て結合されてKernel command line引数として渡されます。


“bootm” コマンドで、

を指定して起動させます。

bootmの書式は下記のとおりです。

barebox@plum-ma[1GiB]:/ help bootm
Usage: bootm [OPTIONS] image
Boot an application image.
-c      crc check uImage data
-d      dryrun. Check data, but do not run
-r <initrd>     specify an initrd image
-L <load addr>  specify initrd load address
-a <load addr>  specify os load address
-e <ofs>        entry point to the image relative to start (0)
-o <oftree>     specify oftree
-v      verbose

上の例では、本体フラッシュメモリに格納されたKernelとDeviceTree blobを使用して起動していますが、
SDカード上に置いてあるものを使うこともできます。


Debian (Jessie) が起動しました。

3)
シリアルポートを2ポート使いたい場合に 1 を設定します