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-02-27 09:46:19 -05:00
parent 92b2b1c894
commit 0aba79e479

View File

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