/* DRAM1 + 0x2000_0000 */ load_addr=0xa0000000 /* DRAM1 + 0x0800_0000 */ initrd_addr_r=0x88000000 bootcmd= virtio scan; if virtio info; then blk_dev=virtio; else; blk_dev=mmc; fi; echo block device is ${blk_dev}; if test -n "${fdt_addr_r}"; then echo "Custom FDT at ${fdt_addr_r}"; else; setenv fdt_addr_r ${fdtcontroladdr}; echo "FDT address is now set to ${fdt_addr_r}"; fi; if part number ${blk_dev} 0 vbmeta is_avb; then echo '${blk_dev} with vbmeta partition detected.'; echo 'Starting Android Verified boot...'; avb init ${blk_dev} 0; if avb verify; then set bootargs $bootargs $avb_bootargs; part start ${blk_dev} 0 boot boot_start; part size ${blk_dev} 0 boot boot_size; ${blk_dev} read ${load_addr} ${boot_start} ${boot_size}; bootm ${load_addr} ${load_addr} ${fdt_addr_r}; else; echo 'AVB verification failed.'; exit; fi; elif part number ${blk_dev} 0 system is_non_avb_android; then echo 'Booting Android non-AVB...'; booti ${kernel_addr_r} ${initrd_addr_r} ${fdt_addr_r}; elif iminfo ${load_addr}; then echo 'Booting FIT image...'; bootm ${load_addr} ${load_addr} ${fdt_addr_r}; else; echo 'Booting Debian...'; set bootargs $bootargs root=/dev/mmcblk0p1 rw; booti ${kernel_addr_r} - ${fdt_addr_r}; fi; echo 'ERROR: No valid image to boot the system. Aborting boot sequence.';