layerscape: fix platform_copy_config function
authorPawel Dembicki <paweldembicki@gmail.com>
Mon, 24 Aug 2020 10:21:19 +0000 (12:21 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 25 Oct 2020 23:40:12 +0000 (00:40 +0100)
At this moment platform_copy_config function is used for every device
and function "export_partdevice" without "export_bootdevice" causes
multiple errors like that:
"sh: 1: unknown operand"

This patch fix usage of export_partdevice and split platform_copy_config
for sd-card images.

Fixes: 0841b68c91d3 ("layerscape: support sysupgrade for SD card ext4
rootfs")

Reviewed-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
target/linux/layerscape/base-files/lib/upgrade/platform.sh

index 633cbaf953c6ff30165ee2f676d2f99bdd476628..de01ac46deeda85cea8b5692a7e3bc2ab9dad44a 100644 (file)
@@ -109,15 +109,33 @@ platform_do_upgrade_traverse_nandubi() {
        nand_do_upgrade "$1" || (echo "Upgrade failed, setting bootsys ${bootsys}" && fw_setenv bootsys $bootsys)
 
 }
-platform_copy_config() {
-       local partdev parttype=ext4
+platform_copy_config_sdboot() {
+       local diskdev partdev parttype=ext4
+
+       export_bootdevice && export_partdevice diskdev 0 || {
+               echo "Unable to determine upgrade device"
+               return 1
+       }
 
        if export_partdevice partdev 1; then
-               mount -t $parttype -o rw,noatime "/dev/$partdev" /mnt
+               mount -t $parttype -o rw,noatime "/dev/$partdev" /mnt 2>&1
                cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
                umount /mnt
        fi
 }
+platform_copy_config() {
+       local board=$(board_name)
+
+       case "$board" in
+       fsl,ls1012a-frwy-sdboot | \
+       fsl,ls1021a-twr-sdboot | \
+       fsl,ls1043a-rdb-sdboot | \
+       fsl,ls1046a-rdb-sdboot | \
+       fsl,ls1088a-rdb-sdboot)
+               platform_copy_config_sdboot
+               ;;
+       esac
+}
 platform_check_image() {
        local board=$(board_name)