diff --git a/man/sysotad.conf.5.in b/man/sysotad.conf.5.in
index 2de4cd8a73a6d91ef9eb537f2cafb2b90945b04e..aeab650c1760661663417956f9e71e344dd0339b 100644
--- a/man/sysotad.conf.5.in
+++ b/man/sysotad.conf.5.in
@@ -1,6 +1,6 @@
 .\" SPDX-License-Identifier: Apache-2.0
 .\" SPDX-FileCopyrightText: Huawei Inc.
-.Dd Jun 18, 2021
+.Dd Aug 20, 2021
 .Os @PROJECT_NAME@ @PROJECT_VERSION@
 .Dt sysotad.conf 5 PRM
 .Sh NAME
@@ -40,7 +40,7 @@ As files are loaded, settings are stored into the configuration object are
 overwritten by newer definitions. Care must be taken to define a consistent
 set.
 .Sh OPTIONS
-All options are configured in the [OTA] section:
+The following options are configured in the [OTA] section:
 .Ss BootLoaderType=
 .Rs
 Identifies the type of the boot loader the OTA service will configure and
@@ -56,3 +56,25 @@ the
 .Em config.txt
 file.
 .Re
+.Pp
+The following options are configured in the [Raspberry Pi] section:
+.Ss OverrideRevisionCode=
+.Rs
+Overrides the Raspberry Pi revision code that is otherwise probed from
+.Em /proc/cpuinfo .
+This property is only designed for tests and may be limited to debug builds in
+the future. The value is only used when
+.Em OverrideSerialNumber=
+is not zero. When the override mechanism is enabled then /proc/cpuinfo is not
+scanned at all.
+.Re
+.Ss OverrideSerialNumber=
+.Rs
+Overrides the Raspberry Pi serial number that is otherwise probed from
+.Em /proc/cpuinfo .
+This property is only designed for tests and may be limited to debug builds in
+the future. The value is only used when
+.Em OverrideRevisionCode=
+is not zero. When the override mechanism is enabled then /proc/cpuinfo is not
+scanned at all.
+.Re
diff --git a/ota/ota.go b/ota/ota.go
index bc327e2e6bee1f222d44881746211ba679a63022..54ce3b1c72934ccb6bb3f8065ec14d43a3cc6233 100644
--- a/ota/ota.go
+++ b/ota/ota.go
@@ -10,6 +10,7 @@ import (
 	"os"
 
 	"git.ostc-eu.org/OSTC/OHOS/components/sysota/encoding/ini"
+	"git.ostc-eu.org/OSTC/OHOS/components/sysota/picfg/pimodel"
 )
 
 // TODO: add marshalable server response types here.
@@ -84,6 +85,18 @@ type Config struct {
 	// "/boot" or a sub-directory, such as "/boot/firmware", depending on the
 	// platform.
 	BootPartitionMountDir string `ini:"BootPartitionMountDir,omitempty"`
+
+	// Specific to the Raspberry Pi boot loader.
+
+	// OverrideRevisionCode overrides automatically probed Raspberry Pi revision
+	// code. This feature is meant for testing. It is only effective when
+	// coupled with OverrideSerialNumber.
+	OverrideRevisionCode pimodel.RevisionCode `ini:"OverrideRevisionCode,[Raspberry Pi],omitempty"`
+
+	// OverrideSerialNumber overrides automatically probed Raspberry Pi serial
+	// number. This feature is meant for testing.  It is only effective when
+	// coupled with OverrideRevisionCode.
+	OverrideSerialNumber pimodel.SerialNumber `ini:"OverrideSerialNumber,omitempty"`
 }
 
 // DefaultConfigFiles returns sysotad configuration files loaded on startup.