|
|
@@ -0,0 +1,50 @@
|
|
|
+if part uuid ${devtype} ${devnum}:${distro_bootpart} bootuuid; then
|
|
|
+ if test "${bootfstype}" = "btrfs"; then
|
|
|
+ # Original BTRFS partition layout
|
|
|
+ rootdev="PARTUUID=${bootuuid}"
|
|
|
+ rootflags="commit=5,subvol=@"
|
|
|
+ bootpath="/@/boot"
|
|
|
+ else
|
|
|
+ # OpenWrt default ext4 bootpart + rootpart layout
|
|
|
+ rootdev="/dev/mmcblk0p2"
|
|
|
+ rootflags="commit=5"
|
|
|
+ bootpath="/"
|
|
|
+ fi
|
|
|
+
|
|
|
+ load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${bootpath}/armada-3720-turris-mox.dtb
|
|
|
+ if test "$filesize" != "0"; then
|
|
|
+ has_dtb=1
|
|
|
+ else
|
|
|
+ setenv has_dtb 0
|
|
|
+ echo "Cannot find device tree binary!"
|
|
|
+ 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 ${subvol}/boot/Image.lzma"
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+ if test "$filesize" != "0"; then
|
|
|
+ setenv bootargs "earlyprintk console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000 rootfstype=${bootfstype} 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 rootpart
|
|
|
+fi
|