Orange Pi R1 のSPIフラッシュにOSを入れてルーターにする

メニュー

boot.scr

U-Bootが処理するスクリプトです。
ファイル名は別のものにすることもできますが、標準では第1パーティション(FATかextX)の /boot.scr か /boot/boot.scr がロードされるようになっています。

$ mkimage -A arm -O linux -T script -d boot.cmd boot.scr
この例ではカレントディレクトリのboot.cmdをboot.scrに変換します。
mkimage コマンドは Arch Linux では uboot-tools パッケージに入っています。

boot.cmd
setenv mtdparts spi0.0:512k(U-Boot),64k(boot.scr),5M(zImage),64k(dtb),7M(ro),-(rw)
if load mmc 0:1 ${fdt_addr_r} /${fdtfile};then
  load mmc 0:1 ${kernel_addr_r} /zImage
  setenv bootargs mtdparts=${mtdparts} root=/dev/mmcblk0p2 init=/init.sh console=ttyS0,115200
  bootz ${kernel_addr_r} - ${fdt_addr_r}
fi
setenv bootargs mtdparts=${mtdparts} root=/dev/mtdblock4 init=/init.sh console=ttyS0,115200
mtd read nor0 ${kernel_addr_r} 0x90000 0x500000
mtd read nor0 ${fdt_addr_r} 0x590000 0x10000
bootz ${kernel_addr_r} - ${fdt_addr_r}
MTD(SPIフラッシュ)とSDに両対応させたスクリプトです。
シェルスクリプト的なものですが、U-Bootのコマンドが利用できます。

MTDブートについてはSPIフラッシュを参照してください。
[編集]   [AD]
rentafree.net