From 62dfdc482b0d4956a8344168d7f8b13bdf3f567f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 21 Jun 2026 18:37:57 +0000 Subject: [PATCH] Fix NAND sysupgrade logic error causing incomplete upgrade Change line 267 from '! -z' to '-z' to properly check if kernel_mtd is empty. The previous logic incorrectly set has_kernel=0 when kernel_mtd was NOT empty, preventing the kernel from being written to UBI volume and causing incomplete upgrades. --- package/base-files/files/lib/upgrade/nand.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/base-files/files/lib/upgrade/nand.sh b/package/base-files/files/lib/upgrade/nand.sh index ebaaf2aa1..d18256c46 100644 --- a/package/base-files/files/lib/upgrade/nand.sh +++ b/package/base-files/files/lib/upgrade/nand.sh @@ -264,7 +264,7 @@ nand_upgrade_tar() { [ "$kernel_length" != 0 -a -n "$kernel_mtd" ] && { tar xf $tar_file sysupgrade-$board_name/kernel -O | mtd write - $CI_KERNPART } - [ "$kernel_length" = 0 -o ! -z "$kernel_mtd" ] && has_kernel=0 + [ "$kernel_length" = 0 -o -z "$kernel_mtd" ] && has_kernel=0 nand_upgrade_prepare_ubi "$rootfs_length" "$rootfs_type" "$has_kernel" "$has_env"