meta-rockchip/dynamic-layers/rk-rauc-demo/recipes-core/systemd/abd-partition.bb
Trevor Woerner ea72b22f53 rauc demo: add
Add an example of implementing rauc on a rockchip board. Adding the meta-rauc
layer, adding 'rauc' to DISTRO_FEATURES, and enabling RK_RAUC_DEMO will build
an image using the example provided in dynamic-layers/rk-rauc-demo.

This example uses a simple A/B + D scheme (i.e. two root partitions and a
non-updated /data partition). Repartitioning occurs automatically on first
boot thanks to systemd's 'repart' mechanism.

NOTE:
- this example only works with systemd

If you wish to provide your own implementation, simply add the meta-rauc
layer, add 'rauc' to DISTRO_FEATURES, don't enable RK_RAUC_DEMO, and provide
your own implementation in a separate layer.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2024-06-27 09:12:40 -04:00

27 lines
800 B
BlitzBasic

SUMMARY = "A/B+D partition definition for systemd's repart mechanism"
LICENSE = "OSL-3.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/OSL-3.0;md5=438ec6d864bbb958a49df939a56511cf"
inherit rk-rauc-demo-features-check systemd
SYSTEMD_SERVICE:${PN} = "data.mount"
S = "${UNPACKDIR}"
SRC_URI = " \
file://data.mount \
file://25-rootfsA.conf \
file://35-rootfsB.conf \
file://45-data.conf \
"
do_install() {
install -d ${D}${sysconfdir}/repart.d/
install -m 0644 ${UNPACKDIR}/25-rootfsA.conf ${D}${sysconfdir}/repart.d/
install -m 0644 ${UNPACKDIR}/35-rootfsB.conf ${D}${sysconfdir}/repart.d/
install -m 0644 ${UNPACKDIR}/45-data.conf ${D}${sysconfdir}/repart.d/
install -d ${D}${sysconfdir}/systemd/system
install -m 0644 ${UNPACKDIR}/data.mount ${D}${sysconfdir}/systemd/system/
}