meta-rockchip/dynamic-layers/rk-rauc-demo/recipes-core/rauc/rauc-conf.bbappend
Trevor Woerner 0aba79e479 rauc-conf: set arch to machine
Since this bbappend is modifying the rauc config file with a MACHINE-specific
search-and-replace, the architecture setting of the package needs to be
MACHINE-specific as well. Otherwise if multiple images are built for the same
SoC, the sstate mechanism will use the first-built SoC copy of the
rauc/system.conf file, which may or may not match this device's MACHINE
setting.

At runtime this leads to compatible mismatch issues:

	# rauc install <bundle>
	...
	LastError: Compatible mismatch: Expected 'nanopi-r2s' but bundle manifest has 'rock-pi-e'

These errors can be worked around by using the "--ignore-compatible" cmdline
switch to the "rauc install" command. Or can be fixed by updating the
on-device /etc/rauc/system.conf file and restarting the rauc.service systemd
service unit. This patch, however, is the more correct, build-time, fix,
rather than having to fix the issue at run-time.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2025-02-28 08:26:38 -05:00

10 lines
231 B
Plaintext

inherit rk-rauc-demo-features-check
PACKAGE_ARCH = "${MACHINE_ARCH}"
FILESEXTRAPATHS:prepend:rk-rauc-demo := "${THISDIR}/files:"
do_install:prepend:rk-rauc-demo() {
sed -ie 's!@MACHINE@!${MACHINE}!g' ${UNPACKDIR}/system.conf
}