phosphor-settings-manager: add 'boot_type' option

Add 'boot_type' package configuration parameter that is used to add
support for the Legacy/EFI boot override selector for systems with
x86 host.
This setting is designed for selection between
- "PC compatible" boot (legacy)
- Extensible Firmware Interface Boot (EFI)
In the presence of a 'boot_type' parameter the default value for the
BootType dbus interface is set to EFI boot.

Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Change-Id: I2d75960f0a3350aa4d464179d4ee7a1758e09d72
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml
new file mode 100644
index 0000000..da15013
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml
@@ -0,0 +1,32 @@
+/xyz/openbmc_project/control/host0/boot:
+    - Interface: xyz.openbmc_project.Control.Boot.Source
+      Properties:
+          BootSource:
+              Default: Source::Sources::Default
+    - Interface: xyz.openbmc_project.Control.Boot.Mode
+      Properties:
+          BootMode:
+              Default: Mode::Modes::Regular
+    - Interface: xyz.openbmc_project.Control.Boot.Type
+      Properties:
+          BootType:
+              Default: Type::Types::EFI
+
+/xyz/openbmc_project/control/host0/boot/one_time:
+    - Interface: xyz.openbmc_project.Control.Boot.Source
+      Properties:
+          BootSource:
+              Default: Source::Sources::Default
+    - Interface: xyz.openbmc_project.Control.Boot.Mode
+      Properties:
+          BootMode:
+              Default: Mode::Modes::Regular
+    - Interface: xyz.openbmc_project.Control.Boot.Type
+      Properties:
+          BootType:
+              Default: Type::Types::EFI
+    - Interface: xyz.openbmc_project.Object.Enable
+      Properties:
+          Enabled:
+              Default: 'true'
+
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb
index a0773a3..1ea501a 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb
@@ -27,6 +27,11 @@
 S = "${WORKDIR}/git"
 SRC_URI += "file://merge_settings.py"
 
+# 'boot_type' configuration parameter is used to add support for
+# the Legacy/EFI boot override selector for systems with x86 host
+PACKAGECONFIG[boot_type] = ""
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'boot_type', 'file://boot_type.override.yml', '', d)}"
+
 EXTRA_OECONF = " \
              SETTINGS_YAML=${STAGING_DIR_NATIVE}${settings_datadir}/defaults.yaml \
              "