aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape')
-rw-r--r--target/linux/layerscape/base-files/etc/uci-defaults/05_fix-compat-version19
-rw-r--r--target/linux/layerscape/base-files/lib/upgrade/platform.sh5
-rw-r--r--target/linux/layerscape/image/Makefile11
-rw-r--r--target/linux/layerscape/image/armv7.mk15
-rw-r--r--target/linux/layerscape/image/armv8_64b.mk20
5 files changed, 59 insertions, 11 deletions
diff --git a/target/linux/layerscape/base-files/etc/uci-defaults/05_fix-compat-version b/target/linux/layerscape/base-files/etc/uci-defaults/05_fix-compat-version
new file mode 100644
index 0000000000..923f4ac273
--- /dev/null
+++ b/target/linux/layerscape/base-files/etc/uci-defaults/05_fix-compat-version
@@ -0,0 +1,19 @@
+#
+# Copyright (C) 2020 OpenWrt.org
+#
+
+. /lib/functions.sh
+
+case "$(board_name)" in
+ fsl,ls1012a-rdb | \
+ fsl,ls1021a-twr | \
+ fsl,ls1043a-rdb | \
+ fsl,ls1046a-rdb | \
+ fsl,ls1088a-rdb | \
+ fsl,ls2088a-rdb)
+ uci set system.@system[0].compat_version="2.0"
+ uci commit system
+ ;;
+esac
+
+exit 0
diff --git a/target/linux/layerscape/base-files/lib/upgrade/platform.sh b/target/linux/layerscape/base-files/lib/upgrade/platform.sh
index fa0f21a6c5..633cbaf953 100644
--- a/target/linux/layerscape/base-files/lib/upgrade/platform.sh
+++ b/target/linux/layerscape/base-files/lib/upgrade/platform.sh
@@ -61,7 +61,7 @@ platform_do_upgrade_sdboot() {
if [ -n "$diff" ]; then
dd if="$1" of="/dev/$diskdev" bs=1024 count=4 > /dev/null 2>&1
echo "Writing image to /dev/$diskdev..."
- dd if="$1" of="/dev/$diskdev" bs=1024 skip=16384 seek=16384 > /dev/null 2>&1
+ dd if="$1" of="/dev/$diskdev" bs=1024 skip=15360 seek=15360 > /dev/null 2>&1
sync
# Separate removal and addtion is necessary; otherwise, partition 1
@@ -72,6 +72,9 @@ platform_do_upgrade_sdboot() {
return 0
fi
+ # write dtb
+ echo "Writing dtb to /dev/$diskdev..."
+ dd if="$1" of="/dev/$diskdev" bs=1024 skip=15360 seek=15360 count=1024 > /dev/null 2>&1
# write kernel image
echo "Writing kernel to /dev/$diskdev..."
dd if="$1" of="/dev/$diskdev" bs=1024 skip=16384 seek=16384 count=16384 > /dev/null 2>&1
diff --git a/target/linux/layerscape/image/Makefile b/target/linux/layerscape/image/Makefile
index 8a38a25041..08864b1316 100644
--- a/target/linux/layerscape/image/Makefile
+++ b/target/linux/layerscape/image/Makefile
@@ -11,8 +11,8 @@ LS_SD_ROOTFSPART_OFFSET = 64
LS_SD_IMAGE_SIZE = $(shell echo $$((($(LS_SD_ROOTFSPART_OFFSET) + \
$(CONFIG_TARGET_ROOTFS_PARTSIZE)) * 1024 * 1024)))
-# The limitation of flash sysupgrade.bin is 16MB kernel + 32MB rootfs
-LS_SYSUPGRADE_IMAGE_SIZE = 48m
+# The limitation of flash sysupgrade.bin is 1MB dtb + 16MB kernel + 32MB rootfs
+LS_SYSUPGRADE_IMAGE_SIZE = 49m
define Build/ls-clean
rm -f $@
@@ -46,6 +46,13 @@ define Build/traverse-fit
@mv -f $@.new $@
endef
+define Device/fix-sysupgrade
+ DEVICE_COMPAT_VERSION := 2.0
+ DEVICE_COMPAT_MESSAGE := DTB was added to sysupgrade. Image format is different. \
+ To use sysupgrade You need to change firmware partition in bootargs to "49m@0xf00000(firmware)" and saveenv. \
+ After that, You can use "sysupgrade -F".
+endef
+
include $(SUBTARGET).mk
$(eval $(call BuildImage))
diff --git a/target/linux/layerscape/image/armv7.mk b/target/linux/layerscape/image/armv7.mk
index 8a86997399..23bd3e8d82 100644
--- a/target/linux/layerscape/image/armv7.mk
+++ b/target/linux/layerscape/image/armv7.mk
@@ -16,12 +16,14 @@ define Device/Default
DEVICE_DTS = $(lastword $(subst _, ,$(1)))
SUPPORTED_DEVICES = $(subst _,$(comma),$(1))
IMAGE_SIZE := 64m
- IMAGE/sysupgrade.bin := append-kernel | pad-to 16M | \
+ IMAGE/sysupgrade.bin = ls-append-dtb $$(DEVICE_DTS) | pad-to 1M | \
+ append-kernel | pad-to 17M | \
append-rootfs | pad-rootfs | \
check-size $(LS_SYSUPGRADE_IMAGE_SIZE) | append-metadata
endef
define Device/fsl_ls1021a-twr
+ $(Device/fix-sysupgrade)
DEVICE_VENDOR := NXP
DEVICE_MODEL := TWR-LS1021A
DEVICE_VARIANT := Default
@@ -54,7 +56,8 @@ define Device/fsl_ls1021a-twr-sdboot
append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
IMAGE/sysupgrade.bin := \
ls-clean | \
- ls-append-sdhead $(1) | pad-to 16M | \
+ ls-append-sdhead $(1) | pad-to 15M | \
+ ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
endef
@@ -67,7 +70,7 @@ define Device/fsl_ls1021a-iot-sdboot
DEVICE_DTS := ls1021a-iot
FILESYSTEMS := ext4
SUPPORTED_DEVICES :=
- IMAGES := sdcard.img
+ IMAGES := sdcard.img sysupgrade.bin
IMAGE/sdcard.img := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
@@ -76,5 +79,11 @@ define Device/fsl_ls1021a-iot-sdboot
ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
+ IMAGE/sysupgrade.bin := \
+ ls-clean | \
+ ls-append-sdhead $(1) | pad-to 15M | \
+ ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
+ append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+ append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
endef
TARGET_DEVICES += fsl_ls1021a-iot-sdboot
diff --git a/target/linux/layerscape/image/armv8_64b.mk b/target/linux/layerscape/image/armv8_64b.mk
index 6ed3e7c155..35bab47124 100644
--- a/target/linux/layerscape/image/armv8_64b.mk
+++ b/target/linux/layerscape/image/armv8_64b.mk
@@ -15,7 +15,8 @@ define Device/Default
DEVICE_DTS = freescale/$(subst _,-,$(1))
SUPPORTED_DEVICES = $(subst _,$(comma),$(1))
IMAGE_SIZE := 64m
- IMAGE/sysupgrade.bin := append-kernel | pad-to 16M | \
+ IMAGE/sysupgrade.bin = ls-append-dtb $$(DEVICE_DTS) | pad-to 1M | \
+ append-kernel | pad-to 17M | \
append-rootfs | pad-rootfs | \
check-size $(LS_SYSUPGRADE_IMAGE_SIZE) | append-metadata
endef
@@ -46,6 +47,7 @@ endef
TARGET_DEVICES += fsl_ls1012a-frdm
define Device/fsl_ls1012a-rdb
+ $(Device/fix-sysupgrade)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1012A-RDB
DEVICE_PACKAGES += \
@@ -89,13 +91,15 @@ define Device/fsl_ls1012a-frwy-sdboot
append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
IMAGE/sysupgrade.bin := \
ls-clean | \
- ls-append-sdhead $(1) | pad-to 16M | \
+ ls-append-sdhead $(1) | pad-to 15M | \
+ ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
endef
TARGET_DEVICES += fsl_ls1012a-frwy-sdboot
define Device/fsl_ls1043a-rdb
+ $(Device/fix-sysupgrade)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1043A-RDB
DEVICE_VARIANT := Default
@@ -145,13 +149,15 @@ define Device/fsl_ls1043a-rdb-sdboot
append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
IMAGE/sysupgrade.bin := \
ls-clean | \
- ls-append-sdhead $(1) | pad-to 16M | \
+ ls-append-sdhead $(1) | pad-to 15M | \
+ ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
endef
TARGET_DEVICES += fsl_ls1043a-rdb-sdboot
define Device/fsl_ls1046a-rdb
+ $(Device/fix-sysupgrade)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1046A-RDB
DEVICE_VARIANT := Default
@@ -201,13 +207,15 @@ define Device/fsl_ls1046a-rdb-sdboot
append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
IMAGE/sysupgrade.bin := \
ls-clean | \
- ls-append-sdhead $(1) | pad-to 16M | \
+ ls-append-sdhead $(1) | pad-to 15M | \
+ ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
endef
TARGET_DEVICES += fsl_ls1046a-rdb-sdboot
define Device/fsl_ls1088a-rdb
+ $(Device/fix-sysupgrade)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1088A-RDB
DEVICE_VARIANT := Default
@@ -262,13 +270,15 @@ define Device/fsl_ls1088a-rdb-sdboot
append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
IMAGE/sysupgrade.bin := \
ls-clean | \
- ls-append-sdhead $(1) | pad-to 16M | \
+ ls-append-sdhead $(1) | pad-to 15M | \
+ ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
endef
TARGET_DEVICES += fsl_ls1088a-rdb-sdboot
define Device/fsl_ls2088a-rdb
+ $(Device/fix-sysupgrade)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS2088ARDB
DEVICE_PACKAGES += \