From 4436d7bae8c38eda1cb159e3b1ffd2fd1a553bed Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 28 Apr 2022 23:32:12 +0200 Subject: [PATCH] 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 --- 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 a451de3779ee..9c692357588e 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 } -- 2.30.2