1702549_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1702549_ja-JP

1702549_ja-JP

SDカードミラー用のu-boot環境プリセット

場合によっては、大量生産やデモの準備を行うことがあります。

デモSDカードのミラーイメージに保存されたu-boot環境が必要です。

こちらがその方法です。

HW:  i.MX8MP evk

SW: LF_v5.15.52-2.1.0_images_IMX8MPEVK.zip

考えとしては、fw_setenvを使用して、sdcardミラーを実際のemmc/sdカードでの操作として設定するやり方です。
テスト目的で、u-boot-initial-envにtest=ABCDを追加します。
fw_printenvを使用して確認し、hexdumpを使用して再確認します。
uboot envはすでにsdカードミラー(imx-image-multimedia-imx8mpevk.wic)に書き込まれています。
これらの操作はすべてホスト・パソコン、x86/x64上で行われます。

 ./fw_setenv -c fw_env.config -f u-boot-initial-env
Environment WRONG, copy 0
Cannot read environment, using default

 ./fw_printenv -c fw_env.config
Environment OK, copy 0
 jh_root_dtb=imx8mp-evk-root.dtb
 loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bsp_script};
 mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
arch=arm
baudrate=115200
......
......
......
splashimage=0x50000000
test=ABCD
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
vendor=freescale

 
hexdump -s 0x400000 -n 2000 -C imx-image-multimedia-imx8mpevk.wic
            
00400000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

hexdump -s 0x400000 -n 10000 -C imx-image-multimedia-imx8mpevk.wic
00400000  5f a4 9b 97 20 6a 68 5f  72 6f 6f 74 5f 64 74 62  |_... jh_root_dtb|
00400010  3d 69 6d 78 38 6d 70 2d  65 76 6b 2d 72 6f 6f 74  |=imx8mp-evk-root|
00400020  2e 64 74 62 00 20 6c 6f  61 64 62 6f 6f 74 73 63  |.dtb. loadbootsc|
00400030  72 69 70 74 3d 66 61 74  6c 6f 61 64 20 6d 6d 63  |ript=fatload mmc|
00400040  20 24 7b 6d 6d 63 64 65  76 7d 3a 24 7b 6d 6d 63  | ${mmcdev}:${mmc|
00400050  70 61 72 74 7d 20 24 7b  6c 6f 61 64 61 64 64 72  |part} ${loadaddr|
00400060  7d 20 24 7b 62 73 70 5f  73 63 72 69 70 74 7d 3b  |} ${bsp_script};|
00400070  00 20 6d 6d 63 5f 62 6f  6f 74 3d 69 66 20 6d 6d  |. mmc_boot=if mm|
......
......
......
00401390  76 3d 31 00 73 6f 63 3d  69 6d 78 38 6d 00 73 70  |v=1.soc=imx8m.sp|
004013a0  6c 61 73 68 69 6d 61 67  65 3d 30 78 35 30 30 30  |lashimage=0x5000|
004013b0  30 30 30 30 00 74 65 73  74 3d 41 42 43 44 00 75  |0000.test=ABCD.u|
004013c0  73 62 5f 62 6f 6f 74 3d  75 73 62 20 73 74 61 72  |sb_boot=usb star|
004013d0  74 3b 20 69 66 20 75 73  62 20 64 65 76 20 24 7b  |t; if usb dev ${|
004013e0  64 65 76 6e 75 6d 7d 3b  20 74 68 65 6e 20 64 65  |devnum}; then de|

確認のため、SDカードミラーをi.MX8MP evkボードのemmcにフラッシュします

uuu -b emmc_all imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk  imx-image-multimedia-imx8mpevk.wic

 初回起動時、環境はすでに整っています。

Untitled.png

 その状態を達成する方法は次のとおりです。

a. fw_setenv/fw_printenv:

https://github.com/sbabic/libubootenv.git

注:uboot fw_setenv/fw_printenvは使用しないでください。

ホストであるx86/x64 PCでコンパイルしてください。これはホストで使用されます。

b. u-boot-initial-env

ubootの下でu-boot-initial-envを作成します

注:Yocto はデフォルトで u-boot-initial-env をデプロイします

c. fw_env.config 

imx-image-multimedia-imx8mpevk.wic 0x400000 0x4000

0x400000 0x4000は、uboot-imx\configs\imx8mp_evk_defconfigからのものです

CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x400000

これで実行できます 

./fw_setenv -c fw_env.config -f u-boot-initial-env
i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlusi.MX 8M | i.MX 8M Mini | i.MX 8M Nanoi.MX6 全てi.MX6DLi.MX6Duali.MX6DualPlus | 6QuadPlusi.MX6Quadi.MX6Si.MX6SLi.MX6SoloXi.MX6ULi.MX7Duali.MX7Soloi.MX7ULPi.MX8ULPLinux
Tags (1)
No ratings
Version history
Last update:
‎01-04-2026 11:10 PM
Updated by: