Преглед на файлове

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 <[email protected]>
Lech Perczak преди 3 години
родител
ревизия
4436d7bae8
променени са 1 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. 6 3
      target/linux/imx/base-files/lib/imx.sh

+ 6 - 3
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
 }