at_kazutaka.bito
2019年7月1日 10時13分
Armadillo-640 製品マニュアル
SDブートの活用
の手順では、
14.4. SDブートの実行
のとおり、最初の起動時にU-bootの環境変数をコンソールから設定する必要があります。
ここでは、SDブート起動用の環境変数設定済みのU-bootを作成します。
ここでの手順で作成したU-bootを、SDカードのブートディスクのU-bootにすることで、
最初の起動時にU-bootの環境変数をコンソールから設定する必要がなくなります。
U-bootのソースコード
u-boot-a600-v2018.03-at[version]/include/configs/armadillo-640.h
の下記の箇所
#define CONFIG_BOOTCOMMAND \ "run setup_mmcargs; ext4load mmc 0:2 ${loadaddr} /boot/uImage; ext4load mmc 0:2 0x83000000 /boot/a640.dtb; bootm ${loadaddr} - 0x83000000;" #define CONFIG_EXTRA_ENV_SETTINGS \ "setup_mmcargs=setenv bootargs root=/dev/mmcblk0p2 rootwait ${optargs};\0"\
を
#define CONFIG_BOOTCOMMAND \ "run setup_mmcargs; ext4load mmc 1:2 ${loadaddr} /boot/uImage; ext4load mmc 1:2 0x83000000 /boot/a640.dtb; bootm ${loadaddr} - 0x83000000;" #define CONFIG_EXTRA_ENV_SETTINGS \ "setup_mmcargs=setenv bootargs root=/dev/mmcblk1p2 rootwait ${optargs};\0"\
に変更して、ビルドします。
上記で生成されたU-bootをSDカードのブートディスクのU-bootすることで、
最初の起動時の環境設定無しで、SDカードから起動できます。