ユーザ用ツール

サイト用ツール


spreadrouter_ope:bootloader_operation:start

ブートローダーでの操作

SpreadRouterのブートローダーは Barebox1) を採用います。
ブートローダーの主な機能について説明します。

メニューの利用

DIPSW設定を “bootloader menu” (参照: boot_select) で起動するか、
自動起動を停止させた後で“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アドレス設定などの編集を行うエントリです。\\
SpreadRouterでは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を外部に出力しない2) 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” コマンドで、

  • 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 <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) が起動しました。

本機能を導入する際は、WebUIサービスを停止した状態で運用してください。
各種カスタマイズとWebUIの同時運用は推奨しません。十分評価を行った上でご使用ください

2)
シリアルポートを2ポート使いたい場合に 1 を設定します
spreadrouter_ope/bootloader_operation/start.txt · 最終更新: 2023/09/19 17:08 by 127.0.0.1

ページ用ツール