[openwrt/openwrt] base-files: dont always create kernel UBI volume

LEDE Commits lede-commits at lists.infradead.org
Sun Nov 28 09:48:28 PST 2021


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/f2c4064ecb76bca69d4ce3fbc52209992f2334dc

commit f2c4064ecb76bca69d4ce3fbc52209992f2334dc
Author: Robert Marko <robimarko at gmail.com>
AuthorDate: Mon Sep 20 19:13:43 2021 +0200

    base-files: dont always create kernel UBI volume
    
    Currently nand_upgrade_tar() will pass the kernel length
    to nand_upgrade_prepare_ubi() in all cases except for when
    the kernel is to be installed in a separate partition as a
    binary with the MTD tool.
    
    While this is fine for almost all cases newer MikroTik NAND
    devices like hAP ac3 require the kernel to be installed as a
    UBIFS packed UBI volume in its own partition.
    
    So, since we have a custom recipe to use ubiformat to flash
    the kernel in its partition it makes no sense for sysupgrade
    to also install the kernel as a UBI volume in the "ubi"
    partition as it only wastes space and will never be used.
    
    So, simply check whether CI_KERNPART is set to "none" and
    if so unset the "has_kernel" variable which will in turn
    prevent the kernel length from being passed on and then
    the kernel UBI volume wont be created for no usefull purpose.
    
    The ath79 MikroTik NAND target has been setting CI_KERNPART
    to "none" for a while now altough that was not preventing
    the kernel to be installed as UBI volume as well.
    
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 package/base-files/files/lib/upgrade/nand.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/base-files/files/lib/upgrade/nand.sh b/package/base-files/files/lib/upgrade/nand.sh
index faeb3d6fc1..9b29266479 100644
--- a/package/base-files/files/lib/upgrade/nand.sh
+++ b/package/base-files/files/lib/upgrade/nand.sh
@@ -296,6 +296,7 @@ nand_upgrade_tar() {
 		tar xf "$tar_file" ${board_dir}/kernel -O | mtd write - $CI_KERNPART
 	}
 	[ "$kernel_length" = 0 -o ! -z "$kernel_mtd" ] && has_kernel=
+	[ "$CI_KERNPART" = "none" ] && has_kernel=
 
 	nand_upgrade_prepare_ubi "$rootfs_length" "$rootfs_type" "${has_kernel:+$kernel_length}" "$has_env"
 



More information about the lede-commits mailing list