if part uuid ${devtype} ${devnum}:${distro_bootpart} bootuuid; then if test "${bootfstype}" = "btrfs"; then # BTRFS: root and boot share the same partition via subvolumes rootdev="PARTUUID=${bootuuid}" rootfstype="btrfs" rootflags="commit=5,subvol=@" bootpath="/@/boot" else # ext4 or squashfs: boot on p1, root on p2 rootdev="/dev/mmcblk0p2" rootfstype="auto" rootflags="" bootpath="" fi load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${bootpath}/armada-3720-turris-mox.dtb if test "$filesize" != "0"; then setenv has_dtb 1 else setenv has_dtb 0 echo "Cannot find device tree binary: ${bootpath}/armada-3720-turris-mox.dtb" fi if test $has_dtb -eq 1; then load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${bootpath}/Image if test "$filesize" = "0"; then echo "Failed to load ${bootpath}/Image" echo "Now trying ${bootpath}/Image.lzma" tmp_addr_r=0x10000000 load ${devtype} ${devnum}:${distro_bootpart} ${tmp_addr_r} ${bootpath}/Image.lzma if test "$filesize" != "0"; then if lzmadec ${tmp_addr_r} ${kernel_addr_r}; then echo "Successfully decompressed Image.lzma" else echo "Failed decompressing Image.lzma" filesize=0 fi else echo "Failed to load ${bootpath}/Image.lzma" fi fi if test "$filesize" != "0"; then setenv bootargs "earlyprintk console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000 rootfstype=${rootfstype} root=${rootdev} rootflags=${rootflags} rootwait ${contract} rw cfg80211.freg=${regdomain} ${quirks}" booti ${kernel_addr_r} - ${fdt_addr_r} echo "Booting Image failed" else echo "Cannot load kernel binary" fi fi env delete bootuuid fi