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}"