diff options
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/layerscape/base-files/etc/uci-defaults/05_fix-compat-version | 19 | ||||
-rw-r--r-- | target/linux/layerscape/base-files/lib/upgrade/platform.sh | 5 | ||||
-rw-r--r-- | target/linux/layerscape/image/Makefile | 11 | ||||
-rw-r--r-- | target/linux/layerscape/image/armv7.mk | 15 | ||||
-rw-r--r-- | target/linux/layerscape/image/armv8_64b.mk | 20 |
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 += \ |