From: Alice Guo <alice....@nxp.com> Distro Boot requires a U-Boot-specific script named boot.scr or boot.scr.uimg which contains boot commands to boot the system. The boot.cmd is such a file. Use mkimage to generate boot.scr or boot.scr.uimg from boot.cmd, and the command is: mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Distro Boot Script" -d boot.cmd boot.scr.uimg
The boot.cmd file is an example script and can be modified based on needs. bootargs is set in this script and root uses the default value "/dev/mmcblk1p2 rootwait rw" which can be changed by overriding mmcroot. On the iMX8MQ platform I used, "mmc0" represents eMMC and "mmc1" represents SD card. Signed-off-by: Alice Guo <alice....@nxp.com> --- board/freescale/imx8mq_evk/boot.cmd | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 board/freescale/imx8mq_evk/boot.cmd diff --git a/board/freescale/imx8mq_evk/boot.cmd b/board/freescale/imx8mq_evk/boot.cmd new file mode 100644 index 0000000000..964993e144 --- /dev/null +++ b/board/freescale/imx8mq_evk/boot.cmd @@ -0,0 +1,35 @@ +setenv bootargs console=${console} root=${mmcroot}; + +for boot_target in ${boot_targets}; +do + if test "${boot_target}" = "mmc0" ; then + if fatload mmc 0:${mmcpart} ${kernel_addr_r} ${image}; then + if fatload mmc 0:${mmcpart} ${fdt_addr} ${fdt_file}; then + echo Load image and .dtb from eMMC(mmc0); + booti ${kernel_addr_r} - ${fdt_addr}; + exit; + fi + fi + fi + + if test "${boot_target}" = "mmc1" ; then + if fatload mmc 1:${mmcpart} ${kernel_addr_r} ${image}; then + if fatload mmc 1:${mmcpart} ${fdt_addr} ${fdt_file}; then + echo Load image and .dtb from SD card(mmc1); + booti ${kernel_addr_r} - ${fdt_addr}; + exit; + fi + fi + fi + + if test "${boot_target}" = "dhcp" ; then + if dhcp ${kernel_addr_r} ${serverip}:${image}; then + if dhcp ${fdt_addr} ${serverip}:${fdt_file}; then + echo Load image and .dtb from net(dhcp); + booti ${kernel_addr_r} - ${fdt_addr}; + exit; + fi + fi + fi + +done -- 2.17.1