layerscape: ls10121frdm: add sysupgrade
authorTomasz Maciej Nowak <tomek_n@o2.pl>
Tue, 25 Feb 2020 19:07:40 +0000 (20:07 +0100)
committerPetr Štetiar <ynezz@true.cz>
Thu, 12 Mar 2020 11:59:44 +0000 (12:59 +0100)
Instead of dangerous rewriting full chip with firmware.bin image to
update OpenWrt, add sysupgrade image. This image will be used to update
kernel and rootfs, leaving bootloader intact and making recovery
possible, without resorting to external hardware tools.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
target/linux/layerscape/base-files/lib/upgrade/platform.sh
target/linux/layerscape/image/armv8_64b.mk

index c7b9b06cfe40f9450c491115bf9499c8cf2da960..a2ee81cf3a0284465dc78cb27611f17622141dfc 100644 (file)
@@ -32,6 +32,9 @@ platform_check_image() {
                nand_do_platform_check "traverse-ls1043" $1
                return $?
                ;;
+       fsl,ls1012a-frdm)
+               return 0
+               ;;
        *)
                echo "Sysupgrade is not currently supported on $board"
                ;;
@@ -51,6 +54,10 @@ platform_do_upgrade() {
        traverse,ls1043s)
                platform_do_upgrade_traverse_nandubi "$1"
                ;;
+       fsl,ls1012a-frdm)
+               PART_NAME=firmware
+               default_do_upgrade "$1"
+               ;;
        *)
                echo "Sysupgrade is not currently supported on $board"
                ;;
index 3a7b28c4168bc57bff9f640352b0187848ed606c..bd7055b3ee13851bfd4f807f3c4edf4a6368d49d 100644 (file)
@@ -25,6 +25,7 @@ define Device/ls1012afrdm
   DEVICE_DTS := freescale/fsl-ls1012a-frdm
   BLOCKSIZE := 256KiB
   FILESYSTEMS := squashfs
+  IMAGES += sysupgrade.bin
   IMAGE/firmware.bin := \
     ls-clean | \
     ls-append $(1)-bl2.pbl | pad-to 1M | \
@@ -34,8 +35,11 @@ define Device/ls1012afrdm
     ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
     append-kernel | pad-to $$(BLOCKSIZE) | \
     append-rootfs | pad-rootfs | check-size 67108865
+  IMAGE/sysupgrade.bin := append-kernel | pad-to $$(BLOCKSIZE) | \
+       append-rootfs | pad-rootfs | check-size 50331648 | append-metadata
   KERNEL := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
   KERNEL_INITRAMFS := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+  SUPPORTED_DEVICES := fsl,ls1012a-frdm
 endef
 TARGET_DEVICES += ls1012afrdm