blob: 7c07204fd874ecbf00ec5dbf33a6692850d5012f [file] [log] [blame]
fdt_addr=0x43000000
image=Image
script=boot.scr
mmc_root="PARTUUID=70672ec3-5eee-49ff-b3b1-eb1fbd406bf5"
sd_root="/dev/mmcblk1p2"
# Check boot device to decide which root partition to use
if test ${bootdev} = 1; then
setenv root ${sd_root}
else
setenv root ${mmc_root}
fi
setenv fdt_file fsl-imx8mm-columbia.dtb
cmdline="console=ttymxc1,115200 console=tty0 earlycon=ec_imx6q,0x30890000,115200 root=${root} rootfstype=ext4 rw rootwait init=/sbin/init net.ifnames=0 pci=pcie_bus_perf"
ext2load mmc ${bootdev}:1 ${loadaddr} ${image}
setenv bootargs ${cmdline} ${extra_bootargs}
# Load base device tree.
ext2load mmc ${bootdev}:1 ${fdt_addr} ${fdt_file}
fdt addr ${fdt_addr}
fdt resize
# Load overlays to arbitrary address beyond fdt location (will apply them later).
setexpr fdtovaddr ${fdt_addr} + F000
# Parse overlays.txt and apply individual overlays.
if ext2load mmc ${bootdev}:1 ${fdtovaddr} overlays.txt && env import -t ${fdtovaddr} ${filesize} && test -n ${overlay}; then
echo loaded overlay.txt: ${overlay}
for ov in ${overlay}; do
if ext2load mmc ${bootdev}:1 ${fdtovaddr} ${ov}.dtbo && fdt apply ${fdtovaddr}; then
echo overlay of ${ov} successful
else
echo overlay failed, reverting to original device tree
ext2load mmc ${bootdev}:1 ${fdt_addr} ${fdt_file}
booti ${loadaddr} - ${fdt_addr}
fi
done
fi
booti ${loadaddr} - ${fdt_addr}