uEnv.txt 对比 boot.scr
uEnv.txt vs boot.scr
我对这两个引导配置文件很困惑。他们似乎在做同样的事情,我不明白为什么我需要 or 。
如果我使用uEnv.txt
,我设置为
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
aload_script=fatload mmc 0 0x43000000 script.bin;
aload_kernle=fatload mmc 0 0x48000000 uImage; bootm 0x43000000 - 0x48000000;
uenvcmd=setenv run aload_script aload_kernel
或者,我可以创建 boot.cmd
:
setenv bootargs console=console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
fatload mmc 0 0x43000000 script.bin
fatload mmc 0 0x48000000 uImage
bootm 0x48000000
而且他们都工作......
它非常依赖于平台。要查看是什么在控制引导过程,请在内核引导开始之前进入 u-boot 提示符(点击串行端口)。那么
printenv
将显示环境。这是环境的摘录 from sunxi/u-boot,其中的命令依次尝试不同的 fatload 源,直到一个有效
bootscr=boot.scr
bootenv=uEnv.txt
loadbootscr=fatload mmc 0 ${scriptaddr} ${bootscr} || ext2load mmc 0 ${scriptaddr} ${bootscr} || ext2load mmc 0 ${scriptaddr} boot/${bootscr}
loadbootenv=fatload mmc 0 ${scriptaddr} ${bootenv} || ext2load mmc 0 ${scriptaddr} ${bootenv} || ext2load mmc 0 ${scriptaddr} boot/${bootenv}
boot_mmc=fatload mmc 0 0x43000000 script.bin && fatload mmc 0 0x48000000 ${kernel} && watchdog 0 && bootm 0x48000000
bootcmd=if run loadbootenv; then \
echo Loaded environment from ${bootenv}; \
env import -t ${scriptaddr} ${filesize}; \
...更多选项如下
每个平台 U-Boot 源中都硬编码了默认环境。
嗯,他们确实有不同的角色:
- uEnv.txt 允许在 运行 bootcmd
之前预设 U-Boot 环境变量值
- boot.scr 允许 运行 U-Boot 脚本文件,在 运行 bootcmd
之前
很明显,您可以在脚本文件中设置环境值,在某种程度上功能重叠。
但是如果您只想设置一些环境值(例如板 ID),那么使用 uEnv.txt 是最简单的方法。
我对这两个引导配置文件很困惑。他们似乎在做同样的事情,我不明白为什么我需要 or 。
如果我使用uEnv.txt
,我设置为
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
aload_script=fatload mmc 0 0x43000000 script.bin;
aload_kernle=fatload mmc 0 0x48000000 uImage; bootm 0x43000000 - 0x48000000;
uenvcmd=setenv run aload_script aload_kernel
或者,我可以创建 boot.cmd
:
setenv bootargs console=console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
fatload mmc 0 0x43000000 script.bin
fatload mmc 0 0x48000000 uImage
bootm 0x48000000
而且他们都工作......
它非常依赖于平台。要查看是什么在控制引导过程,请在内核引导开始之前进入 u-boot 提示符(点击串行端口)。那么
printenv
将显示环境。这是环境的摘录 from sunxi/u-boot,其中的命令依次尝试不同的 fatload 源,直到一个有效
bootscr=boot.scr
bootenv=uEnv.txt
loadbootscr=fatload mmc 0 ${scriptaddr} ${bootscr} || ext2load mmc 0 ${scriptaddr} ${bootscr} || ext2load mmc 0 ${scriptaddr} boot/${bootscr}
loadbootenv=fatload mmc 0 ${scriptaddr} ${bootenv} || ext2load mmc 0 ${scriptaddr} ${bootenv} || ext2load mmc 0 ${scriptaddr} boot/${bootenv}
boot_mmc=fatload mmc 0 0x43000000 script.bin && fatload mmc 0 0x48000000 ${kernel} && watchdog 0 && bootm 0x48000000
bootcmd=if run loadbootenv; then \
echo Loaded environment from ${bootenv}; \
env import -t ${scriptaddr} ${filesize}; \
...更多选项如下
每个平台 U-Boot 源中都硬编码了默认环境。
嗯,他们确实有不同的角色:
- uEnv.txt 允许在 运行 bootcmd 之前预设 U-Boot 环境变量值
- boot.scr 允许 运行 U-Boot 脚本文件,在 运行 bootcmd 之前
很明显,您可以在脚本文件中设置环境值,在某种程度上功能重叠。
但是如果您只想设置一些环境值(例如板 ID),那么使用 uEnv.txt 是最简单的方法。