[openwrt/openwrt] imx: make sdcard/eMMC sysupgrade more resilient

LEDE Commits lede-commits at lists.infradead.org
Mon Jul 11 05:32:00 PDT 2022


pepe2k pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/4436d7bae8c38eda1cb159e3b1ffd2fd1a553bed

commit 4436d7bae8c38eda1cb159e3b1ffd2fd1a553bed
Author: Lech Perczak <lech.perczak at gmail.com>
AuthorDate: Thu Apr 28 23:32:12 2022 +0200

    imx: make sdcard/eMMC sysupgrade more resilient
    
    Ensure, that kernel update is performed atomically on filesystem, to
    reduce likelihood of failure if power-cut occurs during sysupgrade. If
    kernel update fails for whatever reason, skip updating rootfs as well.
    
    Signed-off-by: Lech Perczak <lech.perczak at gmail.com>
---
 target/linux/imx/base-files/lib/imx.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/target/linux/imx/base-files/lib/imx.sh b/target/linux/imx/base-files/lib/imx.sh
index a451de3779..9c69235758 100644
--- a/target/linux/imx/base-files/lib/imx.sh
+++ b/target/linux/imx/base-files/lib/imx.sh
@@ -41,9 +41,12 @@ imx_sdcard_do_upgrade() {
 	board_dir="${board_dir%/}"
 
 	imx_sdcard_mount_boot
-	get_image "$1" | tar Oxf - ${board_dir}/kernel > /boot/uImage
-	get_image "$1" | tar Oxf - ${board_dir}/root > $(rootpart_from_uuid)
-	sync
+	get_image "$1" | tar Oxf - ${board_dir}/kernel > /boot/uImage-new && \
+		mv /boot/uImage-new /boot/uImage && \
+		sync && \
+		get_image "$1" | tar Oxf - ${board_dir}/root > $(rootpart_from_uuid) && \
+		sync
+
 	umount /boot
 }
 




More information about the lede-commits mailing list