base-files: dont always create kernel UBI volume
authorRobert Marko <robimarko@gmail.com>
Mon, 20 Sep 2021 17:13:43 +0000 (19:13 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 28 Nov 2021 16:17:22 +0000 (17:17 +0100)
commitf2c4064ecb76bca69d4ce3fbc52209992f2334dc
tree9d11db89669c79267d768ec9056f8d121c4fb48a
parent1fbc9c5e4dea7311236c8f74d6093bc968a710da
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@gmail.com>
package/base-files/files/lib/upgrade/nand.sh