====== ブートローダーでの操作 ====== 一般的に使われることの多い 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|}}