base-files: add eMMC sysupgrade support
authorEnrico Mioso <mrkiko.rs@gmail.com>
Wed, 1 Dec 2021 15:17:55 +0000 (16:17 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Thu, 2 Dec 2021 20:42:58 +0000 (20:42 +0000)
commit57c1f3f9c5c699cc215bebde772552787c632570
tree4a51dc86fa52cceed2d2df529fc8c0b2a63a59e1
parent8d623047851337c4507f77b51f47851988c0f53c
base-files: add eMMC sysupgrade support

Adds generic support for sysupgrading on eMMC-based devices.

Provide function emmc_do_upgrade and emmc_copy_config to be used in
/lib/upgrade/platform.sh instead of redundantly implementing the same
logic over and over again.
Similar to generic sysupgrade on NAND, use environment variables
CI_KERNPART, CI_ROOTPART and newly introduce CI_DATAPART to indicate
GPT partition names to be used. On devices with more than one MMC
block device, CI_ROOTDEV can be used to specify the MMC device for
partition name lookups.

Also allow to select block devices directly using EMMC_KERN_DEV,
EMMC_ROOT_DEV and EMMC_DATA_DEV, as using GPT partition names is not
always an option (e.g. when forced to use MBR).

To easily handle writing kernel and rootfs make use of sysupgrade.tar
format convention which is also already used for generic NAND support.

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
CC: Li Zhang <li.zhang@gl-inet.com>
CC: TruongSinh Tran-Nguyen <i@truongsinh.pro>
package/base-files/Makefile
package/base-files/files/lib/upgrade/emmc.sh [new file with mode: 0644]
scripts/target-metadata.pl
target/Config.in