====== ブートローダーでの操作 ======
一般的に使われることの多い U-Boot(([[http://www.denx.de/wiki/U-Boot]])) ではなく、
MA-E3xxでは Barebox(([[http://barebox.org/]])) を採用しており操作方法がかなり異なるため、\\
主に便利になっている点について説明します。
===== メニューの利用 =====
{{:mae3xx_ope:bootloader_operation:putty_menu_00.png|}}
DIPSW設定を "bootloader menu" (参照: [[mae3xx_ope:boot_select:start]]) で起動するか、\\
自動起動を停止させた後で"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) ====
{{:mae3xx_ope:bootloader_operation:putty_menu_01.png|}}
=== 1: Network settings ===
EthernetのMACアドレス設定などの編集を行うエントリです。\\
MA-E3xxではEEPROMに保持している内容を使用するため、編集を行う必要はありません。
=== 2: Config settings ===
基本的な設定をカスタマイズするエントリです。
下記項目を準備してあります。
^ 項目 ^ 内容 ^ 設定可能な値 ^ デフォルト値 |
|global.autoboot_timeout|bootloaderの自動起動タイムアウト時間(秒) | 0以上| 2|
|manual_mtd|NAND Flashの自動構成を行わない| 0,1| 0|
|firmware_pages|ファームウェアの面数| 1,2| 2|
|overlay|オーバーレイ領域に利用するメディアの固定| tmpfs,mmc| 自動選択|
|overlay_driver|オーバーレイ領域に利用するファイルシステム| aufs,overlayfs| aufs|
|console_internal|Kernelのconsoleを外部に出力しない((シリアルポートを2ポート使いたい場合に 1 を設定します))| 0,1| 0|
下のようなエディタが起動します。
{{:mae3xx_ope:bootloader_operation:putty_menu_02.png|}}
コピー・ペーストなど、高度な機能はありません。\\
編集が終了したら Ctrl-d で保存して終了、Ctrl-c で変更を破棄して終了となります。\\
編集内容を保存する場合、"5: Save settings" を実行します。
{{:mae3xx_ope:bootloader_operation:putty_menu_03.png|}}
\\
===== 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引数として渡されます。
{{:mae3xx_ope:bootloader_operation:bootloader_shell_00.png|}}
\\
"bootm" コマンドで、
* Kernel Image (uImage)
* DeviceTree blob
を指定して起動させます。
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 specify an initrd image
-L specify initrd load address
-a specify os load address
-e entry point to the image relative to start (0)
-o specify oftree
-v verbose
上の例では、本体フラッシュメモリに格納されたKernelとDeviceTree blobを使用して起動していますが、\\
SDカード上に置いてあるものを使うこともできます。
\\
Debian (Jessie) が起動しました。
{{:mae3xx_ope:bootloader_operation:bootloader_shell_01.png|}}