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>
This commit is contained in:
Trevor Woerner 2025-06-03 16:03:54 -04:00
parent 92b2b1c894
commit d5b97e3d82

View File

@ -1,5 +1,7 @@
inherit rk-rauc-demo-features-check
PACKAGE_ARCH:rk-rauc-demo = "${MACHINE_ARCH}"
FILESEXTRAPATHS:prepend:rk-rauc-demo := "${THISDIR}/files:"
do_install:prepend:rk-rauc-demo() {