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@gmail.com>
This commit is contained in:
Lech Perczak 2022-04-28 23:32:12 +02:00 committed by Piotr Dymacz
parent 70a9c75ef3
commit 4436d7bae8

View File

@ -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
}