diff --git a/meta-ohos-core/recipes-ota/sysota/files/raspberrypi4/sysotad.conf b/meta-ohos-core/recipes-ota/sysota/files/raspberrypi4/sysotad.conf new file mode 100644 index 0000000000000000000000000000000000000000..ac2f3ba7ede1bb85d8248ff009885e6113ad572c --- /dev/null +++ b/meta-ohos-core/recipes-ota/sysota/files/raspberrypi4/sysotad.conf @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +[OTA] +BootLoaderType=pi-boot diff --git a/meta-ohos-core/recipes-ota/sysota/files/sysotad.conf b/meta-ohos-core/recipes-ota/sysota/files/sysotad.conf new file mode 100644 index 0000000000000000000000000000000000000000..e76921bb6d7d96fe6b3c8e219b2e8aec64d04b79 --- /dev/null +++ b/meta-ohos-core/recipes-ota/sysota/files/sysotad.conf @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: Huawei Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +[OTA] +BootLoaderType=inert diff --git a/meta-ohos-core/recipes-ota/sysota/sysota_git.bb b/meta-ohos-core/recipes-ota/sysota/sysota_git.bb index 9260c889ebff4e2d5da8d6453af7279949771686..0b2d345b3867fcf7582277a376e5f2b16352e75e 100644 --- a/meta-ohos-core/recipes-ota/sysota/sysota_git.bb +++ b/meta-ohos-core/recipes-ota/sysota/sysota_git.bb @@ -7,6 +7,10 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSES/Apache-2.0.txt;md5=c846ebb396f8b174b10ded4771514fcc" SRC_URI = "git://git.ostc-eu.org/OSTC/OHOS/components/sysota.git;protocol=https;branch=main" +SRC_URI_append = " \ + file://sysotad.conf \ + " + SRCREV = "8d2f4fce96a4cf880c329103b2640450857d6423" S = "${WORKDIR}/git" @@ -76,6 +80,10 @@ do_compile_append() { do_install_append() { oe_runmake -C ${B}/make-build --warn-undefined-variables install DESTDIR=${D} + + # Install the built-in configuration file. + # See below for machine-specific overrides. + install -D -m 0644 ${WORKDIR}/sysotad.conf ${D}${libdir}/sysota/sysotad.conf } # Include D-Bus configuration files in the primary package. Those contain bus @@ -83,6 +91,9 @@ do_install_append() { # (not to be confused with the systemd service unit). FILES_${PN} += "${datadir}/dbus-1" +# Include the built-in configuration file. +FILES_${PN} += "${libdir}/sysota/sysotad.conf" + # SystemOTA depends on RAUC and unsquashfs and mksquashfs (for tests). RDEPENDS_${PN} += "squashfs-tools rauc" @@ -93,3 +104,11 @@ RDEPENDS_${PN}-dev += "bash" # systemd services. REQUIRED_DISTRO_FEATURES = "systemd" SYSTEMD_SERVICE_${PN} = "sysotad.service" + +# Specific MACHINE configurations have sysotad.conf which provides the right +# settings, like the boot loader type. +FILESEXTRAPATHS_prepend_raspberrypi4-64 := "${THISDIR}/files/raspberrypi4:" + +# Make the SystemOTA package machine-specific. This lets us put the specific +# configuration file, which encodes boot loader type, into it safely. +PACKAGE_ARCH = "${MACHINE_ARCH}"