summaryrefslogtreecommitdiff
path: root/meta-phosphor
diff options
context:
space:
mode:
Diffstat (limited to 'meta-phosphor')
-rwxr-xr-xmeta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook3
-rw-r--r--meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.cfg2
-rw-r--r--meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.scc2
-rw-r--r--meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend6
-rw-r--r--meta-phosphor/classes/image_types_phosphor.bbclass158
-rw-r--r--meta-phosphor/classes/obmc-phosphor-c-daemon.bbclass13
-rw-r--r--meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass3
-rw-r--r--meta-phosphor/classes/obmc-phosphor-image.bbclass92
-rw-r--r--meta-phosphor/classes/obmc-phosphor-utils.bbclass24
-rw-r--r--meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass62
-rw-r--r--meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass22
-rw-r--r--meta-phosphor/classes/phosphor-networkd-rev.bbclass2
-rw-r--r--meta-phosphor/classes/phosphor-pid-control.bbclass5
-rw-r--r--meta-phosphor/classes/phosphor-software-manager-mmc.bbclass21
-rw-r--r--meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass12
-rw-r--r--meta-phosphor/classes/skeleton-rev.bbclass2
-rw-r--r--meta-phosphor/conf/distro/include/phosphor-base.inc14
-rw-r--r--meta-phosphor/conf/distro/include/phosphor-mmc.inc2
-rw-r--r--meta-phosphor/conf/layer.conf2
-rw-r--r--meta-phosphor/conf/machine/include/ibm-power-cpu.inc1
-rw-r--r--meta-phosphor/conf/machine/include/ibm-power10-cpu.inc2
-rw-r--r--meta-phosphor/conf/machine/include/ibm-power8-cpu.inc2
-rw-r--r--meta-phosphor/conf/machine/include/ibm-power9-cpu.inc2
-rw-r--r--meta-phosphor/conf/machine/include/obmc-bsp-common.inc15
-rwxr-xr-xmeta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd/state_hook68
-rw-r--r--meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd_git.bbappend9
-rw-r--r--meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend4
-rw-r--r--meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend4
-rw-r--r--meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb2
-rw-r--r--meta-phosphor/recipes-core/base-files/base-files/df-mmc/fstab9
-rw-r--r--meta-phosphor/recipes-core/base-files/base-files/nsswitch_ldap.conf20
-rw-r--r--meta-phosphor/recipes-core/base-files/base-files_%.bbappend7
-rw-r--r--meta-phosphor/recipes-core/os-release/os-release.bbappend19
-rw-r--r--meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend1
-rw-r--r--meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend8
-rw-r--r--meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend5
-rw-r--r--meta-phosphor/recipes-core/systemd/phosphor-systemd-policy.bb (renamed from meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb)0
-rw-r--r--meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/journald-maxlevel-policy.conf (renamed from meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/journald-maxlevel-policy.conf)0
-rw-r--r--meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/service-restart-policy.conf (renamed from meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/service-restart-policy.conf)0
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd_%.bbappend2
-rw-r--r--meta-phosphor/recipes-devtools/python/python3_%.bbappend7
-rw-r--r--meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/pam/libpam_%.bbappend1
-rw-r--r--meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb5
-rw-r--r--meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc2
-rw-r--r--meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb5
-rw-r--r--meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/stdplus/stdplus_git.bb5
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb7
-rw-r--r--meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service3
-rw-r--r--meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json3
-rw-r--r--meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json3
-rw-r--r--meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json3
-rw-r--r--meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb32
-rw-r--r--meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb38
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb21
-rw-r--r--meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb22
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb8
-rw-r--r--meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb3
-rw-r--r--meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-update.service9
-rw-r--r--meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb31
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-logging-error-logs-native.bbappend1
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-yaml-provider_git.bb10
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb19
-rw-r--r--meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb21
-rw-r--r--meta-phosphor/recipes-phosphor/images/obmc-phosphor-image-base.bb14
-rw-r--r--meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb53
-rw-r--r--meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb6
-rw-r--r--meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh26
-rw-r--r--meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb27
-rw-r--r--meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh66
-rw-r--r--meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb18
-rw-r--r--meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb3
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service5
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml10
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb10
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service2
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb5
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-logging-error-logs-native.bbappend1
-rw-r--r--meta-phosphor/recipes-phosphor/logging/ffdc_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb64
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb14
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb11
-rw-r--r--meta-phosphor/recipes-phosphor/mctp/mctp_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb61
-rw-r--r--meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb9
-rw-r--r--meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb88
-rw-r--r--meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-yaml-providers.bb19
-rw-r--r--meta-phosphor/recipes-phosphor/pldm/pldm.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/pldm/pldm_git.bb27
-rw-r--r--meta-phosphor/recipes-phosphor/power/phosphor-power.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb3
-rw-r--r--meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb62
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb22
-rw-r--r--meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml6
-rw-r--r--meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb6
-rw-r--r--meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb14
-rw-r--r--meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb25
-rw-r--r--meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc142
-rw-r--r--meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb102
-rw-r--r--meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb27
-rw-r--r--meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service4
-rw-r--r--meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb17
-rw-r--r--meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb2
-rw-r--r--meta-phosphor/recipes-support/boost-url/boost-url_%.bbappend1
-rw-r--r--meta-phosphor/recipes-support/boost-url/boost-url_git.bb17
-rw-r--r--meta-phosphor/recipes-support/boost/boost_%.bbappend12
-rw-r--r--meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend2
-rw-r--r--meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend17
-rwxr-xr-xmeta-phosphor/recipes-x86/chassis/x86-power-control_git.bb4
-rw-r--r--meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb20
138 files changed, 1402 insertions, 600 deletions
diff --git a/meta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook b/meta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook
index 0df6ff973..3f5a974b9 100755
--- a/meta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook
+++ b/meta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook
@@ -16,6 +16,9 @@ case "$config" in
0)
nbd_device=/dev/nbd0
;;
+1)
+ nbd_device=/dev/nbd1
+ ;;
*)
echo "invalid config $config" >&2
exit 1
diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.cfg b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.cfg
deleted file mode 100644
index 329b4df4b..000000000
--- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_PANIC_ON_OOPS=y
-CONFIG_PANIC_TIMEOUT=0
diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.scc b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.scc
deleted file mode 100644
index 7fc650799..000000000
--- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.scc
+++ /dev/null
@@ -1,2 +0,0 @@
-define KFEATURE_DESCRIPTION "Require watchdog to reset SoC on panic"
-kconf non-hardware phosphor-wdt-on-panic.cfg
diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend
index ea70a4fe8..7401a1895 100644
--- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -4,8 +4,10 @@ SRC_URI += "file://phosphor-gpio-keys.scc"
SRC_URI += "file://phosphor-gpio-keys.cfg"
SRC_URI += "file://phosphor-vlan.scc"
SRC_URI += "file://phosphor-vlan.cfg"
-SRC_URI += "file://phosphor-wdt-on-panic.scc"
-SRC_URI += "file://phosphor-wdt-on-panic.cfg"
KERNEL_FEATURES_append = " phosphor-vlan"
KERNEL_FEATURES_remove_qemuall = " phosphor-vlan"
+
+# OpenBMC loads in kernel features via other mechanisms so this check
+# in the kernel-yocto.bbclass is not required
+KERNEL_DANGLING_FEATURES_WARN_ONLY="1"
diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass
index 8f92f7045..e4663471c 100644
--- a/meta-phosphor/classes/image_types_phosphor.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor.bbclass
@@ -19,19 +19,15 @@ FLASH_UBI_OVERLAY_BASETYPE ?= "ubifs"
FLASH_EXT4_BASETYPE ?= "ext4"
FLASH_EXT4_OVERLAY_BASETYPE ?= "ext4"
-IMAGE_TYPES += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-verity mmc-ext4-tar"
+IMAGE_TYPES += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-ext4-tar"
IMAGE_TYPEDEP_mtd-static = "${IMAGE_BASETYPE}"
IMAGE_TYPEDEP_mtd-static-tar = "${IMAGE_BASETYPE}"
IMAGE_TYPEDEP_mtd-static-alltar = "mtd-static"
IMAGE_TYPEDEP_mtd-ubi = "${FLASH_UBI_BASETYPE}"
IMAGE_TYPEDEP_mtd-ubi-tar = "${FLASH_UBI_BASETYPE}"
-IMAGE_TYPEDEP_mmc-verity = "${FLASH_EXT4_BASETYPE}"
IMAGE_TYPEDEP_mmc-ext4-tar = "${FLASH_EXT4_BASETYPE}"
-IMAGE_TYPES_MASKED += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-verity mmc-ext4-tar"
-
-IMAGE_BLOCK_SIZE ?= "4096"
-EXTRA_IMAGECMD_ext4 = "-b ${IMAGE_BLOCK_SIZE}"
+IMAGE_TYPES_MASKED += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-ext4-tar"
# Flash characteristics in KB unless otherwise noted
DISTROOVERRIDES .= ":flash-${FLASH_SIZE}"
@@ -58,6 +54,10 @@ FLASH_UBI_RWFS_SIZE_flash-131072 ?= "32768"
FLASH_UBI_RWFS_TXT_SIZE ?= "6MiB"
FLASH_UBI_RWFS_TXT_SIZE_flash-131072 ?= "32MiB"
+# eMMC sizes in KB unless otherwise noted.
+MMC_UBOOT_SIZE ?= "1024"
+MMC_BOOT_PARTITION_SIZE ?= "65536"
+
SIGNING_KEY ?= "${STAGING_DIR_NATIVE}${datadir}/OpenBMC.priv"
INSECURE_KEY = "${@'${SIGNING_KEY}' == '${STAGING_DIR_NATIVE}${datadir}/OpenBMC.priv'}"
SIGNING_KEY_DEPENDS = "${@oe.utils.conditional('INSECURE_KEY', 'True', 'phosphor-insecure-signing-key-native:do_populate_sysroot', '', d)}"
@@ -105,6 +105,12 @@ mk_empty_image() {
| tr '\000' '\377' > $image_dst
}
+mk_empty_image_zeros() {
+ image_dst="$1"
+ image_size_kb=$2
+ dd if=/dev/zero of=$image_dst bs=1k count=$image_size_kb
+}
+
clean_rwfs() {
type=$1
shift
@@ -182,7 +188,7 @@ do_generate_ubi[dirs] = "${S}/ubi"
do_generate_ubi[depends] += " \
${PN}:do_image_${@d.getVar('FLASH_UBI_BASETYPE', True).replace('-', '_')} \
virtual/kernel:do_deploy \
- u-boot:do_populate_sysroot \
+ u-boot:do_deploy \
mtd-utils-native:do_populate_sysroot \
"
@@ -217,99 +223,10 @@ do_make_ubi[dirs] = "${S}/ubi"
do_make_ubi[depends] += " \
${PN}:do_image_${@d.getVar('FLASH_UBI_BASETYPE', True).replace('-', '_')} \
virtual/kernel:do_deploy \
- u-boot:do_populate_sysroot \
+ u-boot:do_deploy \
mtd-utils-native:do_populate_sysroot \
"
-python do_generate_mmc_verity() {
- import os
- import subprocess
-
- rootfs_image = os.path.join(d.getVar('IMGDEPLOYDIR', True),
- '%s.%s' % (
- d.getVar('IMAGE_LINK_NAME', True),
- d.getVar('FLASH_EXT4_BASETYPE', True)))
-
- verity_image = 'verity-%s.%s' % (
- d.getVar('IMAGE_LINK_NAME', True),
- d.getVar('FLASH_EXT4_BASETYPE', True))
-
- subprocess.check_call(['dd',
- 'if=%s' % rootfs_image,
- 'of=%s' % verity_image])
-
- # dm-verity values
- sector_size = 512
- block_size = int(d.getVar('IMAGE_BLOCK_SIZE', True))
- verity_algo = "sha256"
- rootfs_image_size = os.stat(rootfs_image).st_size
-
- def align_up(number, boundary):
- return ((number + (boundary - 1)) // boundary) * boundary
-
- # verity metadata must be aligned on the block boundary subsequent to the
- # end of the data
- verity_hash_offset = align_up(rootfs_image_size, block_size)
-
- verity_hash_blocks = verity_hash_offset // block_size
-
- # the output of 'veritysetup format' looks like:
- # VERITY header information for obmc-phosphor-image-witherspoon.squashfs-xz
- # UUID: 269b5934-de5b-45b0-99a3-56b219a7b544
- # Hash type: 1
- # Data blocks: 4523
- # Data block size: 4096
- # Hash block size: 4096
- # Hash algorithm: sha256
- # Salt: 8fca9eff342fc0cf2964057257ea80813a223cb2e540a38458142edeb190e12e
- # Root hash: 38ef00d23fa89300dcf66e7494d25246d03bf846b4119b34e7b1587c0b6fe1d9
- verity_hash_file = "verity-hash-verification-data"
- with open(verity_hash_file, 'w') as f:
- subprocess.check_call(['veritysetup',
- 'format',
- '--hash=%s'% verity_algo,
- '--data-block-size=%i' % block_size,
- '--hash-block-size=%i' % block_size,
- '--hash-offset=%i' % verity_hash_offset,
- '%s' % verity_image,
- '%s' % verity_image], stdout=f, stderr=f)
-
- for line in open(verity_hash_file, "r"):
- if "Salt" in line:
- verity_salt = line.split()[-1]
- if "Root" in line:
- verity_root = line.split()[-1]
-
- verity_image_size = os.stat(verity_image).st_size
-
- # Make an appropriately sized image for MMC
- mmc_image_name = "%s.mmc" % d.getVar('IMAGE_NAME', True)
- mmc_image_path = os.path.join(d.getVar('IMGDEPLOYDIR', True),
- '%s' % mmc_image_name)
-
- # CSD size accommodates MMC limitations that are relevant to QEMU
- csd_size = (1 << (9 + 9 - 1 + 2))
-
- with open(mmc_image_path, 'w') as fd:
- os.posix_fallocate(fd.fileno(), 0, align_up(verity_image_size, csd_size))
- subprocess.check_call(['dd',
- 'if=%s' % verity_image,
- 'of=%s' % mmc_image_path,
- 'conv=notrunc'])
-
- os.chdir("%s" % d.getVar('IMGDEPLOYDIR', True))
- mmc_link_name = os.path.join(d.getVar('IMGDEPLOYDIR', True),
- '%s.mmc' % d.getVar('IMAGE_LINK_NAME', True))
- if os.path.lexists(mmc_link_name):
- os.remove(mmc_link_name)
- os.symlink(mmc_image_name, mmc_link_name)
-}
-do_generate_mmc_verity[dirs] = "${S}/mmc"
-do_generate_mmc_verity[depends] += " \
- ${PN}:do_image_${FLASH_EXT4_BASETYPE} \
- cryptsetup-native:do_populate_sysroot \
- "
-
do_mk_static_nor_image() {
# Assemble the flash image
mk_empty_image ${IMGDEPLOYDIR}/${IMAGE_NAME}.static.mtd ${FLASH_SIZE}
@@ -406,7 +323,7 @@ do_generate_static[dirs] = "${S}/static"
do_generate_static[depends] += " \
${PN}:do_image_${@d.getVar('IMAGE_BASETYPE', True).replace('-', '_')} \
virtual/kernel:do_deploy \
- u-boot:do_populate_sysroot \
+ u-boot:do_deploy \
"
make_signatures() {
@@ -487,7 +404,7 @@ do_generate_static_tar[dirs] = " ${S}/static"
do_generate_static_tar[depends] += " \
${PN}:do_image_${@d.getVar('IMAGE_BASETYPE', True).replace('-', '_')} \
virtual/kernel:do_deploy \
- u-boot:do_populate_sysroot \
+ u-boot:do_deploy \
openssl-native:do_populate_sysroot \
${SIGNING_KEY_DEPENDS} \
${PN}:do_copy_signing_pubkey \
@@ -505,29 +422,56 @@ do_generate_ubi_tar[dirs] = " ${S}/ubi"
do_generate_ubi_tar[depends] += " \
${PN}:do_image_${@d.getVar('FLASH_UBI_BASETYPE', True).replace('-', '_')} \
virtual/kernel:do_deploy \
- u-boot:do_populate_sysroot \
+ u-boot:do_deploy \
openssl-native:do_populate_sysroot \
${SIGNING_KEY_DEPENDS} \
${PN}:do_copy_signing_pubkey \
"
do_generate_ext4_tar() {
- zstd -f -k -T0 -c ${ZSTD_COMPRESSION_LEVEL} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE} > ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE}.zst
+ # Generate the U-Boot image
+ mk_empty_image_zeros image-u-boot ${MMC_UBOOT_SIZE}
+ do_generate_image_uboot_file image-u-boot
+
+ # Generate a compressed ext4 filesystem with the fitImage file in it to be
+ # flashed to the boot partition of the eMMC
+ install -d boot-image
+ install -m 644 ${DEPLOY_DIR_IMAGE}/${FLASH_KERNEL_IMAGE} boot-image/fitImage
+ mk_empty_image_zeros boot-image.${FLASH_EXT4_BASETYPE} ${MMC_BOOT_PARTITION_SIZE}
+ mkfs.ext4 -F -i 4096 -d boot-image boot-image.${FLASH_EXT4_BASETYPE}
+ # Error codes 0-3 indicate successfull operation of fsck
+ fsck.ext4 -pvfD boot-image.${FLASH_EXT4_BASETYPE} || [ $? -le 3 ]
+ zstd -f -k -T0 -c ${ZSTD_COMPRESSION_LEVEL} boot-image.${FLASH_EXT4_BASETYPE} > boot-image.${FLASH_EXT4_BASETYPE}.zst
+
+ # Generate the compressed ext4 rootfs
+ zstd -f -k -T0 -c ${ZSTD_COMPRESSION_LEVEL} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE} > ${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE}.zst
+
+ ln -sf boot-image.${FLASH_EXT4_BASETYPE}.zst image-kernel
+ ln -sf ${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE}.zst image-rofs
+ ln -sf ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.rwfs.${FLASH_EXT4_OVERLAY_BASETYPE} image-rwfs
ln -sf ${S}/MANIFEST MANIFEST
ln -sf ${S}/publickey publickey
- make_image_links rwfs.${FLASH_EXT4_OVERLAY_BASETYPE} ${FLASH_EXT4_BASETYPE}.zst
- make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey
- make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files}
+
+ hostfw_update_file="${DEPLOY_DIR_IMAGE}/hostfw/update/image-hostfw"
+ if [ -e "${hostfw_update_file}" ]; then
+ ln -sf "${hostfw_update_file}" image-hostfw
+ make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey image-hostfw
+ make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files} image-hostfw
+ else
+ make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey
+ make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files}
+ fi
}
do_generate_ext4_tar[dirs] = " ${S}/ext4"
do_generate_ext4_tar[depends] += " \
zstd-native:do_populate_sysroot \
${PN}:do_image_${FLASH_EXT4_BASETYPE} \
virtual/kernel:do_deploy \
- u-boot:do_populate_sysroot \
+ u-boot:do_deploy \
openssl-native:do_populate_sysroot \
${SIGNING_KEY_DEPENDS} \
${PN}:do_copy_signing_pubkey \
+ phosphor-hostfw-image:do_deploy \
"
def get_pubkey_basedir(d):
@@ -609,10 +553,6 @@ python() {
'do_image_complete',
'do_generate_rwfs_ubi do_generate_phosphor_manifest', d)
- if 'mmc-verity' in types:
- bb.build.addtask(
- 'do_generate_mmc_verity',
- 'do_image_complete','', d)
if 'mmc-ext4-tar' in types:
bb.build.addtask(
'do_generate_ext4_tar',
diff --git a/meta-phosphor/classes/obmc-phosphor-c-daemon.bbclass b/meta-phosphor/classes/obmc-phosphor-c-daemon.bbclass
deleted file mode 100644
index ded11d8cd..000000000
--- a/meta-phosphor/classes/obmc-phosphor-c-daemon.bbclass
+++ /dev/null
@@ -1,13 +0,0 @@
-# Common code for dbus applications using c.
-inherit obmc-phosphor-systemd
-
-DEPENDS += "glib-2.0"
-
-INSTALL_NAME ?= "${PN}"
-BIN_NAME ?= "${INSTALL_NAME}"
-
-do_install_append() {
- # install the binary
- install -d ${D}${sbindir}
- install -m 0755 ${S}/${BIN_NAME} ${D}${sbindir}/${INSTALL_NAME}
-}
diff --git a/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass b/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass
index e912beadc..48760f3db 100644
--- a/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass
@@ -72,7 +72,8 @@ python discovery_services_postinstall() {
fd.write('<?xml version="1.0" ?>\n')
fd.write('<!DOCTYPE service-group SYSTEM "avahi-service.dtd">\n')
fd.write('<service-group>\n')
- fd.write(' <name>%s</name>\n' % service_name)
+ fd.write(' <name replace-wildcards="yes">%s on %%h</name>\n'
+ % service_name)
fd.write(' <service>\n')
fd.write(' <type>%s</type>\n' % service_type)
fd.write(' <port>%s</port>\n' % service_port)
diff --git a/meta-phosphor/classes/obmc-phosphor-image.bbclass b/meta-phosphor/classes/obmc-phosphor-image.bbclass
index 6e13a6520..b2d3b5ef3 100644
--- a/meta-phosphor/classes/obmc-phosphor-image.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-image.bbclass
@@ -3,116 +3,98 @@
# Additional IMAGE_FEATURES available with Phosphor OpenBMC:
#
# - obmc-bmc-state-mgmt - OpenBMC BMC state management
+# - obmc-bmcweb - OpenBMC webserver
# - obmc-chassis-mgmt - OpenBMC chassis management
# - obmc-chassis-state-mgmt - OpenBMC chassis state management
+# - obmc-console - OpenBMC serial over LAN
+# - obmc-dbus-monitor - OpenBMC dbus monitoring
+# - obmc-devtools - OpenBMC development and debugging tools
# - obmc-fan-control - OpenBMC fan management
# - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead
# - obmc-flash-mgmt - OpenBMC flash management
+# - obmc-fru-ipmi - OpenBMC IPMI FRU EEPROM support
+# - obmc-health-monitor - OpenBMC health monitoring
# - obmc-host-ctl - OpenBMC host control
# - obmc-host-ipmi - OpenBMC host IPMI
# - obmc-host-state-mgmt - OpenBMC host state management
+# - obmc-ikvm - OpenBMC KVM over IP
# - obmc-inventory - OpenBMC inventory support
# - obmc-leds - OpenBMC LED support
# - obmc-logging-mgmt - OpenBMC logging management
# - obmc-remote-logging-mgmt - OpenBMC remote logging management
+# - obmc-rng - OpenBMC random number generator
# - obmc-sensors - OpenBMC sensor support
# - obmc-settings-mgmt - OpenBMC settings management
# - obmc-software - OpenBMC software management
# - obmc-system-mgmt - OpenBMC system management
# - obmc-user-mgmt - OpenBMC user management
+# - obmc-user-mgmt-ldap - OpenBMC LDAP users
# - obmc-debug-collector - OpenBMC debug collector
inherit core-image
inherit obmc-phosphor-utils
-
-LICENSE = "Apache-2.0"
+inherit phosphor-deploy-ssh-keys
FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt"
-FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt')}"
+FEATURE_PACKAGES_obmc-bmcweb ?= "packagegroup-obmc-apps-bmcweb"
+FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt', '', d)}"
FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt"
+FEATURE_PACKAGES_obmc-console ?= "packagegroup-obmc-apps-console"
+FEATURE_PACKAGES_obmc-dbus-monitor ?= "packagegroup-obmc-apps-dbus-monitor"
+FEATURE_PACKAGES_obmc-devtools ?= "packagegroup-obmc-apps-devtools"
FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control"
-FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt')}"
-FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt')}"
-FEATURE_PACKAGES_obmc-host-ctl ?= "${@cf_enabled(d, 'obmc-host-ctl', 'virtual-obmc-host-ctl')}"
-FEATURE_PACKAGES_obmc-host-ipmi ?= "${@cf_enabled(d, 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw')}"
+FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt', '', d)}"
+FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt', '', d)}"
+FEATURE_PACKAGES_obmc-fru-ipmi ?= "packagegroup-obmc-apps-fru-ipmi"
+FEATURE_PACKAGES_obmc-health-monitor ?= "packagegroup-obmc-apps-health-monitor"
+FEATURE_PACKAGES_obmc-host-ctl ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ctl', 'virtual-obmc-host-ctl', '', d)}"
+FEATURE_PACKAGES_obmc-host-ipmi ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw', '', d)}"
FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt"
+FEATURE_PACKAGES_obmc-ikvm ?= "packagegroup-obmc-apps-ikvm"
FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory"
FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds"
FEATURE_PACKAGES_obmc-logging-mgmt ?= "packagegroup-obmc-apps-logging"
FEATURE_PACKAGES_obmc-remote-logging-mgmt ?= "packagegroup-obmc-apps-remote-logging"
+FEATURE_PACKAGES_obmc-rng ?= "packagegroup-obmc-apps-rng"
FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net"
FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors"
FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software"
-FEATURE_PACKAGES_obmc-system-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt')}"
+FEATURE_PACKAGES_obmc-system-mgmt ?= "${@bb.utils.contains('DISTRO_FEATURES', 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt', '', d)}"
FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector"
FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings"
FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network"
FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt"
+FEATURE_PACKAGES_obmc-user-mgmt-ldap ?= "packagegroup-obmc-apps-user-mgmt-ldap"
# FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and
# cannot be built on core-qemu machines because of the dependency
# tree under phosphor-ipmi-host
FEATURE_PACKAGES_obmc-net-ipmi_qemuall = ""
-# Install entire Phosphor application stack by default
-IMAGE_FEATURES += " \
- obmc-bmc-state-mgmt \
- obmc-chassis-mgmt \
- obmc-chassis-state-mgmt \
- obmc-fan-control \
- obmc-fan-mgmt \
- obmc-flash-mgmt \
- obmc-host-ctl \
- obmc-host-ipmi \
- obmc-host-state-mgmt \
- obmc-inventory \
- obmc-leds \
- obmc-logging-mgmt \
- obmc-remote-logging-mgmt \
- obmc-net-ipmi \
- obmc-sensors \
- obmc-software \
- obmc-system-mgmt \
- obmc-user-mgmt \
- ssh-server-dropbear \
- obmc-debug-collector \
- obmc-network-mgmt \
- obmc-settings-mgmt \
- "
-
-IMAGE_FEATURES_append_df-obmc-ubi-fs = " read-only-rootfs"
-
-CORE_IMAGE_EXTRA_INSTALL_append = " bash \
+# Add new packages to be installed to a package group in
+# packagegroup-obmc-apps, not here.
+OBMC_IMAGE_BASE_INSTALL = " \
packagegroup-obmc-apps-extras \
- packagegroup-obmc-apps-extrasdevtools \
- i2c-tools \
- obmc-console \
- pam-plugin-access \
- pam-ipmi \
${OBMC_IMAGE_EXTRA_INSTALL} \
- ffdc \
- rsync \
- rng-tools \
- lrzsz \
"
OBMC_IMAGE_EXTRA_INSTALL ?= ""
-# The /etc/version file is misleading and not useful. Remove it.
-# Users should instead rely on /etc/os-release.
+CORE_IMAGE_EXTRA_INSTALL += "${OBMC_IMAGE_BASE_INSTALL}"
+
remove_etc_version() {
rm ${IMAGE_ROOTFS}${sysconfdir}/version
}
-ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; "
-# Disable the pager to prevent systemd injecting control characters into the
-# output stream that are not interpreted by busybox tools.
disable_systemd_pager() {
echo "SYSTEMD_PAGER=" >> ${IMAGE_ROOTFS}${sysconfdir}/profile
echo "export SYSTEMD_PAGER" >> ${IMAGE_ROOTFS}${sysconfdir}/profile
}
-ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; "
-# The shadow recipe provides the binaries(like useradd, usermod) needed by the
-# phosphor-user-manager.
-ROOTFS_RO_UNNEEDED_remove = "shadow"
+enable_ldap_nsswitch() {
+ sed -i 's/\(\(passwd\|group\|shadow\):\s*\).*/\1files ldap/' \
+ "${IMAGE_ROOTFS}${sysconfdir}/nsswitch.conf"
+}
+
+ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('IMAGE_FEATURES', 'obmc-user-mgmt-ldap', 'enable_ldap_nsswitch ;', '', d)}"
+
diff --git a/meta-phosphor/classes/obmc-phosphor-utils.bbclass b/meta-phosphor/classes/obmc-phosphor-utils.bbclass
index 04db8bcd0..a8f7175df 100644
--- a/meta-phosphor/classes/obmc-phosphor-utils.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-utils.bbclass
@@ -1,19 +1,3 @@
-# Helper functions for checking feature variables.
-
-def df_enabled(d, feature, truevalue, falsevalue=""):
- return bb.utils.contains("DISTRO_FEATURES", feature, truevalue, falsevalue, d)
-
-
-def mf_enabled(d, feature, truevalue, falsevalue=""):
- return bb.utils.contains("MACHINE_FEATURES", feature, truevalue, falsevalue, d)
-
-
-def cf_enabled(d, feature, truevalue, falsevalue=""):
- return truevalue if df_enabled(d, feature, truevalue) \
- and mf_enabled(d, feature, truevalue) \
- else falsevalue
-
-
def set_append(d, var, val, sep=' '):
values = (d.getVar(var, True) or '').split(sep)
if filter(bool, values):
@@ -39,11 +23,3 @@ def compose_list_zip(d, fmtvar, *listvars, **kw):
lists = [listvar_to_list(d, x) for x in listvars]
lst = [fmt.format(*x) for x in zip(*lists)]
return (kw.get('sep') or ' ').join(lst)
-
-
-def append_suffix(val, suffix):
- words = val.split(' ')
- newval = []
- for w in words:
- newval.append(w + suffix)
- return ' '.join(newval)
diff --git a/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass b/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass
new file mode 100644
index 000000000..a85d2ac2d
--- /dev/null
+++ b/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass
@@ -0,0 +1,62 @@
+####
+# Copyright 2020 Hewlett Packard Enterprise Development LP.
+#
+#
+# Add a basic class to add a privileged user from an ssh
+# standpoint and a public key passed as an input parameter
+# from the local.conf file
+# Example:
+# INHERIT += "phosphor-deploy-ssh-keys"
+# SSH_KEYS = "vejmarie:/home/openbmc/openbmc/meta-hpe/keys/test.pub;"
+####
+
+inherit useradd_base
+
+IMAGE_PREPROCESS_COMMAND += "deploy_local_user;"
+
+deploy_local_user () {
+ if [ "${SSH_KEYS}" != "" ]; then
+ group_settings="${SSH_KEYS}"
+ current_setting=`echo $group_settings | cut -d ';' -f1`
+ remaining=`echo $group_settings | cut -d ';' -f2-`
+ while test "x$current_setting" != "x"; do
+
+ username=`echo ${SSH_KEYS} | awk -F":" '{ print $1}'`
+ key_path=`echo ${SSH_KEYS} | awk -F":" '{ print $2}'`
+
+ if [ ! -d ${IMAGE_ROOTFS}/home/${username} ]; then
+ perform_useradd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} -p '' ${username}"
+ fi
+
+ if [ ! -d ${IMAGE_ROOTFS}/home/${username}.ssh/ ]; then
+ install -d ${IMAGE_ROOTFS}/home/${username}/.ssh/
+ fi
+
+ if [ ! -f ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys ]; then
+ install -m 0600 ${key_path} ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
+ else
+ cat ${key_path} >> ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
+ fi
+
+ uid=`cat ${IMAGE_ROOTFS}/etc/passwd | grep "${username}:" | awk -F ":" '{print $3}'`
+ guid=`cat ${IMAGE_ROOTFS}/etc/passwd | grep "${username}:" | awk -F ":" '{print $4}'`
+
+ chown -R ${uid}:${guid} ${IMAGE_ROOTFS}/home/${username}/.ssh
+ chmod 600 ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys
+ chmod 700 ${IMAGE_ROOTFS}/home/${username}/.ssh
+
+ is_group=`grep "priv-admin" ${IMAGE_ROOTFS}/etc/group || true`
+
+ if [ -z "${is_group}" ]; then
+ perform_groupadd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} priv-admin"
+ fi
+
+ perform_usermod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} -a -G priv-admin ${username}"
+
+ current_setting=`echo $remaining | cut -d ";" -f1`
+ remaining=`echo $remaining | cut -d ';' -f2-`
+ done
+ else
+ bbwarn "Trying to deploy SSH keys but input variable is empty (SSH_KEYS)"
+ fi
+}
diff --git a/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass b/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass
new file mode 100644
index 000000000..89d031caa
--- /dev/null
+++ b/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass
@@ -0,0 +1,22 @@
+inherit phosphor-dbus-yaml
+
+LOGGING_YAML_SUBDIRS ??= "${OBMC_ORG_YAML_SUBDIRS}"
+
+do_install_append() {
+ for yaml_d in ${LOGGING_YAML_SUBDIRS} ;
+ do
+ if [ ! -d ${S}/${yaml_d} ];
+ then
+ continue
+ fi
+
+ for yaml_f in $(find ${S}/${yaml_d} -name "*.errors.yaml" -or \
+ -name "*.metadata.yaml") ;
+ do
+ subpath=$(realpath --relative-to=${S} ${yaml_f})
+ install -d $(dirname ${D}${yaml_dir}/$subpath)
+
+ install -m 0644 ${yaml_f} ${D}${yaml_dir}/$subpath
+ done
+ done
+}
diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
index 80c68dcf4..7556591cb 100644
--- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass
+++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
@@ -1,2 +1,2 @@
SRC_URI += "git://github.com/openbmc/phosphor-networkd"
-SRCREV = "06345733e3389ec54018a9d8d3bf6a272b914f12"
+SRCREV = "ffcba341a893318588afe83e8d767d8c20fd9189"
diff --git a/meta-phosphor/classes/phosphor-pid-control.bbclass b/meta-phosphor/classes/phosphor-pid-control.bbclass
deleted file mode 100644
index 3f69338aa..000000000
--- a/meta-phosphor/classes/phosphor-pid-control.bbclass
+++ /dev/null
@@ -1,5 +0,0 @@
-config_datadir="${datadir}/swampd/"
-# config_path is the location swampd expects to find a json configuration.
-# the file is expected to be named config.json
-config_path="${config_datadir}config.json"
-
diff --git a/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass
new file mode 100644
index 000000000..f30f0c04f
--- /dev/null
+++ b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass
@@ -0,0 +1,21 @@
+# eMMC-specific configuration for the phosphor-manager-software package
+
+PACKAGECONFIG_append = " mmc_layout"
+
+EXTRA_OEMESON += "-Dactive-bmc-max-allowed=2"
+EXTRA_OEMESON += "-Dmedia-dir='/media'"
+EXTRA_OEMESON += "-Doptional-images='image-hostfw'"
+
+RDEPENDS_phosphor-software-manager-updater-mmc += " \
+ gptfdisk \
+ parted \
+ zstd \
+"
+
+SYSTEMD_SERVICE_phosphor-software-manager-updater-mmc += " \
+ obmc-flash-mmc@.service \
+ obmc-flash-mmc-remove@.service \
+ obmc-flash-mmc-setprimary@.service \
+ obmc-flash-mmc-mount.service \
+ obmc-flash-mmc-umount.service \
+"
diff --git a/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass b/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
index cc1ad3738..6ca1fb162 100644
--- a/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
+++ b/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
@@ -6,17 +6,9 @@ RDEPENDS_phosphor-software-manager-updater-ubi += " \
mtd-utils-ubifs \
"
-# Remove default configs
-EXTRA_OECONF_remove_df-obmc-ubi-fs += " \
- ACTIVE_BMC_MAX_ALLOWED=1 \
- MEDIA_DIR=/run/media \
-"
-
# Add ubi-fs configs
-EXTRA_OECONF_append_df-obmc-ubi-fs += " \
- ACTIVE_BMC_MAX_ALLOWED=2 \
- MEDIA_DIR=/media \
-"
+EXTRA_OEMESON += "-Dactive-bmc-max-allowed=2"
+EXTRA_OEMESON += "-Dmedia-dir='/media'"
SYSTEMD_SERVICE_phosphor-software-manager-updater-ubi += " \
obmc-flash-bmc-ubirw.service \
diff --git a/meta-phosphor/classes/skeleton-rev.bbclass b/meta-phosphor/classes/skeleton-rev.bbclass
index 4ae3c03a9..d9f5aadce 100644
--- a/meta-phosphor/classes/skeleton-rev.bbclass
+++ b/meta-phosphor/classes/skeleton-rev.bbclass
@@ -1,4 +1,4 @@
-SRCREV ?= "1146f8c6e5f955fb10f5e846de31052be942a7f2"
+SRCREV ?= "3fbb4443dbc6ae6a7d8b5165a4f3b1992502570f"
SKELETON_URI ?= "git://github.com/openbmc/skeleton"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc
index 8d53c8dda..93b24550c 100644
--- a/meta-phosphor/conf/distro/include/phosphor-base.inc
+++ b/meta-phosphor/conf/distro/include/phosphor-base.inc
@@ -8,6 +8,8 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_EXTRA_RDEPENDS += " ${POKY_DEFAULT_EXTRA_RDEPENDS}"
DISTRO_EXTRA_RRECOMMENDS += " ${POKY_DEFAULT_EXTRA_RRECOMMENDS}"
+DISTROOVERRIDES .= ":openbmc-phosphor"
+
POKYQEMUDEPS = "${@bb.utils.contains("INCOMPATIBLE_LICENSE", "GPL-3.0", "", "packagegroup-core-device-devel",d)}"
DISTRO_EXTRA_RDEPENDS_append_qemuarm = " ${POKYQEMUDEPS}"
DISTRO_EXTRA_RDEPENDS_append_qemuarm64 = " ${POKYQEMUDEPS}"
@@ -93,7 +95,6 @@ DISTRO_FEATURES_BACKFILL_CONSIDERED = " \
"
DISTRO_FEATURES_OBMC = " \
- ipmi-fru \
obmc-host-ctl \
obmc-host-ipmi \
obmc-phosphor-chassis-mgmt \
@@ -106,8 +107,6 @@ DISTRO_FEATURES_DEFAULT = " \
avahi \
ipv4 \
ipv6 \
- ldap \
- libc-inet-anl \
pam \
slp \
systemd \
@@ -124,9 +123,6 @@ MACHINE_FEATURES += " \
DISTRO_EXTRA_RDEPENDS_remove_qemuarm = "packagegroup-core-device-devel"
-# TODO: openbmc/openbmc#12345 - Upgrade to pygobject-3.
-PREFERRED_VERSION_python-pygobject = "2.%"
-
include conf/distro/include/openbmc-phosphor/${MACHINE}.inc
KERNEL_FEATURES_append = " phosphor-gpio-keys"
@@ -146,3 +142,9 @@ BAD_RECOMMENDATIONS += "shared-mime-info"
LAYER_CONF_VERSION ?= "8"
KERNEL_CLASSES_append = " obmc-phosphor-kernel-version"
+
+# Some packages have directory trees of YAML files arranged based on
+# canonical organization names. 'xyz/openbmc_project' should be used
+# everywhere in phosphor, but some layers may append this with their
+# own organization(s).
+OBMC_ORG_YAML_SUBDIRS += " xyz/openbmc_project"
diff --git a/meta-phosphor/conf/distro/include/phosphor-mmc.inc b/meta-phosphor/conf/distro/include/phosphor-mmc.inc
new file mode 100644
index 000000000..05d79c71f
--- /dev/null
+++ b/meta-phosphor/conf/distro/include/phosphor-mmc.inc
@@ -0,0 +1,2 @@
+DISTRO_FEATURES += "phosphor-mmc"
+DISTROOVERRIDES .= ":df-phosphor-mmc"
diff --git a/meta-phosphor/conf/layer.conf b/meta-phosphor/conf/layer.conf
index 028c6e52e..2292acce9 100644
--- a/meta-phosphor/conf/layer.conf
+++ b/meta-phosphor/conf/layer.conf
@@ -8,7 +8,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "phosphor-layer"
BBFILE_PATTERN_phosphor-layer := "^${LAYERDIR}/"
LAYERVERSION_phosphor-layer = "1"
-LAYERSERIES_COMPAT_phosphor-layer = "warrior zeus dunfell"
+LAYERSERIES_COMPAT_phosphor-layer = "dunfell gatesgarth"
IMAGE_FEATURES[validitems] += "tools-profile"
diff --git a/meta-phosphor/conf/machine/include/ibm-power-cpu.inc b/meta-phosphor/conf/machine/include/ibm-power-cpu.inc
new file mode 100644
index 000000000..1ff6dd304
--- /dev/null
+++ b/meta-phosphor/conf/machine/include/ibm-power-cpu.inc
@@ -0,0 +1 @@
+MACHINEOVERRIDES =. "ibm-power-cpu:"
diff --git a/meta-phosphor/conf/machine/include/ibm-power10-cpu.inc b/meta-phosphor/conf/machine/include/ibm-power10-cpu.inc
new file mode 100644
index 000000000..7d518ddaa
--- /dev/null
+++ b/meta-phosphor/conf/machine/include/ibm-power10-cpu.inc
@@ -0,0 +1,2 @@
+MACHINEOVERRIDES =. "ibm-power10-cpu:"
+require conf/machine/include/ibm-power-cpu.inc
diff --git a/meta-phosphor/conf/machine/include/ibm-power8-cpu.inc b/meta-phosphor/conf/machine/include/ibm-power8-cpu.inc
new file mode 100644
index 000000000..8be9d5395
--- /dev/null
+++ b/meta-phosphor/conf/machine/include/ibm-power8-cpu.inc
@@ -0,0 +1,2 @@
+MACHINEOVERRIDES =. "ibm-power8-cpu:"
+require conf/machine/include/ibm-power-cpu.inc
diff --git a/meta-phosphor/conf/machine/include/ibm-power9-cpu.inc b/meta-phosphor/conf/machine/include/ibm-power9-cpu.inc
new file mode 100644
index 000000000..d92cbdf37
--- /dev/null
+++ b/meta-phosphor/conf/machine/include/ibm-power9-cpu.inc
@@ -0,0 +1,2 @@
+MACHINEOVERRIDES =. "ibm-power9-cpu:"
+require conf/machine/include/ibm-power-cpu.inc
diff --git a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
index 4bafeafce..8a3da1199 100644
--- a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
+++ b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
@@ -5,10 +5,23 @@
KERNEL_CLASSES ?= "kernel-fitimage"
KERNEL_IMAGETYPES ?= "fitImage"
+# Static images. This is the default if no other layout is specified.
+IMAGE_FSTYPES += "${@bb.utils.contains_any('DISTRO_FEATURES', \
+ 'obmc-ubi-fs phosphor-mmc', \
+ '', \
+ 'mtd-static mtd-static-tar mtd-static-alltar', d)}"
+
+# UBI images.
IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', \
'obmc-ubi-fs', \
'mtd-ubi mtd-ubi-tar', \
- 'mtd-static mtd-static-tar mtd-static-alltar', d)}"
+ '', d)}"
+
+# eMMC images.
+IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', \
+ 'phosphor-mmc', \
+ 'wic.xz mmc-ext4-tar', \
+ '', d)}"
INITRAMFS_CTYPE ?= "xz"
INITRAMFS_FSTYPES = "cpio.${INITRAMFS_CTYPE}"
diff --git a/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd/state_hook b/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd/state_hook
new file mode 100755
index 000000000..d317e2e9b
--- /dev/null
+++ b/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd/state_hook
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+if [ $# -ne 2 ]
+then
+ echo "usage: $0 <start|stop> <config>" >&2
+ exit 1
+fi
+
+action=$1
+config=$2
+
+gadget_name=mass-storage
+gadget_dir=/sys/kernel/config/usb_gadget/$gadget_name
+
+case "$config" in
+0)
+ nbd_device=/dev/nbd0
+ ;;
+*)
+ echo "invalid config $config" >&2
+ exit 1
+ ;;
+esac
+
+set -ex
+
+case "$action" in
+start)
+ mkdir -p $gadget_dir
+ (
+ cd $gadget_dir
+ # http://www.linux-usb.org/usb.ids
+ # |-> 1d6b Linux Foundation
+ # |-> 0104 Multifunction Composite Gadget
+ echo "0x1d6b" > idVendor
+ echo "0x0104" > idProduct
+ mkdir -p strings/0x409
+ echo "OpenBMC" > strings/0x409/manufacturer
+ echo "Virtual Media Device" > strings/0x409/product
+ mkdir -p configs/c.1/strings/0x409
+ echo "config 1" > configs/c.1/strings/0x409/configuration
+ mkdir -p functions/mass_storage.usb0
+ ln -s functions/mass_storage.usb0 configs/c.1
+ echo 1 > functions/mass_storage.usb0/lun.0/removable
+ echo 1 > functions/mass_storage.usb0/lun.0/ro
+ echo 0 > functions/mass_storage.usb0/lun.0/cdrom
+ echo $nbd_device > functions/mass_storage.usb0/lun.0/file
+ echo "f0831000.udc" > UDC
+ )
+ ;;
+stop)
+ (
+ cd $gadget_dir
+ rm configs/c.1/mass_storage.usb0
+ rmdir functions/mass_storage.usb0
+ rmdir configs/c.1/strings/0x409
+ rmdir configs/c.1
+ rmdir strings/0x409
+ )
+ rmdir $gadget_dir
+ ;;
+*)
+ echo "invalid action $action" >&2
+ exit 1
+esac
+
+exit 0
+
diff --git a/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd_git.bbappend b/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd_git.bbappend
new file mode 100644
index 000000000..3ccc08798
--- /dev/null
+++ b/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd_git.bbappend
@@ -0,0 +1,9 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+FILES_${PN} += "${sysconfdir}/nbd-proxy/state"
+SRC_URI += "file://state_hook"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/nbd-proxy/
+ install -m 0755 ${WORKDIR}/state_hook ${D}${sysconfdir}/nbd-proxy/state
+}
diff --git a/meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend b/meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend
index 71e208cd4..3d0bbb7f3 100644
--- a/meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend
+++ b/meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend
@@ -2,3 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://phosphor-gpio-keys.scc"
SRC_URI += "file://phosphor-gpio-keys.cfg"
+
+# OpenBMC loads in kernel features via other mechanisms so this check
+# in the kernel-yocto.bbclass is not required
+KERNEL_DANGLING_FEATURES_WARN_ONLY="1"
diff --git a/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend b/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend
index 60d561011..99990857d 100644
--- a/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend
+++ b/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend
@@ -1,3 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SNOOP_DEVICE = "npcm7xx-lpc-bpc0"
+SNOOP_DEVICE_npcm7xx = "npcm7xx-lpc-bpc0"
diff --git a/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb b/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
index afc36d46e..8533540dc 100644
--- a/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
+++ b/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
@@ -15,7 +15,7 @@ RDEPENDS_${PN} += "nbd-client"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/jsnbd"
-SRCREV = "74c8a728212021e750686f4ec797e5f16283168a"
+SRCREV = "164fef38b703032045803f05301b256ed045a094"
NBD_PROXY_CONFIG_JSON ??= "${S}/config.sample.json"
diff --git a/meta-phosphor/recipes-core/base-files/base-files/df-mmc/fstab b/meta-phosphor/recipes-core/base-files/base-files/df-mmc/fstab
new file mode 100644
index 000000000..4a0766876
--- /dev/null
+++ b/meta-phosphor/recipes-core/base-files/base-files/df-mmc/fstab
@@ -0,0 +1,9 @@
+# openbmc fstab
+
+/dev/root / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0
+tmpfs /var/volatile tmpfs defaults 0 0
+tmpfs /media tmpfs defaults 0 0
+/var/persist/home /home none bind 0 0
diff --git a/meta-phosphor/recipes-core/base-files/base-files/nsswitch_ldap.conf b/meta-phosphor/recipes-core/base-files/base-files/nsswitch_ldap.conf
deleted file mode 100644
index 78141f644..000000000
--- a/meta-phosphor/recipes-core/base-files/base-files/nsswitch_ldap.conf
+++ /dev/null
@@ -1,20 +0,0 @@
-# /etc/nsswitch.conf
-#
-# Example configuration of GNU Name Service Switch functionality.
-# If you have the `glibc-doc' and `info' packages installed, try:
-# `info libc "Name Service Switch"' for information about this file.
-
-passwd: files ldap
-group: files ldap
-shadow: files ldap
-
-hosts: files dns
-networks: files
-
-protocols: db files
-services: db files
-ethers: db files
-rpc: db files
-
-netgroup: nis
-
diff --git a/meta-phosphor/recipes-core/base-files/base-files_%.bbappend b/meta-phosphor/recipes-core/base-files/base-files_%.bbappend
index c77cfefc7..b6c4222b2 100644
--- a/meta-phosphor/recipes-core/base-files/base-files_%.bbappend
+++ b/meta-phosphor/recipes-core/base-files/base-files_%.bbappend
@@ -1,4 +1,5 @@
FILESEXTRAPATHS_prepend_df-obmc-ubi-fs := "${THISDIR}/${PN}/df-ubi:"
+FILESEXTRAPATHS_prepend_df-phosphor-mmc := "${THISDIR}/${PN}/df-mmc:"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@@ -6,16 +7,12 @@ RDEPENDS_${PN}_append_df-obmc-ubi-fs = " preinit-mounts"
SRC_URI += " \
file://50-rp_filter.conf \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'file://nsswitch_ldap.conf', '', d)}"
+"
do_install_append() {
install -d ${D}/srv
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)}" ]; then
- install -D -m 600 ${WORKDIR}/nsswitch_ldap.conf ${D}/${sysconfdir}/nsswitch.conf
- fi
-
install -d ${D}/${libdir}/sysctl.d
install -D -m 644 ${WORKDIR}/50-rp_filter.conf ${D}/${libdir}/sysctl.d/50-rp_filter.conf
}
diff --git a/meta-phosphor/recipes-core/os-release/os-release.bbappend b/meta-phosphor/recipes-core/os-release/os-release.bbappend
index c01014643..0f938c392 100644
--- a/meta-phosphor/recipes-core/os-release/os-release.bbappend
+++ b/meta-phosphor/recipes-core/os-release/os-release.bbappend
@@ -13,22 +13,11 @@ def run_git(d, cmd):
except:
pass
-python() {
- version_id = run_git(d, 'describe --dirty --long')
- if version_id:
- d.setVar('VERSION_ID', version_id)
- versionList = version_id.split('-')
- version = versionList[0] + "-" + versionList[1]
- d.setVar('VERSION', version)
+VERSION_ID := "${@run_git(d, 'describe --dirty --long')}"
+VERSION = "${@'-'.join(d.getVar('VERSION_ID').split('-')[0:2])}"
- build_id = run_git(d, 'describe --abbrev=0')
- if build_id:
- d.setVar('BUILD_ID', build_id)
-
- target_machine = d.getVar('MACHINE', True)
- if target_machine:
- d.setVar('OPENBMC_TARGET_MACHINE', target_machine)
-}
+BUILD_ID := "${@run_git(d, 'describe --abbrev=0')}"
+OPENBMC_TARGET_MACHINE = "${MACHINE}"
OS_RELEASE_FIELDS_append = " BUILD_ID OPENBMC_TARGET_MACHINE"
diff --git a/meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
index a3e2dcda2..e111a4d95 100644
--- a/meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
+++ b/meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
@@ -1,7 +1,6 @@
RDEPENDS_${PN}_append = " \
nativesdk-autoconf-archive \
nativesdk-meson \
- nativesdk-phosphor-dbus-interfaces-yaml \
nativesdk-python3-sdbus++ \
nativesdk-phosphor-logging-elog \
"
diff --git a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend
index d62dc9985..8327383d0 100644
--- a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend
+++ b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend
@@ -1 +1,7 @@
-RRECOMMENDS_${PN}_append = " googletest sdbusplus phosphor-logging libstdc++-staticdev"
+RRECOMMENDS_${PN}_append = " \
+ googletest \
+ libstdc++-staticdev \
+ phosphor-dbus-interfaces-yaml \
+ phosphor-logging \
+ sdbusplus \
+ "
diff --git a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend
index 78b78e40b..c182dafb9 100644
--- a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend
+++ b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend
@@ -5,8 +5,3 @@ RDEPENDS_${PN}_remove = " \
powertop \
latencytop \
"
-
-RRECOMMENDS_${PN}_remove = " \
- perf \
- trace-cmd \
- "
diff --git a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy.bb
index 21433976b..21433976b 100644
--- a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb
+++ b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy.bb
diff --git a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/journald-maxlevel-policy.conf b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/journald-maxlevel-policy.conf
index f5f3d0ff1..f5f3d0ff1 100644
--- a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/journald-maxlevel-policy.conf
+++ b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/journald-maxlevel-policy.conf
diff --git a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/service-restart-policy.conf b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/service-restart-policy.conf
index 54516c2d4..54516c2d4 100644
--- a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/service-restart-policy.conf
+++ b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/service-restart-policy.conf
diff --git a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
index 1aabe378f..f1046de20 100644
--- a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
@@ -25,3 +25,5 @@ ALTERNATIVE_${PN} += "init"
ALTERNATIVE_TARGET[init] = "${rootlibexecdir}/systemd/systemd"
ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init"
ALTERNATIVE_PRIORITY[init] ?= "300"
+
+RRECOMMENDS_${PN}_append_openbmc-phosphor = " phosphor-systemd-policy"
diff --git a/meta-phosphor/recipes-devtools/python/python3_%.bbappend b/meta-phosphor/recipes-devtools/python/python3_%.bbappend
index 69f4e9ab0..324b28ce0 100644
--- a/meta-phosphor/recipes-devtools/python/python3_%.bbappend
+++ b/meta-phosphor/recipes-devtools/python/python3_%.bbappend
@@ -10,11 +10,4 @@ do_install_append_class-target() {
# Even though python3 is built with --without-ensurepip, it still installs
# a large, compressed version of pip. Remove it to free up the space.
rm -rf ${D}${libdir}/python${PYTHON_MAJMIN}/ensurepip
-
- # Remove all python .py files from python recipe. Only the .pyc
- # files are required.
- # The _sysconfigdata*.py files are system configuration files generated
- # during build time. It's used in the yocto packaging process so
- # it is required to remain in the image.
- find ${D}${libdir}/python${PYTHON_MAJMIN} -name \*.py ! -name _sysconfigdata*.py -exec rm {} \;
}
diff --git a/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb b/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
index 81f08f42c..cedae50c9 100644
--- a/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
+++ b/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
@@ -14,6 +14,6 @@ EXTRA_OEMESON = " \
"
SRC_URI += "git://github.com/openbmc/gpioplus"
-SRCREV = "d67babcdbe7854b14afb421861c25769519d0fc8"
+SRCREV = "2f8444ce2dfb265bc6dcd45cae0484d68f08dd91"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-extended/pam/libpam_%.bbappend b/meta-phosphor/recipes-extended/pam/libpam_%.bbappend
index 07dd54847..8ed05f629 100644
--- a/meta-phosphor/recipes-extended/pam/libpam_%.bbappend
+++ b/meta-phosphor/recipes-extended/pam/libpam_%.bbappend
@@ -10,6 +10,7 @@ RDEPENDS_${PN}-runtime += "${MLPREFIX}pam-plugin-cracklib-${libpam_suffix} \
${MLPREFIX}pam-plugin-tally2-${libpam_suffix} \
${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \
${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-localuser-${libpam_suffix} \
"
do_install_append() {
diff --git a/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb b/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb
index 9d89895b0..6557a1d9a 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb
+++ b/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb
@@ -15,11 +15,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5
S="${WORKDIR}/git/tools"
-# Provide these aliases temporarily until everyone can move over to the
-# new package name.
-PROVIDES_class-native += "sdbusplus-native"
-PROVIDES_class-nativesdk += "sdbusplus-nativesdk"
-
DEPENDS += " \
autoconf-archive-native \
${PYTHON_PN}-inflection-native \
diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
index 5096a05ec..76df354cf 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
+++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc
@@ -3,4 +3,4 @@ PR = "r1"
PV = "1.0+git${SRCPV}"
SRC_URI += "git://github.com/openbmc/sdbusplus"
-SRCREV = "fa3137a78e952134559bf7c41c4f29fa4afabe02"
+SRCREV = "c67e1e8730a2d3dcb155b21ced735ee188e8ea7f"
diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
index 49e2f4af2..973a92f3d 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
+++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
@@ -18,3 +18,8 @@ DEPENDS += " \
googletest \
systemd \
"
+
+EXTRA_OEMESON += " \
+ -Dtests=disabled \
+ -Dexamples=disabled \
+ "
diff --git a/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb b/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
index f5404ce9f..9befc924a 100644
--- a/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
+++ b/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
@@ -20,6 +20,6 @@ EXTRA_OEMESON = " \
"
SRC_URI += "git://github.com/openbmc/sdeventplus"
-SRCREV = "b315a2ab41ab6408a2185162fdd56c836249abdc"
+SRCREV = "b0a0e4db4628e2bab502767aa08cf236a0d0bf5d"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
index 4c3822fe4..78c6cdb9a 100644
--- a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
+++ b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
@@ -8,12 +8,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
inherit meson pkgconfig
+DEPENDS += "fmt"
+DEPENDS += "span-lite"
+
EXTRA_OEMESON = " \
-Dexamples=false \
-Dtests=disabled \
"
SRC_URI += "git://github.com/openbmc/stdplus"
-SRCREV = "a2d67e20529a1f720c13586553ad2cec1451d5a8"
+SRCREV = "5f22a6c260295b5d8553d77893aba01684e4a72c"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
index 4491a31ab..7b0ecd82b 100644
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
@@ -9,7 +9,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://github.com/openbmc/phosphor-certificate-manager"
-SRCREV = "c4522d2ea747e139dc97238b58c9609ac9d11776"
+SRCREV = "9fe64af47f6100266b4a0e234ff98d6e258bb150"
inherit autotools \
pkgconfig \
@@ -19,7 +19,6 @@ DEPENDS = " \
autoconf-archive-native \
openssl \
phosphor-dbus-interfaces \
- phosphor-dbus-interfaces-native \
phosphor-logging \
sdbusplus \
sdeventplus \
@@ -29,3 +28,7 @@ S = "${WORKDIR}/git"
CERT_TMPL = "phosphor-certificate-manager@.service"
SYSTEMD_SERVICE_${PN} = "${CERT_TMPL}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[ibm-hypervisor-cert] = "--enable-ca-cert-extension,,"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'ibm-hypervisor-cert', 'bmc-vmi-ca-manager.service', '', d)}"
diff --git a/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service b/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service
index 1e65d0887..df8383274 100644
--- a/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service
+++ b/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service
@@ -1,6 +1,7 @@
[Unit]
Description=Wait for Power%i to turn on
-Before=obmc-power-on@%i.target
+Wants=obmc-power-start-pre@%i.target
+After=obmc-power-start-pre@%i.target
Wants=obmc-power-start@%i.target
Before=obmc-power-start@%i.target
Wants=mapper-wait@-org-openbmc-control-power%i.service
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json
new file mode 100644
index 000000000..f112a7b6c
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json
@@ -0,0 +1,3 @@
+{
+ "buses": []
+}
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json
new file mode 100644
index 000000000..e0f80f604
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json
@@ -0,0 +1,3 @@
+{
+ "buses": [100, 101, 110, 111, 112, 113, 114, 115, 202, 203, 210, 211, 214, 215, 216, 217, 300, 301, 310, 311, 312, 313, 314, 315, 402, 403, 410, 411, 414, 415, 416, 417]
+}
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json
new file mode 100644
index 000000000..2dbf22d5d
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json
@@ -0,0 +1,3 @@
+{
+ "buses": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214]
+}
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index 2746e6d67..0a5c099c2 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -2,25 +2,43 @@ SUMMARY = "Entity Manager"
DESCRIPTION = "Entity Manager provides d-bus configuration data \
and configures system sensors"
-SRC_URI = "git://github.com/openbmc/entity-manager.git"
-SRCREV = "8c505da0ffd8709f3c799a855ff921cfbd446201"
+SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json"
+SRCREV = "9c7fd64642e4242d2422bd70abee04eda326e890"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b"
-SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.EntityManager.service \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipmi-fru', 'xyz.openbmc_project.FruDevice.service', '', d)}"
-
DEPENDS = "boost \
+ dbus \
nlohmann-json \
sdbusplus \
valijson"
-S = "${WORKDIR}/git/"
+S = "${WORKDIR}/git"
inherit meson systemd
EXTRA_OEMESON = "-Dtests=disabled"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipmi-fru', d)}"
+PACKAGECONFIG ??= "ipmi-fru"
PACKAGECONFIG[ipmi-fru] = "-Dfru-device=true, -Dfru-device=false, i2c-tools,"
+
+EXTRA_ENTITY_MANAGER_PACKAGES = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ipmi-fru', 'fru-device', '', d)} \
+ "
+
+PACKAGE_BEFORE_PN = "${EXTRA_ENTITY_MANAGER_PACKAGES}"
+
+do_install_append() {
+ install -D ${WORKDIR}/blocklist.json ${D}${datadir}/${BPN}/blacklist.json
+}
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services/xyz.openbmc_project.EntityManager.service \
+ "
+FILES_fru-device = "${bindir}/fru-device ${datadir}/${BPN}/blacklist.json"
+
+SYSTEMD_PACKAGES = "${PN} ${EXTRA_ENTITY_MANAGER_PACKAGES}"
+SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.EntityManager.service"
+SYSTEMD_SERVICE_fru-device = "xyz.openbmc_project.FruDevice.service"
+SYSTEMD_AUTO_ENABLE_fru-device_ibm-power-cpu = "disable"
diff --git a/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb b/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
index 8517262f3..4e9616ecc 100644
--- a/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb
@@ -20,7 +20,7 @@ RDEPENDS_${PN} += "phosphor-network"
RDEPENDS_${PN} += "phosphor-mapper"
SRC_URI += "git://github.com/openbmc/phosphor-time-manager"
-SRCREV = "3de9698dae2d251cba482d4ccc78d58d2a02d564"
+SRCREV = "c6d33972d95fd77dbbe5a249ee35ba90e25314f8"
PV = "1.0+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
index 7338cf27d..e7090b146 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
@@ -6,25 +6,33 @@ S = "${WORKDIR}/git"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-inherit autotools pkgconfig
-inherit python3native
+inherit meson
+inherit obmc-phosphor-utils
inherit phosphor-dbus-yaml
+inherit python3native
-DEPENDS += "autoconf-archive-native"
-DEPENDS += "${PYTHON_PN}-sdbus++-native"
+DEPENDS += " \
+ ${PYTHON_PN}-sdbus++-native \
+ sdbusplus \
+ systemd \
+ "
SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces"
-SRCREV = "264d401d288841da24b9ce1377e3c399a2f4c60a"
+SRCREV = "d37091affcd933b7bc7cfd0ac393e2dd539f0235"
-PACKAGECONFIG ??= "libphosphor_dbus"
-PACKAGECONFIG[libphosphor_dbus] = " \
- --enable-libphosphor_dbus, \
- --disable-libphosphor_dbus, \
- systemd sdbusplus, \
- libsystemd \
- "
+# Process OBMC_ORG_YAML_SUBDIRS to create Meson config options.
+# ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true
+def pdi_meson_config(d):
+ return ' '.join([
+ '-Ddata_' + x.replace('/', '_') + '=true' \
+ for x in listvar_to_list(d, 'OBMC_ORG_YAML_SUBDIRS')
+ ])
+pdi_meson_config[vardeps] = "OBMC_ORG_YAML_SUBDIRS"
-PACKAGECONFIG_remove_class-native = "libphosphor_dbus"
-PACKAGECONFIG_remove_class-nativesdk = "libphosphor_dbus"
+# Markdown files are installed into /usr/share/phosphor-dbus-interfaces so
+# add them to the 'doc' subpackage.
+FILES_${PN}-doc += "${datadir}/${BPN}"
-BBCLASSEXTEND += "native nativesdk"
+EXTRA_OEMESON_append = " \
+ -Db_lto=true \
+ ${@pdi_meson_config(d)}"
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
index 6f7951b9f..8e2f02293 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
@@ -26,7 +26,7 @@ SYSTEMD_SERVICE_${PN} += " \
"
SRC_URI += "git://github.com/openbmc/phosphor-objmgr"
-SRCREV = "551fafbce777ab0b5056c4934dea3e4477e7e911"
+SRCREV = "e82b05840ba633d1f0d2e301720a5af6989c91f7"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
index 3d1598e66..e1c98f546 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-debug-collector"
-SRCREV = "984a98f79022c60c51a465d4bbde1247d0f69b3e"
+SRCREV = "8b9b4690a4460ada5bf60a285ff6065eda6d5d4a"
diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
index 7f05e75a9..8d74f39e0 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
@@ -20,8 +20,7 @@ DBUS_PACKAGES = "${PN}-manager"
SYSTEMD_PACKAGES = "${PN}-monitor"
-inherit autotools \
- pkgconfig \
+inherit meson \
obmc-phosphor-dbus-service \
python3native \
phosphor-debug-collector
@@ -30,7 +29,6 @@ require phosphor-debug-collector.inc
DEPENDS += " \
phosphor-dbus-interfaces \
- phosphor-dbus-interfaces-native \
phosphor-logging \
sdbusplus \
${PYTHON_PN}-sdbus++-native \
@@ -71,9 +69,9 @@ FILES_${PN}-scripts += "${dreport_dir}"
DBUS_SERVICE_${PN}-manager += "${MGR_SVC}"
SYSTEMD_SERVICE_${PN}-monitor += "obmc-dump-monitor.service"
-EXTRA_OECONF = " \
- BMC_DUMP_PATH=${bmc_dump_path} \
- ERROR_MAP_YAML=${STAGING_DIR_NATIVE}/${datadir}/dump/errors_watch.yaml \
+EXTRA_OEMESON = " \
+ -DBMC_DUMP_PATH=${bmc_dump_path} \
+ -DERROR_MAP_YAML=${STAGING_DIR_NATIVE}/${datadir}/dump/errors_watch.yaml \
"
S = "${WORKDIR}/git"
@@ -179,15 +177,20 @@ python install_dreport_user_scripts() {
#Enable ubifs-workaround by DISTRO_FEATURE obmc-ubi-fs.
PACKAGECONFIG_append_df-obmc-ubi-fs = " ubifs-workaround"
PACKAGECONFIG[ubifs-workaround] = " \
- --enable-ubifs-workaround, \
- --disable-ubifs-workaround \
+ -Dubifs-workaround=enabled, \
+ -Dubifs-workaround=disabled \
"
PACKAGECONFIG[host-dump-offload-pldm] = " \
- --with-host-dump-offload-transport=pldm,, \
+ -Dhost-dump-offload-transport=pldm,, \
pldm \
"
+PACKAGECONFIG[openpower-dumps-extension] = " \
+ -Dopenpower-dumps-extension=enabled, \
+ -Dopenpower-dumps-extension=disabled \
+"
+
do_install[postfuncs] += "install_dreport"
do_install[postfuncs] += "install_dreport_conf_file"
do_install[postfuncs] += "install_dreport_plugins_scripts"
diff --git a/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb b/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb
new file mode 100644
index 000000000..166b58af6
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Phosphor BMC Memory ECC Logging"
+DESCRIPTION = "Daemon to monitor and report the BMC memory ECC"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+PR = "r1"
+
+inherit meson pkgconfig
+inherit systemd
+
+DEPENDS += "sdbusplus"
+DEPENDS += "phosphor-dbus-interfaces"
+DEPENDS += "sdeventplus"
+DEPENDS += "phosphor-logging"
+
+RDEPENDS_${PN} += "phosphor-sel-logger"
+
+SRC_URI = "git://github.com/openbmc/phosphor-ecc.git"
+SRCREV = "0841f8abf9b38f981d443ecc552cc2b014764bbf"
+
+S = "${WORKDIR}/git"
+
+SYSTEMD_SERVICE_${PN} = " ${PN}.service"
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
index ef9bee546..81eb17fce 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-fan-presence"
-SRCREV = "5e7298c58039b544ca917c27a01566fc28b18f0e"
+SRCREV = "fcbdc0e41f3987fed89c44b0fa5109805c41bcfd"
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
index 0f0c0a95b..082f3f117 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
@@ -8,13 +8,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
inherit autotools pkgconfig
-inherit phosphor-pid-control
inherit obmc-phosphor-ipmiprovider-symlink
inherit systemd
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-pid-control"
-SRCREV = "e30916c9ef6d363328b95c9947ac95d94a2b6a24"
+SRCREV = "ca791156e2594ce7d25b42793a0a1b60d922fefd"
# Each platform will need a service file that starts
# at an appropriate time per system. For instance, if
@@ -50,3 +49,8 @@ FILES_${PN}_append = " ${libdir}/net-ipmid/lib*${SOLIBS}"
FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la"
HOSTIPMI_PROVIDER_LIBRARY += "libmanualcmds.so"
+
+config_datadir="${datadir}/swampd/"
+# config_path is the location swampd expects to find a json configuration.
+# the file is expected to be named config.json
+config_path="${config_datadir}config.json"
diff --git a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb
index fb1480fb1..503e836a8 100644
--- a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb
+++ b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb
@@ -4,9 +4,11 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
inherit systemd
+SRC_URI += "file://noverify-bmc-update.service"
SRC_URI += "file://noverify-bmc-verify.service"
SRC_URI += "file://config-bmc.json"
+SYSTEMD_SERVICE_${PN} += "noverify-bmc-update.service"
SYSTEMD_SERVICE_${PN} += "noverify-bmc-verify.service"
FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-bmc.json"
@@ -15,5 +17,6 @@ do_install() {
install -m 0644 ${WORKDIR}/config-bmc.json ${D}${datadir}/phosphor-ipmi-flash
install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/noverify-bmc-update.service ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/noverify-bmc-verify.service ${D}${systemd_system_unitdir}
}
diff --git a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json
index 86afb3ba3..31df4a1ef 100644
--- a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json
+++ b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json
@@ -14,7 +14,7 @@
},
"update": {
"type": "systemd",
- "unit": "reboot.target"
+ "unit": "noverify-bmc-update.service"
}
}
}]
diff --git a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-update.service b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-update.service
new file mode 100644
index 000000000..e30d64723
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-update.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Commit image for update and reboot
+
+[Service]
+Type=oneshot
+ExecStart=/bin/mv /run/initramfs/bmc-image-verified /run/initramfs/image-bmc
+# This command is intentionally blocking to ensure this unit doesn't complete
+# before the BMC reboots.
+ExecStart=/usr/bin/systemctl start --job-mode=replace-irreversibly reboot.target
diff --git a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service
index 50855b6b2..a535329fb 100644
--- a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service
+++ b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service
@@ -3,4 +3,4 @@ Description=Don't verify the image, just stage it for update
[Service]
Type=oneshot
-ExecStart=/bin/mv /run/initramfs/bmc-image /run/initramfs/image-bmc
+ExecStart=/bin/mv /run/initramfs/bmc-image /run/initramfs/bmc-image-verified
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb
new file mode 100644
index 000000000..a9123b1b4
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Provides a host firmware image"
+DESCRIPTION = "Use a bbappend to add the image files"
+PR = "r1"
+
+inherit allarch
+inherit deploy
+
+HOSTFW_LICENSE ?= "Apache-2.0"
+HOSTFW_LIC_FILES_CHKSUM ?= "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+LICENSE = "${HOSTFW_LICENSE}"
+LIC_FILES_CHKSUM = "${HOSTFW_LIC_FILES_CHKSUM}"
+
+do_compile() {
+ # The image directory can be used as the source to create a filesystem to
+ # add to the BMC image.
+ install -d ${B}/image
+
+ # Install an image-hostfw file in the update directory to be included in
+ # the code update tarball.
+ install -d ${B}/update
+}
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/hostfw/image
+ install -d ${DEPLOYDIR}/hostfw/update
+ cp -R --no-dereference --preserve=mode,links ${B}/image/ ${DEPLOYDIR}/hostfw/
+ cp -R --no-dereference --preserve=mode,links ${B}/update/ ${DEPLOYDIR}/hostfw/
+}
+
+addtask deploy before do_build after do_compile
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-logging-error-logs-native.bbappend b/meta-phosphor/recipes-phosphor/flash/phosphor-logging-error-logs-native.bbappend
deleted file mode 100644
index beb70b0e6..000000000
--- a/meta-phosphor/recipes-phosphor/flash/phosphor-logging-error-logs-native.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-DEPENDS += "phosphor-software-manager-error-native"
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-yaml-provider_git.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-yaml-provider_git.bb
new file mode 100644
index 000000000..84450eb61
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-yaml-provider_git.bb
@@ -0,0 +1,10 @@
+SUMMARY = "phosphor-software-manager: install phosphor-logging yaml"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit phosphor-logging-yaml-provider
+require phosphor-software-manager.inc
+
+S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
index 8bc566ff4..c941014d3 100644
--- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-bmc-code-mgmt"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-bmc-code-mgmt"
-SRCREV = "0d7198f4eb6d36968e854b3246e6568305fdcc7b"
+SRCREV = "62f3820b3197e9f4cef781411d7d2e2f8fc36f71"
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb
index d83945ea4..d561eba48 100644
--- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb
@@ -12,6 +12,7 @@ SOFTWARE_MGR_PACKAGES = " \
${PN}-download-mgr \
${PN}-updater \
${PN}-updater-ubi \
+ ${PN}-updater-mmc \
${PN}-sync \
"
PACKAGE_BEFORE_PN += "${SOFTWARE_MGR_PACKAGES}"
@@ -23,18 +24,19 @@ DBUS_PACKAGES = "${SOFTWARE_MGR_PACKAGES}"
# handles the rest.
SYSTEMD_PACKAGES = ""
-PACKAGECONFIG[verify_signature] = "--enable-verify_signature,--disable-verify_signature"
-PACKAGECONFIG[sync_bmc_files] = "--enable-sync_bmc_files,--disable-sync_bmc_files"
-PACKAGECONFIG[ubifs_layout] = "--enable-ubifs_layout"
-PACKAGECONFIG[flash_bios] = "--enable-host_bios_upgrade"
+PACKAGECONFIG[verify_signature] = "-Dverify-signature=enabled, -Dverify-signature=disabled"
+PACKAGECONFIG[sync_bmc_files] = "-Dsync-bmc-files=enabled, -Dsync-bmc-files=disabled"
+PACKAGECONFIG[ubifs_layout] = "-Dbmc-layout=ubi"
+PACKAGECONFIG[mmc_layout] = "-Dbmc-layout=mmc"
+PACKAGECONFIG[flash_bios] = "-Dhost-bios-upgrade=enabled, -Dhost-bios-upgrade=disabled"
-inherit autotools pkgconfig
+inherit meson pkgconfig
inherit obmc-phosphor-dbus-service
inherit python3native
inherit ${@bb.utils.contains('DISTRO_FEATURES', 'obmc-ubi-fs', 'phosphor-software-manager-ubi-fs', '', d)}
+inherit ${@bb.utils.contains('DISTRO_FEATURES', 'phosphor-mmc', 'phosphor-software-manager-mmc', '', d)}
DEPENDS += " \
- autoconf-archive-native \
openssl \
phosphor-dbus-interfaces \
phosphor-logging \
@@ -45,10 +47,7 @@ DEPENDS += " \
RDEPENDS_${PN}-updater += " \
bash \
virtual-obmc-image-manager \
-"
-EXTRA_OECONF += " \
- ACTIVE_BMC_MAX_ALLOWED=1 \
- MEDIA_DIR=/run/media \
+ ${@bb.utils.contains('PACKAGECONFIG', 'verify_signature', 'phosphor-image-signing', '', d)} \
"
RPROVIDES_${PN}-version += " \
diff --git a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
index 4bbfd1638..092f02a6d 100644
--- a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
+++ b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
@@ -44,5 +44,5 @@ FILES_${PN}-monitor += "${base_libdir}/udev/rules.d/99-gpio-keys.rules"
FILES_${PN}-presence += "${bindir}/phosphor-gpio-presence"
SRC_URI += "git://github.com/openbmc/phosphor-gpio-monitor"
-SRCREV = "3b7f4fa427d1926d28d09aa9ecb4bc6e66256c9e"
+SRCREV = "3ce88a7b5a1c17ca53b63859a5dad840a995f42e"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb b/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb
new file mode 100644
index 000000000..fa9a63cdd
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb
@@ -0,0 +1,21 @@
+SUMMARY = "BMC Health Monitoring"
+DESCRIPTION = "Daemon to collect and monitor bmc health statistics"
+HOMEPAGE = "https://github.com/openbmc/phosphor-health-monitor"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9e69ba356fa59848ffd865152a3ccc13"
+
+inherit meson pkgconfig
+inherit systemd
+
+DEPENDS += "sdbusplus"
+DEPENDS += "phosphor-dbus-interfaces"
+DEPENDS += "sdeventplus"
+DEPENDS += "phosphor-logging"
+DEPENDS += "nlohmann-json"
+
+SRC_URI = "git://github.com/openbmc/phosphor-health-monitor.git;protocol=git"
+SRCREV = "af9acbde4b4d782d78fc8af30059207974bcc186"
+S = "${WORKDIR}/git"
+
+SYSTEMD_SERVICE_${PN} = "phosphor-health-monitor.service"
diff --git a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image-base.bb b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image-base.bb
new file mode 100644
index 000000000..2d9137705
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image-base.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "A basic OpenBMC image with no features enabled."
+
+IMAGE_LINGUAS = ""
+LICENSE = "Apache-2.0"
+
+inherit obmc-phosphor-image
+
+# The /etc/version file is misleading and not useful. Remove it.
+# Users should instead rely on /etc/os-release.
+ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; "
+
+# Disable the pager to prevent systemd injecting control characters into the
+# output stream that are not interpreted by busybox tools.
+ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; "
diff --git a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb
index eb82b3845..63908a145 100644
--- a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb
+++ b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb
@@ -1,6 +1,57 @@
-DESCRIPTION = "Image with Phosphor, an OpenBMC framework."
+DESCRIPTION = "Image with Phosphor, a software stack for hardware management \
+in devices with baseboard management controllers. The image supports the \
+full OpenBMC feature set for devices of all types."
IMAGE_LINGUAS = ""
+IMAGE_FEATURES += " \
+ obmc-bmc-state-mgmt \
+ obmc-bmcweb \
+ obmc-chassis-mgmt \
+ obmc-chassis-state-mgmt \
+ obmc-console \
+ obmc-dbus-monitor \
+ obmc-devtools \
+ obmc-fan-control \
+ obmc-fan-mgmt \
+ obmc-flash-mgmt \
+ obmc-fru-ipmi \
+ obmc-health-monitor \
+ obmc-host-ctl \
+ obmc-host-ipmi \
+ obmc-host-state-mgmt \
+ obmc-ikvm \
+ obmc-inventory \
+ obmc-leds \
+ obmc-logging-mgmt \
+ obmc-remote-logging-mgmt \
+ obmc-rng \
+ obmc-net-ipmi \
+ obmc-sensors \
+ obmc-software \
+ obmc-system-mgmt \
+ obmc-user-mgmt \
+ obmc-user-mgmt-ldap \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'obmc-ubi-fs', 'read-only-rootfs', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'phosphor-mmc', 'read-only-rootfs', '', d)} \
+ ssh-server-dropbear \
+ obmc-debug-collector \
+ obmc-network-mgmt \
+ obmc-settings-mgmt \
+ "
+
+LICENSE = "Apache-2.0"
+
inherit obmc-phosphor-image
+# The /etc/version file is misleading and not useful. Remove it.
+# Users should instead rely on /etc/os-release.
+ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; "
+
+# Disable the pager to prevent systemd injecting control characters into the
+# output stream that are not interpreted by busybox tools.
+ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; "
+
+# The shadow recipe provides the binaries(like useradd, usermod) needed by the
+# phosphor-user-manager.
+ROOTFS_RO_UNNEEDED_remove = "shadow"
diff --git a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb
index 739aab50b..4c7237fca 100644
--- a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb
+++ b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb
@@ -2,7 +2,11 @@ DESCRIPTION = "Small image capable of booting a device. The kernel includes \
the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \
first 'init' program more efficiently."
-PACKAGE_INSTALL = "${VIRTUAL-RUNTIME_base-utils} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL} obmc-phosphor-initfs"
+# Init scripts
+INIT_PACKAGE = "obmc-phosphor-initfs"
+INIT_PACKAGE_df-phosphor-mmc = "phosphor-mmc-init"
+
+PACKAGE_INSTALL = "${VIRTUAL-RUNTIME_base-utils} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL} ${INIT_PACKAGE}"
# Do not pollute the initrd image with rootfs features
IMAGE_FEATURES = "read-only-rootfs"
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh b/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh
index 62be89f03..e61ede911 100644
--- a/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh
@@ -128,18 +128,25 @@ try_wget() {
debug_takeover() {
echo "$@"
- test -n "$@" && echo Enter password to try to manually fix.
+
+ if ! grep -w enable-initrd-debug-sh "$optfile"
+ then
+ echo "Fatal error, triggering kernel panic!"
+ exit 1
+ fi
+
+ test -n "$@" && echo Try to manually fix.
cat << HERE
After fixing run exit to continue this script, or reboot -f to retry, or
touch /takeover and exit to become PID 1 allowing editing of this script.
HERE
- while ! sulogin && ! test -f /takeover
+ while ! /bin/sh && ! test -f /takeover
do
- echo getty failed, retrying
+ echo /bin/sh failed, retrying
done
- # Touch /takeover in the above getty to become pid 1
+ # Touch /takeover in the above shell to become pid 1
if test -e /takeover
then
cat << HERE
@@ -208,7 +215,12 @@ echo rofs = $rofs $rofst rwfs = $rwfs $rwfst
if grep -w debug-init-sh $optfile
then
- debug_takeover "Debug initial shell requested by command line."
+ if grep -w enable-initrd-debug-sh "$optfile"
+ then
+ debug_takeover "Debug initial shell requested by command line."
+ else
+ echo "Need to also add enable-initrd-debug-sh for debug shell."
+ fi
fi
if test "x$consider_download_files" = xy &&
@@ -394,7 +406,7 @@ then
Mounting read-write $rwdev filesystem failed. Please fix and run
mount $rwdev $rwdir -t $rwfst -o $rwopts
-to to continue, or do change nothing to run from RAM for this boot.
+or perform a factory reset with the clean-rwfs-filesystem option.
HERE
debug_takeover "$msg"
fi
@@ -411,7 +423,7 @@ do
Unable to confirm /sbin/init is an executable non-empty file
in merged file system mounted at /root.
-Change Root test failed! Invoking emergency shell.
+Change Root test failed!
HERE
debug_takeover "$msg"
done
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb
new file mode 100644
index 000000000..0c7a88cd9
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Phosphor OpenBMC pre-init scripts for mmc"
+DESCRIPTION = "Phosphor OpenBMC filesystem mount implementation for mmc."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+PR = "r1"
+
+inherit allarch
+
+RDEPENDS_${PN} += " \
+ ${VIRTUAL-RUNTIME_base-utils} \
+ e2fsprogs-e2fsck \
+ gptfdisk \
+ parted \
+ udev \
+"
+
+S = "${WORKDIR}"
+SRC_URI += "file://mmc-init.sh"
+
+do_install() {
+ install -m 0755 ${WORKDIR}/mmc-init.sh ${D}/init
+ install -d ${D}/dev
+ mknod -m 622 ${D}/dev/console c 5 1
+}
+
+FILES_${PN} += " /init /dev "
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh
new file mode 100644
index 000000000..061757519
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+# Get the value of the root env variable found in /proc/cmdline
+get_root() {
+ local root="$(cat /proc/cmdline)"
+ root="${root##* root=PARTLABEL=}"
+ root="${root%% *}"
+ [ "${root}" != "" ] && echo "${root}"
+}
+
+fslist="proc sys dev run"
+rodir=/mnt/rofs
+cd /
+mkdir -p $fslist
+mount dev dev -tdevtmpfs
+mount sys sys -tsysfs
+mount proc proc -tproc
+mount tmpfs run -t tmpfs -o mode=755,nodev
+
+# Wait up to 5s for the mmc device to appear. Continue even if the count is
+# exceeded. A failure will be caught later like in the mount command.
+mmcdev="/dev/mmcblk0"
+count=0
+while [ $count -lt 5 ]; do
+ if [ -e "${mmcdev}" ]; then
+ break
+ fi
+ sleep 1
+ count=$((count + 1))
+done
+
+# Move the secondary GPT to the end of the device if needed. Look for the GPT
+# header signature "EFI PART" located 512 bytes from the end of the device.
+magic=$(tail -c 512 "${mmcdev}" | hexdump -C -n 8 | grep "EFI PART")
+if test -z "${magic}"; then
+ sgdisk -e "${mmcdev}"
+ partprobe
+fi
+
+# There eMMC GPT labels for the rootfs are rofs-a and rofs-b, and the label for
+# the read-write partition is rwfs. Run udev to make the partition labels show
+# up. Mounting by label allows for partition numbers to change if needed.
+udevd --daemon
+udevadm trigger --type=devices --action=add
+udevadm settle --timeout=10
+
+mkdir -p $rodir
+if ! mount /dev/disk/by-partlabel/"$(get_root)" $rodir -t ext4 -o ro; then
+ /bin/sh
+fi
+
+rwfsdev="/dev/disk/by-partlabel/rwfs"
+fsck.ext4 -p "${rwfsdev}"
+if ! mount "${rwfsdev}" $rodir/var -t ext4 -o rw; then
+ /bin/sh
+fi
+
+rm -rf $rodir/var/persist/etc-work/
+mkdir -p $rodir/var/persist/etc $rodir/var/persist/etc-work $rodir/var/persist/home/root
+mount overlay $rodir/etc -t overlay -o lowerdir=$rodir/etc,upperdir=$rodir/var/persist/etc,workdir=$rodir/var/persist/etc-work
+
+for f in $fslist; do
+ mount --move $f $rodir/$f
+done
+
+exec chroot $rodir /sbin/init
diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
index 4dfbbcf27..6012ffe1f 100644
--- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
+++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
@@ -13,20 +13,28 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b"
SRC_URI = "git://github.com/openbmc/bmcweb.git"
PV = "1.0+git${SRCPV}"
-SRCREV = "1bf712bcd6b8d06a5d412cdf03cdc05cb6d25901"
+SRCREV = "929d4b57f10bc4200e16b71fbcf32521d8cc23c1"
S = "${WORKDIR}/git"
-DEPENDS = "openssl zlib boost libpam sdbusplus gtest nlohmann-json libtinyxml2 "
+DEPENDS = "openssl \
+ zlib \
+ boost \
+ boost-url \
+ libpam \
+ sdbusplus \
+ gtest \
+ nlohmann-json \
+ libtinyxml2 "
RDEPENDS_${PN} += "jsnbd"
FILES_${PN} += "${datadir}/** "
-inherit cmake
+inherit meson
-EXTRA_OECMAKE = "-DBMCWEB_BUILD_UT=OFF -DYOCTO_DEPENDENCIES=ON"
+EXTRA_OEMESON = "--buildtype=minsize -Dtests=disabled -Dyocto-deps=enabled"
SYSTEMD_SERVICE_${PN} += "bmcweb.service bmcweb.socket"
-FULL_OPTIMIZATION = "-Os -pipe "
+FULL_OPTIMIZATION = "-Os "
diff --git a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
index ff9889d5b..8490bab67 100644
--- a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
+++ b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-inventory-manager"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/phosphor-inventory-manager"
-SRCREV = "55f9eae440c883a32d9dfbdf51c6035555476c50"
+SRCREV = "84b99d990c98897df049493eb73aa41b9b9b7adb"
diff --git a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb
index 7fe311da5..1f108eb46 100644
--- a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb
@@ -17,7 +17,6 @@ require phosphor-inventory-manager.inc
DEPENDS += " \
phosphor-inventory-manager-assettag \
phosphor-dbus-interfaces \
- phosphor-dbus-interfaces-native \
phosphor-logging \
sdbusplus \
${PYTHON_PN}-sdbus++-native \
@@ -40,7 +39,7 @@ EXTRA_OECONF = " \
BUSNAME=${OBMC_INVENTORY_MGR_IFACE} \
INVENTORY_ROOT=${OBMC_INVENTORY_PATH} \
IFACE=${OBMC_INVENTORY_MGR_IFACE} \
- IFACES_PATH=${STAGING_DIR_HOST}${yaml_dir} \
+ IFACES_PATH=${STAGING_DIR_TARGET}${yaml_dir} \
"
PACKAGECONFIG ??= ""
diff --git a/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb b/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb
index f871088df..23f14eb63 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb
@@ -14,4 +14,4 @@ EXTRA_OECONF = "--disable-tests"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/ipmi-blob-tool"
-SRCREV = "00f39b84037a840a1b169a8017be75ac6636cb6f"
+SRCREV = "bae76647e7e5967a9e1a9729d7a74148f4b4a9ac"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb
index 4d973f6e8..8f1d34b58 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb
@@ -17,7 +17,7 @@ DEPENDS += "protobuf"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs-binarystore"
-SRCREV = "1a25e0d16ea5cb79d0942193bed92ac7dd287112"
+SRCREV = "c3abe753fca211f49eb68f7d34e37bfc9eb5d4c4"
FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES_${PN}_append = " ${libdir}/blob-ipmid/lib*${SOLIBS}"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
index 7d62fc7fc..2f9d7c184 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
@@ -16,7 +16,7 @@ DEPENDS += "ipmi-blob-tool"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs"
-SRCREV = "03fd5b8b9e8fc0eb7f77c1a170fd2c0018ab9e63"
+SRCREV = "99f25beb8cfb8a6704f2648ec47f066907403e55"
FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
index 7f26c247e..3b54d0c6c 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
@@ -165,7 +165,7 @@
}
},
"15" : {
- "name" : "SMS",
+ "name" : "ipmi_kcs3",
"is_valid" : true,
"active_sessions" : 0,
"channel_info" : {
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
index 0b6701efd..6985a2617 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
@@ -14,7 +14,7 @@ DEPENDS += "phosphor-ipmi-host"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-ethstats"
-SRCREV = "7a1b2033e8cce2fe711d8a033885d9048325332d"
+SRCREV = "75ca0187b1082683bd5663725dde02c465b0fc2c"
FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
index 5c8acc685..27c668985 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
@@ -45,7 +45,7 @@ EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
-SRCREV = "6f61af8fd125400d064715559cfffba92afaecf6"
+SRCREV = "85e54f1bf6867cb53723be1196da28225b6525d3"
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index 8a2e98f91..7f9c29ad4 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "3dc3558944da95b8b288fa1afc3aaa96d273383d"
+SRCREV = "515bc375cb8daaee981bae97fa7ae80e7bf65c62"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service
index 600c86ac2..a3222a950 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service
@@ -2,10 +2,11 @@
Description=Soft power off of the host
Wants=mapper-wait@-org-openbmc-HostIpmi-1.service
After=mapper-wait@-org-openbmc-HostIpmi-1.service
-Wants=obmc-host-stopping@0.target
-Before=obmc-host-stopping@0.target
+Wants=obmc-host-stop-pre@0.target
+Before=obmc-host-stop-pre@0.target
Conflicts=obmc-host-start@0.target
ConditionPathExists=!/run/openbmc/host@0-request
+ConditionPathExists=!/lib/systemd/system/pldmSoftPowerOff.service
[Service]
Restart=no
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
index 26617a911..c3028ab73 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The IPMB bridge implements a Dbus compliant interface for \
implementing IPMB interfaces"
SRC_URI = "git://github.com/openbmc/ipmbbridge.git"
-SRCREV = "a86059348fe133725f4616f3e46ff0d555db4039"
+SRCREV = "3e07b9ea353b794f9ef666172265ecc056e5cd4d"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
@@ -17,6 +17,6 @@ DEPENDS = "sdbusplus \
boost \
nlohmann-json"
-S = "${WORKDIR}/git/"
+S = "${WORKDIR}/git"
inherit cmake systemd
FILES_${PN} += "/usr/share/ipmbbridge/ipmb-channels.json"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
index 15d08efce..a4d4b4bb2 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
@@ -30,4 +30,4 @@ DEPENDS += " \
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/kcsbridge.git"
-SRCREV = "58d596ad9625790b5e06804360aa161579364425"
+SRCREV = "4a4d1d03d99fabe089e649aa226ad4c61e71684e"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
index b622f833e..b18ea0136 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
@@ -15,8 +15,10 @@ DEPENDS += "phosphor-mapper"
DEPENDS += "systemd"
DEPENDS += "phosphor-ipmi-host"
+RRECOMMENDS_${PN} = "pam-ipmi"
+
SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid"
-SRCREV = "9d9b7638cb1e95989329680730ec272da786615f"
+SRCREV = "07bb095158b39cedb49dae0972e489a6a2776faf"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml
index 8188612b3..44caf9e4b 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml
@@ -271,7 +271,7 @@ cpucore_temp_sensor:
Value:
Offsets:
0xFF:
- type: int64_t
+ type: double
dimm_temp_sensor:
serviceInterface: org.freedesktop.DBus.Properties
@@ -289,7 +289,7 @@ dimm_temp_sensor:
Value:
Offsets:
0xFF:
- type: int64_t
+ type: double
vrm_vdd_temp_sensor:
serviceInterface: org.freedesktop.DBus.Properties
@@ -307,7 +307,7 @@ vrm_vdd_temp_sensor:
Value:
Offsets:
0xFF:
- type: int64_t
+ type: double
gpu_temp_sensor:
serviceInterface: org.freedesktop.DBus.Properties
@@ -325,7 +325,7 @@ gpu_temp_sensor:
Value:
Offsets:
0xFF:
- type: int64_t
+ type: double
memory_temp_sensor:
serviceInterface: org.freedesktop.DBus.Properties
@@ -343,7 +343,7 @@ memory_temp_sensor:
Value:
Offsets:
0xFF:
- type: int64_t
+ type: double
ps_derating_sensor:
serviceInterface: org.freedesktop.DBus.Properties
readingType: assertion
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb
new file mode 100644
index 000000000..8c009fce3
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb
@@ -0,0 +1,10 @@
+SUMMARY = "phosphor-led-manager: install phosphor-logging yaml"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit phosphor-logging-yaml-provider
+require phosphor-led-manager.inc
+
+S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
index 7b7790272..838c60a14 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-led-manager"
-SRCREV = "d02c3cb424653592daade4419b53ee52c1105c03"
+SRCREV = "4c5f53371272641f27b584530e594883fcd447ef"
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service
index 8e852a4f8..5e361a38c 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service
@@ -1,6 +1,8 @@
[Unit]
Description=Phosphor LED Group Management Daemon
Before=mapper-wait@-xyz-openbmc_project-led-groups.service
+Wants=obmc-mapper.target
+After=obmc-mapper.target
[Service]
Restart=always
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
index 9fdeea0f0..55171dbed 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
@@ -27,12 +27,15 @@ DEPENDS += "autoconf-archive-native"
DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native"
DEPENDS += "systemd"
DEPENDS += "phosphor-logging"
+DEPENDS += "nlohmann-json"
DEPENDS += "virtual/${PN}-config-native"
+RDEPENDS_${PN}-ledmanager += "bash"
+
S = "${WORKDIR}/git"
-FILES_${PN}-ledmanager += "${bindir}/phosphor-ledmanager"
+FILES_${PN}-ledmanager += "${bindir}/phosphor-ledmanager ${bindir}/led-set-all-groups-asserted.sh"
FILES_${PN}-faultmonitor += "${bindir}/phosphor-fru-fault-monitor"
DBUS_SERVICE_${PN}-ledmanager += "xyz.openbmc_project.LED.GroupManager.service"
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
index 052aa850e..c3768c9d9 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
@@ -19,7 +19,7 @@ DBUS_SERVICE_${PN} += "xyz.openbmc_project.led.controller@.service"
SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs"
SRC_URI += "file://70-leds.rules"
-SRCREV = "ca3dd7dd91830515251bbf91ba0644052c630be2"
+SRCREV = "61b906367119b794a9788725fad86a3174bd83c0"
S = "${WORKDIR}/git"
do_install_append() {
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-logging-error-logs-native.bbappend b/meta-phosphor/recipes-phosphor/leds/phosphor-logging-error-logs-native.bbappend
deleted file mode 100644
index 3f2c5c811..000000000
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-logging-error-logs-native.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-DEPENDS += "phosphor-led-manager-error-native"
diff --git a/meta-phosphor/recipes-phosphor/logging/ffdc_git.bb b/meta-phosphor/recipes-phosphor/logging/ffdc_git.bb
index 750a6dff1..5c8f8aebc 100644
--- a/meta-phosphor/recipes-phosphor/logging/ffdc_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/ffdc_git.bb
@@ -15,7 +15,7 @@ RDEPENDS_${PN} += " \
S = "${WORKDIR}/git"
SRC_URI += "git://github.com/openbmc/phosphor-debug-collector"
-SRCREV = "984a98f79022c60c51a465d4bbde1247d0f69b3e"
+SRCREV = "8b9b4690a4460ada5bf60a285ff6065eda6d5d4a"
do_install() {
install -d ${D}${bindir}
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
index 24749c027..8816f1ab6 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb
@@ -4,9 +4,7 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-hostlogger"
PR = "r1"
PV = "1.0+git${SRCPV}"
-inherit autotools
-inherit pkgconfig
-inherit python3native
+inherit meson
inherit systemd
# License info
@@ -14,27 +12,55 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
# Dependencies
-DEPENDS += "\
- autoconf-archive-native \
- sdbusplus \
- ${PYTHON_PN}-sdbus++-native \
- phosphor-dbus-interfaces \
+DEPENDS += " \
+ phosphor-logging \
+ zlib \
"
RDEPENDS_${PN} += "obmc-console"
RRECOMMENDS_${PN} += "phosphor-debug-collector"
-# systemd service setup
+# Source code repository
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/openbmc/phosphor-hostlogger"
+SRCREV = "e9af83c6f5cc14a7493de5359b3c65b8832c99f0"
+
+# Systemd service template
SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "hostlogger.service"
+SYSTEMD_SERVICE_${PN} = "hostlogger@.service"
-# Host TTY setup
-OBMC_CONSOLE_HOST_TTY ?= "ttyVUART0"
+# Default service instance to install (single-host mode)
+DEFAULT_INSTANCE = "ttyVUART0"
+DEFAULT_SERVICE = "hostlogger@${DEFAULT_INSTANCE}.service"
-# Extra parameters for 'configure' script
-EXTRA_OECONF = "HOST_TTY=${OBMC_CONSOLE_HOST_TTY} \
- SYSTEMD_TARGET=multi-user.target"
+# Multi-host mode setup - list of configuration files to install, can be added
+# via SRC_URI in a bbappend. The file name is the name of the service instance,
+# which should match the corresponding instance of the obmc-console service.
+CUSTOM_CONFIGS = "${@custom_configs('${WORKDIR}')}"
+CUSTOM_SERVICES = "${@custom_services('${CUSTOM_CONFIGS}')}"
-# Source code repository
-S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/openbmc/phosphor-hostlogger"
-SRCREV = "ea31658b6df1c51b28ed28e3e459a64fb8d13da8"
+# Preset systemd units
+SYSTEMD_SERVICE_${PN} += "${@'${CUSTOM_SERVICES}' if len('${CUSTOM_SERVICES}') \
+ else '${DEFAULT_SERVICE}'}"
+
+# Gets list of custom config files in a directory
+def custom_configs(workdir):
+ if os.path.exists(workdir):
+ return ' '.join([f for f in os.listdir(workdir) if f.endswith('.conf')])
+
+# Get list of custom service instances
+def custom_services(configs):
+ return ' '.join(['hostlogger@' + i.replace('.conf', '.service') \
+ for i in configs.split()])
+
+do_install_append() {
+ # Install config files
+ if [ -n "${CUSTOM_CONFIGS}" ]; then
+ for CONFIG_FILE in ${CUSTOM_CONFIGS}; do
+ install -Dm 0644 ${WORKDIR}/${CONFIG_FILE} \
+ ${D}${sysconfdir}/hostlogger/${CONFIG_FILE}
+ done
+ else
+ install -Dm 0644 ${S}/default.conf \
+ ${D}${sysconfdir}/hostlogger/${DEFAULT_INSTANCE}.conf
+ fi
+}
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb
deleted file mode 100644
index 23464ebbd..000000000
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Phosphor OpenBMC - error log meta data generation"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit native
-
-#To append new recipes that copies error yaml files to the known
-#location, add DEPENDS relationhip using bbappend to
-#phosphor-logging-error-log-native recipe with the native
-#recipe name
-
-#Refer to openpower-debug-collector-error-native.bb to see how
-#to copy error yaml files to a known location
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
index 7e36d7871..cf068c9d7 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
@@ -20,12 +20,11 @@ DEPENDS += "${PYTHON_PN}-pyyaml-native"
DEPENDS += "${PYTHON_PN}-native"
DEPENDS += "${PYTHON_PN}-sdbus++-native"
DEPENDS += "sdbusplus"
-DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native"
+DEPENDS += "phosphor-dbus-interfaces"
DEPENDS += "virtual/phosphor-logging-callouts"
-DEPENDS += "phosphor-logging-error-logs-native"
-DEPENDS += "phosphor-logging-native"
DEPENDS += "libcereal"
DEPENDS += "sdeventplus"
+DEPENDS_append_class-target = " packagegroup-obmc-yaml-providers"
PACKAGE_BEFORE_PN = "${PN}-test"
FILES_${PN}-test = "${bindir}/*-test"
@@ -56,7 +55,7 @@ FILES_phosphor-rsyslog-config += " \
"
SRC_URI += "git://github.com/openbmc/phosphor-logging"
-SRCREV = "0649b985860f7e0dc75e044f4b7598b767c94a9f"
+SRCREV = "1ab6696f0103d60ffb398b45d3fcd1afeeff6a4e"
S = "${WORKDIR}/git"
@@ -98,7 +97,7 @@ PACKAGECONFIG[openpower-pels] = " \
--enable-openpower-pel-extension, \
--disable-openpower-pel-extension, \
nlohmann-json nlohmann-fifo cli11 pldm, \
- , \
+ python3, \
"
# Enable install_scripts during native and native SDK build
@@ -109,7 +108,7 @@ PACKAGECONFIG_add_class-nativesdk = "install_scripts"
PACKAGECONFIG_remove_class-target = "install_scripts"
EXTRA_OECONF = " \
- YAML_DIR=${STAGING_DIR_NATIVE}${yaml_dir} \
+ YAML_DIR=${STAGING_DIR_TARGET}${yaml_dir} \
CALLOUTS_YAML=${STAGING_DIR_NATIVE}${callouts_datadir}/callouts.yaml \
"
diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb
index a2577cfc4..1d30a775d 100644
--- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb
+++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb
@@ -11,7 +11,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae"
SRC_URI = "git://github.com/openbmc/libmctp \
file://default"
-SRCREV = "34b9b3d82b049610775aea4460ff0f3bb9f02b1d"
+SRCREV = "c2b833e40ddb858a94734f77a0bd761b76733c65"
CONFFILES_${PN} = "${sysconfdir}/default/mctp"
DEPENDS += "autoconf-archive-native \
diff --git a/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb b/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb
new file mode 100644
index 000000000..ee5bc4f64
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb
@@ -0,0 +1,61 @@
+SUMMARY = "Miscellaneous OpenBMC functions"
+HOMEPAGE = "https://github.com/openbmc/phosphor-misc"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openbmc/phosphor-misc"
+SRCREV = "75d4734fb8bc390d97106544af8f2ffd2d9bf02c"
+
+S = "${WORKDIR}/git"
+
+inherit meson
+inherit pkgconfig
+inherit systemd
+
+DEPENDS = "systemd"
+
+PHOSPHOR_MISC_PACKAGES = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'first-boot-set-hostname', '${PN}-first-boot-set-hostname', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'first-boot-set-mac', '${PN}-first-boot-set-mac', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'http-redirect-awk', '${PN}-http-redirect-awk', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'usb-ctrl', '${PN}-usb-ctrl', '', d)} \
+ "
+
+PACKAGES_remove = "${PN}"
+RDEPENDS_${PN}-dev = ""
+
+PACKAGE_BEFORE_PN += "${PHOSPHOR_MISC_PACKAGES}"
+SYSTEMD_PACKAGES = "${PHOSPHOR_MISC_PACKAGES}"
+
+PACKAGECONFIG ??= " \
+ first-boot-set-hostname \
+ first-boot-set-mac \
+ http-redirect-awk \
+ usb-ctrl \
+ "
+
+PACKAGECONFIG[first-boot-set-hostname] = "-Dfirst-boot-set-hostname=enabled, -Dfirst-boot-set-hostname=disabled"
+PACKAGECONFIG[first-boot-set-mac] = "-Dfirst-boot-set-mac=enabled, -Dfirst-boot-set-mac=disabled"
+PACKAGECONFIG[http-redirect-awk] = "-Dhttp-redirect=enabled, -Dhttp-redirect=disabled"
+PACKAGECONFIG[usb-ctrl] = "-Dusb-ctrl=enabled, -Dusb-ctrl=disabled"
+
+# first-boot-set-hostname
+FILES_${PN}-first-boot-set-hostname = "${bindir}/first-boot-set-hostname.sh"
+SYSTEMD_SERVICE_${PN}-first-boot-set-hostname = "first-boot-set-hostname.service"
+
+# first-boot-set-mac
+FILES_${PN}-first-boot-set-mac = "${bindir}/first-boot-set-mac.sh"
+SYSTEMD_SERVICE_${PN}-first-boot-set-mac = "first-boot-set-mac@.service"
+
+# http-redirect-awk
+FILES_${PN}-http-redirect-awk = "${bindir}/http-redirect.awk"
+SYSTEMD_SERVICE_${PN}-http-redirect-awk = " \
+ http-redirect@.service \
+ http-redirect.socket \
+ "
+RDEPENDS_${PN}-http-redirect-awk = "${VIRTUAL-RUNTIME_base-utils}"
+
+# usb-ctrl
+FILES_${PN}-usb-ctrl = "${bindir}/usb-ctrl"
diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb
index 0928c95ff..72f49a5bc 100644
--- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb
+++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb
@@ -16,9 +16,16 @@ DEPENDS += "systemd"
DEPENDS += "autoconf-archive-native"
DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native"
DEPENDS += "sdeventplus"
-DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native"
+DEPENDS += "phosphor-dbus-interfaces"
DEPENDS += "phosphor-logging"
DEPENDS += "libnl"
+DEPENDS += "stdplus"
+DEPENDS += "nlohmann-json"
+
+PACKAGECONFIG ??= "uboot-env"
+
+UBOOT_ENV_RDEPENDS = "${@d.getVar('PREFERRED_PROVIDER_u-boot-fw-utils', True) or 'u-boot-fw-utils'}"
+PACKAGECONFIG[uboot-env] = "--with-uboot-env,--without-uboot-env,,${UBOOT_ENV_RDEPENDS}"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb
index fdccf1f1b..aa4c05b04 100644
--- a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb
+++ b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb
@@ -19,7 +19,7 @@ DBUS_SERVICE_${PN} += "xyz.openbmc_project.Network.SNMP.service"
DEPENDS += "systemd"
DEPENDS += "autoconf-archive-native"
DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native"
-DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native"
+DEPENDS += "phosphor-dbus-interfaces"
DEPENDS += "phosphor-logging"
DEPENDS += "net-snmp"
diff --git a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
index 8e6fe769c..e080ff635 100644
--- a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
+++ b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
@@ -6,16 +6,22 @@ inherit packagegroup
PROVIDES = "${PACKAGES}"
PACKAGES = " \
${PN}-bmc-state-mgmt \
+ ${PN}-bmcweb \
${PN}-chassis-state-mgmt \
+ ${PN}-console \
+ ${PN}-dbus-monitor \
${PN}-extras \
- ${PN}-extrasdev \
- ${PN}-extrasdevtools \
+ ${PN}-devtools \
${PN}-fan-control \
+ ${PN}-fru-ipmi \
+ ${PN}-health-monitor \
${PN}-host-state-mgmt \
+ ${PN}-ikvm \
${PN}-inventory \
${PN}-leds \
${PN}-logging \
${PN}-remote-logging \
+ ${PN}-rng \
${PN}-sensors \
${PN}-software \
${PN}-host-check-mgmt \
@@ -23,6 +29,7 @@ PACKAGES = " \
${PN}-settings \
${PN}-network \
${PN}-user-mgmt \
+ ${PN}-user-mgmt-ldap \
"
SUMMARY_${PN}-bmc-state-mgmt = "BMC state management"
@@ -31,30 +38,40 @@ RDEPENDS_${PN}-bmc-state-mgmt = " \
phosphor-state-manager-systemd-target-monitor \
"
+SUMMARY_${PN}-bmcweb = "bmcweb support"
+RDEPENDS_${PN}-bmcweb = " \
+ bmcweb \
+ phosphor-bmcweb-cert-config \
+ "
+
SUMMARY_${PN}-chassis-state-mgmt = "Chassis state management"
RDEPENDS_${PN}-chassis-state-mgmt = " \
${VIRTUAL-RUNTIME_obmc-chassis-state-manager} \
obmc-phosphor-power \
"
-SUMMARY_${PN}-extras = "Extra features"
-RDEPENDS_${PN}-extras = " \
- bmcweb \
- phosphor-bmcweb-cert-config \
- phosphor-nslcd-cert-config \
- phosphor-nslcd-authority-cert-config \
- obmc-ikvm \
- phosphor-dbus-monitor \
- phosphor-systemd-policy \
+SUMMARY_${PN}-console = "Serial over LAN support"
+RDEPENDS_${PN}-console = " \
+ obmc-console \
"
-SUMMARY_${PN}-extrasdev = "Development features"
-RDEPENDS_${PN}-extrasdev = " \
- "
+# Deprecated - add new packages to an existing packagegroup or create a new one.
+SUMMARY_${PN}-extras = "Extra features"
+RDEPENDS_${PN}-extras = ""
-SUMMARY_${PN}-extrasdevtools = "Development tools"
-RDEPENDS_${PN}-extrasdevtools = " \
+SUMMARY_${PN}-devtools = "Development tools"
+RDEPENDS_${PN}-devtools = " \
+ bash \
+ ffdc \
+ i2c-tools \
libgpiod-tools \
+ lrzsz \
+ rsync \
+ "
+
+SUMMARY_${PN}-dbus-monitor = "Support for dbus monitoring"
+RDEPENDS_${PN}-dbus-monitor = " \
+ phosphor-dbus-monitor \
"
# Use the fan control package group for applications
@@ -67,12 +84,27 @@ RDEPENDS_${PN}-fan-control = " \
phosphor-fan-monitor \
"
+SUMMARY_${PN}-fru-ipmi = "Support for EEPROMS with IPMI FRU"
+RDEPENDS_${PN}-fru-ipmi = " \
+ fru-device \
+ "
+
+SUMMARY_${PN}-health-monitor = "Support for health monitoring"
+RDEPENDS_${PN}-health-monitor = " \
+ phosphor-health-monitor \
+ "
+
SUMMARY_${PN}-host-state-mgmt = "Host state management"
RDEPENDS_${PN}-host-state-mgmt = " \
${VIRTUAL-RUNTIME_obmc-host-state-manager} \
${VIRTUAL-RUNTIME_obmc-discover-system-state} \
"
+SUMMARY_${PN}-ikvm = "KVM over IP support"
+RDEPENDS_${PN}-ikvm = " \
+ obmc-ikvm \
+ "
+
SUMMARY_${PN}-inventory = "Inventory applications"
RDEPENDS_${PN}-inventory = " \
${VIRTUAL-RUNTIME_obmc-inventory-manager} \
@@ -97,6 +129,11 @@ RDEPENDS_${PN}-remote-logging = " \
phosphor-rsyslog-config \
"
+SUMMARY_${PN}-rng = "Random Number Generator support"
+RDEPENDS_${PN}-rng = " \
+ rng-tools \
+ "
+
SUMMARY_${PN}-sensors = "Sensor applications"
RDEPENDS_${PN}-sensors = " \
${VIRTUAL-RUNTIME_obmc-sensors-hwmon} \
@@ -105,10 +142,13 @@ RDEPENDS_${PN}-sensors = " \
${PN}-software-extras = ""
${PN}-software-extras_df-obmc-ubi-fs = " \
- phosphor-image-signing \
phosphor-software-manager-updater-ubi \
"
+${PN}-software-extras_df-phosphor-mmc = " \
+ phosphor-software-manager-updater-mmc \
+ "
+
SUMMARY_${PN}-software = "Software applications"
RDEPENDS_${PN}-software = " \
${VIRTUAL-RUNTIME_obmc-bmc-download-mgr} \
@@ -138,6 +178,16 @@ RDEPENDS_${PN}-network = " \
SUMMARY_${PN}-user-mgmt = "User management applications"
RDEPENDS_${PN}-user-mgmt = " \
${VIRTUAL-RUNTIME_obmc-user-mgmt} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'nss-pam-ldapd', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'phosphor-ldap', '', d)} \
+ "
+RRECOMMENDS_${PN}-user-mgmt = " \
+ pam-plugin-access \
+ "
+
+SUMMARY_${PN}-user-mgmt-ldap = "LDAP users and groups support"
+RDEPENDS_${PN}-user-mgmt-ldap = " \
+ ${PN}-user-mgmt \
+ nss-pam-ldapd \
+ phosphor-ldap \
+ phosphor-nslcd-cert-config \
+ phosphor-nslcd-authority-cert-config \
"
diff --git a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-yaml-providers.bb b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-yaml-providers.bb
new file mode 100644
index 000000000..783ce40ce
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-yaml-providers.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Phosphor OpenBMC - YAML Providers"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+# This is a packagegroup in name and principle but we do not want to inherit
+# from packagegroup.bbclass. The point of this packagegroup is to get the
+# sysroot populated with YAML files from the DEPENDS packages and if we inherit
+# the packagegroup bbclass this doesn't happen, because that bbclass `deltask`
+# a number that are required.
+# inherit packagegroup
+
+OBMC_YAML_PROVIDER_RECIPES += " \
+ phosphor-led-manager-yaml-provider \
+ phosphor-software-manager-yaml-provider \
+ "
+
+DEPENDS = "${OBMC_YAML_PROVIDER_RECIPES}"
+RDEPENDS_${PN} = "${OBMC_YAML_PROVIDER_RECIPES}"
diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc
index 60a42814b..760da0294 100644
--- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc
+++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://github.com/openbmc/pldm"
-SRCREV = "fd972645a84b3cc9454c680b2f9cdb758a2fe55c"
+SRCREV = "30450fe332d30dc658892c16f6ef303a7db19441"
diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb b/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb
index d8dcd0d2c..1c07ad59d 100644
--- a/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb
+++ b/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb
@@ -4,6 +4,7 @@ PR = "r1"
PV = "1.0+git${SRCPV}"
inherit meson pkgconfig
+inherit systemd
require pldm.inc
@@ -15,7 +16,33 @@ DEPENDS += "cli11"
S = "${WORKDIR}/git"
+SYSTEMD_SERVICE_${PN} += "pldmd.service"
+SYSTEMD_SERVICE_${PN} += "pldmSoftPowerOff.service"
+
EXTRA_OEMESON = " \
-Dtests=disabled \
-Doem-ibm=disabled \
"
+
+# Install pldmSoftPowerOff.service in correct targets
+pkg_postinst_${PN} () {
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/pldmSoftPowerOff.service"
+ TARGET="../pldmSoftPowerOff.service"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/pldmSoftPowerOff.service"
+ TARGET="../pldmSoftPowerOff.service"
+ ln -s $TARGET $LINK
+}
+
+pkg_prerm_${PN} () {
+
+ LINK="$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/pldmSoftPowerOff.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/pldmSoftPowerOff.service"
+ rm $LINK
+}
diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
index c7c0a9485..5efbefb04 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-power"
-SRCREV = "89283d10ec148cdcdf14738bfe5991866d0a3cf8"
+SRCREV = "d58858ca029f432b3a98f777d3b1fbfb7ff00245"
diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb b/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb
index 8c68d91e0..012b4939e 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb
@@ -27,11 +27,8 @@ ALLOW_EMPTY_${PN} = "1"
SYSTEMD_PACKAGES = "${POWER_SERVICE_PACKAGES}"
-# TODO: in future when openpower-dbus-interfaces is removed from
-# phosphor-power, remove the dependency here.
DEPENDS += " \
phosphor-logging \
- openpower-dbus-interfaces \
${PYTHON_PN}-sdbus++-native \
sdeventplus \
nlohmann-json \
diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb b/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb
index 14cf6ac01..42b63e151 100644
--- a/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb
@@ -2,7 +2,7 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-psu-code-mgmt"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI += "git://github.com/openbmc/phosphor-psu-code-mgmt"
-SRCREV = "bfa8d16f364ca16bd0c8101ad285bd78bd54d751"
+SRCREV = "de27029319bf04250d7660976091b7c297ed3c41"
SUMMARY = "Phosphor PSU software manager"
DESCRIPTION = "Providing PSU firmware version and upgrade"
diff --git a/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb b/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
index e09f3ffe8..37d67f8a6 100644
--- a/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
+++ b/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
@@ -10,7 +10,7 @@ DESCRIPTION = "Utility to write IPMI SEL records to the journal"
# Monitors and logs SEL records for threshold sensor events
inherit cmake systemd
-S = "${WORKDIR}/git/"
+S = "${WORKDIR}/git"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
DEPENDS += "systemd sdbusplus boost phosphor-ipmi-host"
SRC_URI = "git://github.com/openbmc/phosphor-sel-logger.git;protocol=git"
-SRCREV = "761bf202ba9db9fe644f8f400a5e768abe1a70cf"
+SRCREV = "df7bc1c6951fb7dd2776008aa0b7dc6bea44bed4"
PV = "0.1+git${SRCPV}"
diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
index dc78f4f68..238f43310 100644
--- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
@@ -2,26 +2,66 @@ SUMMARY = "dbus-sensors"
DESCRIPTION = "Dbus Sensor Services Configured from D-Bus"
SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
-SRCREV = "38fb598381a9fc7c4e2bbd7b585f788d0c7353e5"
+SRCREV = "3bcd823e3783bc49c1e75dec2d43a3ef54333c88"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.fansensor.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.adcsensor.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.hwmontempsensor.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.cpusensor.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.exitairsensor.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.ipmbsensor.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.intrusionsensor.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.psusensor.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.mcutempsensor.service"
+PACKAGECONFIG ??= " \
+ adcsensor \
+ cpusensor \
+ exitairtempsensor \
+ fansensor \
+ hwmontempsensor \
+ intrusionsensor \
+ ipmbsensor \
+ mcutempsensor \
+ psusensor \
+ "
+
+PACKAGECONFIG[adcsensor] = "-DDISABLE_ADC=OFF, -DDISABLE_ADC=ON"
+PACKAGECONFIG[cpusensor] = "-DDISABLE_CPU=OFF, -DDISABLE_CPU=ON"
+PACKAGECONFIG[exitairtempsensor] = "-DDISABLE_EXIT_AIR=OFF, -DDISABLE_EXIT_AIR=ON"
+PACKAGECONFIG[fansensor] = "-DDISABLE_FAN=OFF, -DDISABLE_FAN=ON"
+PACKAGECONFIG[hwmontempsensor] = "-DDISABLE_HWMON_TEMP=OFF, -DDISABLE_HWMON_TEMP=ON"
+PACKAGECONFIG[intrusionsensor] = "-DDISABLE_INTRUSION=OFF, -DDISABLE_INTRUSION=ON"
+PACKAGECONFIG[ipmbsensor] = "-DDISABLE_IPMB=OFF, -DDISABLE_IPMB=ON"
+PACKAGECONFIG[mcutempsensor] = "-DDISABLE_MCUTEMP=OFF, -DDISABLE_MCUTEMP=ON"
+PACKAGECONFIG[psusensor] = "-DDISABLE_PSU=OFF, -DDISABLE_PSU=ON"
+
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'adcsensor', \
+ 'xyz.openbmc_project.adcsensor.service', \
+ '', d)}"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'cpusensor', \
+ 'xyz.openbmc_project.cpusensor.service', \
+ '', d)}"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'exitairtempsensor', \
+ 'xyz.openbmc_project.exitairsensor.service', \
+ '', d)}"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'fansensor', \
+ 'xyz.openbmc_project.fansensor.service', \
+ '', d)}"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'hwmontempsensor', \
+ 'xyz.openbmc_project.hwmontempsensor.service', \
+ '', d)}"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'intrusionsensor', \
+ 'xyz.openbmc_project.intrusionsensor.service', \
+ '', d)}"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'ipmbsensor', \
+ 'xyz.openbmc_project.ipmbsensor.service', \
+ '', d)}"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'mcutempsensor', \
+ 'xyz.openbmc_project.mcutempsensor.service', \
+ '', d)}"
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'psusensor', \
+ 'xyz.openbmc_project.psusensor.service', \
+ '', d)}"
DEPENDS = "boost nlohmann-json sdbusplus i2c-tools libgpiod"
inherit cmake systemd
-S = "${WORKDIR}/git/"
+S = "${WORKDIR}/git"
EXTRA_OECMAKE = "-DYOCTO=1"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
index 5ccf99cac..e04cf51c9 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
@@ -40,7 +40,7 @@ SRC_URI += "file://70-hwmon.rules"
SRC_URI += "file://70-iio.rules"
SRC_URI += "file://start_hwmon.sh"
-SRCREV = "5906173aec2a48f37d1356f1ade788c8d25530b2"
+SRCREV = "7ab1b25b50bd4f68062c6a07200f8f69f09d3387"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
index 9edd32223..ed32f379c 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
@@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging"
DEPENDS += "nlohmann-json"
SRC_URI = "git://github.com/openbmc/phosphor-nvme.git;protocol=git"
-SRCREV = "05eedaa80eef276b6ecee9d4fb721a523d2d999c"
+SRCREV = "9b771e221e3854bbbf45a56bbcab97c62b0a05ec"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.nvme.manager.service"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb
new file mode 100644
index 000000000..3a25890b9
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Virtual Sensors"
+DESCRIPTION = "virtual sensors created from existing sensors and config data"
+HOMEPAGE = "https://github.com/openbmc/phosphor-virtual-sensor"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9e69ba356fa59848ffd865152a3ccc13"
+
+inherit meson pkgconfig
+inherit systemd
+
+DEPENDS += "sdbusplus"
+DEPENDS += "phosphor-dbus-interfaces"
+DEPENDS += "sdeventplus"
+DEPENDS += "phosphor-logging"
+DEPENDS += "nlohmann-json"
+DEPENDS += "exprtk"
+
+SRC_URI = "git://github.com/openbmc/phosphor-virtual-sensor.git;protocol=git"
+SRCREV = "f8db722567d16b93bde7d37d3d7a6e83d08373aa"
+S = "${WORKDIR}/git"
+
+SYSTEMD_SERVICE_${PN} = "phosphor-virtual-sensor.service"
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml
index 25458155f..f2df02d32 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml
@@ -10,6 +10,12 @@
AutoReboot:
Default: 'true'
+/xyz/openbmc_project/control/host0/auto_reboot/one_time:
+ - Interface: xyz.openbmc_project.Control.Boot.RebootPolicy
+ Properties:
+ AutoReboot:
+ Default: 'true'
+
/xyz/openbmc_project/control/host0/boot:
- Interface: xyz.openbmc_project.Control.Boot.Source
Properties:
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 85a63d243..5fcaa5902 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb
@@ -17,9 +17,9 @@ DEPENDS += "${PYTHON_PN}-pyyaml-native"
DEPENDS += "${PYTHON_PN}-mako-native"
DEPENDS += "autoconf-archive-native"
DEPENDS += "virtual/phosphor-settings-defaults"
-DEPENDS += "${@df_enabled(d, 'obmc-mrw', 'phosphor-settings-read-settings-mrw-native')}"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'obmc-mrw', 'phosphor-settings-read-settings-mrw-native', '', d)}"
DEPENDS += "sdbusplus"
-DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native"
+DEPENDS += "phosphor-dbus-interfaces"
DEPENDS += "phosphor-logging"
DEPENDS += "libcereal"
@@ -47,7 +47,7 @@ python do_merge_settings () {
cmd.append(os.path.join(workdir, 'merge_settings.py'))
cmd.append(os.path.join(settingsdir, 'defaults.yaml'))
# Used for any settings from the MRW
- use_mrw = df_enabled(d, 'obmc-mrw', 'true')
+ use_mrw = bb.utils.contains('DISTRO_FEATURES', 'obmc-mrw', 'true', '', d)
if (use_mrw == 'true'):
cmd.append(os.path.join(settingsdir, 'mrw-settings.override.yaml'))
diff --git a/meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb b/meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb
index 59692ecb8..85191c636 100644
--- a/meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb
+++ b/meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb
@@ -14,6 +14,20 @@ SKELETON_DIR = "libopenbmc_intf"
SRC_URI += "file://gpio_defs.json"
+# Users of libopenbmc_intf use custom makefiles that do not
+# support the proper library version detection and linking.
+# Because of that, a link must be created within the
+# rootfs for applicaitons to use this library.
+# This next line tells bitbake to skip the check which
+# ensures no links are put in the rootfs
+INSANE_SKIP_${PN} += "dev-so"
+
+# Ensure the library is not in the dev package
+FILES_SOLIBSDEV = ""
+
+# Now add the link to the production package
+FILES_${PN} += "${libdir}/libopenbmc_intf.so"
+
do_install() {
oe_runmake install DESTDIR=${D}
diff --git a/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb b/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb
new file mode 100644
index 000000000..c7483ca81
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Service configuration manager daemon to control the service"
+DESCRIPTION = "Applications must use service manager daemon to configure \
+ phosphor-ipmi-net, bmcweb, obmc-console etc in the system, \
+ instead of directly controlling the same using 'systemd' or \
+ 'iptables'."
+HOMEPAGE = "https://github.com/openbmc/service-config-manager"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7becf906c8f8d03c237bad13bc3dac53"
+
+SRC_URI = "git://github.com/openbmc/service-config-manager"
+SRCREV = "1f3813f819f11b27f515891c239113f0b4e60936"
+
+inherit meson pkgconfig systemd
+
+S = "${WORKDIR}/git"
+SYSTEMD_SERVICE_${PN} = "srvcfg-manager.service"
+
+DEPENDS = " \
+ boost \
+ phosphor-logging \
+ sdbusplus \
+ systemd \
+ " \ No newline at end of file
diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc
new file mode 100644
index 000000000..6c12da8c4
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc
@@ -0,0 +1,142 @@
+pkg_postinst_${PN}-obmc-targets_append() {
+
+ mkdir -p $D$systemd_system_unitdir/multi-user.target.requires
+ LINK="$D$systemd_system_unitdir/multi-user.target.requires/obmc-host-reset@0.target"
+ TARGET="../obmc-host-reset@.target"
+ ln -s $TARGET $LINK
+
+ LINK="$D$systemd_system_unitdir/multi-user.target.requires/phosphor-discover-system-state@0.service"
+ TARGET="../phosphor-discover-system-state@.service"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-start@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/obmc-host-startmin@0.target"
+ TARGET="../obmc-host-startmin@.target"
+ ln -s $TARGET $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phosphor-reset-host-reboot-attempts@0.service"
+ TARGET="../phosphor-reset-host-reboot-attempts@.service"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-reset@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-check@0.service"
+ TARGET="../phosphor-reset-host-check@.service"
+ ln -s $TARGET $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-sensor-states@0.service"
+ TARGET="../phosphor-reset-sensor-states@.service"
+ ln -s $TARGET $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-running@0.service"
+ TARGET="../phosphor-reset-host-running@.service"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-stop@0.target.wants
+ LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/phosphor-reset-sensor-states@0.service"
+ TARGET="../phosphor-reset-sensor-states@.service"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants
+ LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/phosphor-reset-sensor-states@0.service"
+ TARGET="../phosphor-reset-sensor-states@.service"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/obmc-chassis-poweroff@0.target"
+ TARGET="../obmc-chassis-poweroff@.target"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-reboot@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/obmc-host-shutdown@0.target"
+ TARGET="../obmc-host-shutdown@.target"
+ ln -s $TARGET $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/phosphor-reboot-host@0.service"
+ TARGET="../phosphor-reboot-host@.service"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service"
+ TARGET="../xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/obmc-host-stop@0.target"
+ TARGET="../obmc-host-stop@.target"
+ ln -s $TARGET $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/phosphor-reboot-host@0.service"
+ TARGET="../phosphor-reboot-host@.service"
+ ln -s $TARGET $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/obmc-host-force-warm-reboot@0.target"
+ TARGET="../obmc-host-force-warm-reboot@.target"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-host-diagnostic-mode@0.target.requires
+ LINK="$D$systemd_system_unitdir/obmc-host-diagnostic-mode@0.target.requires/obmc-host-force-warm-reboot@0.target"
+ TARGET="../obmc-host-force-warm-reboot@.target"
+ ln -s $TARGET $LINK
+
+ mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants
+ LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants/phosphor-clear-one-time@0.service"
+ TARGET="../phosphor-clear-one-time@.service"
+ ln -s $TARGET $LINK
+}
+
+pkg_prerm_${PN}-obmc-targets_append() {
+
+ LINK="$D$systemd_system_unitdir/multi-user.target.requires/obmc-host-reset@0.target"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/multi-user.target.requires/phosphor-discover-system-state@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/obmc-host-startmin@0.target"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phosphor-reset-host-reboot-attempts@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-check@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-sensor-states@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/phosphor-reset-sensor-states@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/phosphor-reset-sensor-states@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-running@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/obmc-chassis-poweroff@0.target"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/obmc-host-shutdown@0.target"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/phosphor-reboot-host@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/obmc-host-stop@0.target"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/phosphor-reboot-host@0.service"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/obmc-host-force-warm-reboot@0.target"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-host-diagnostic-mode@0.target.requires/obmc-host-force-warm-reboot@0.target"
+ rm $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants/phosphor-clear-one-time@0.service"
+ rm $LINK
+}
diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
index 5501986bd..8e74e69a0 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
@@ -8,6 +8,8 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+include phosphor-state-manager-systemd-links.inc
+
STATE_MGR_PACKAGES = " \
${PN}-host \
${PN}-chassis \
@@ -42,6 +44,7 @@ RRECOMMENDS_${PN}-host += "${PN}-obmc-targets"
inherit meson pkgconfig
inherit obmc-phosphor-dbus-service
+inherit obmc-phosphor-systemd
DEPENDS += "sdbusplus"
DEPENDS += "sdeventplus"
@@ -55,6 +58,7 @@ FILES_${PN}-host = "${bindir}/phosphor-host-state-manager"
DBUS_SERVICE_${PN}-host += "xyz.openbmc_project.State.Host.service"
DBUS_SERVICE_${PN}-host += "phosphor-reboot-host@.service"
SYSTEMD_SERVICE_${PN}-host += "phosphor-reset-host-reboot-attempts@.service"
+SYSTEMD_SERVICE_${PN}-host += "phosphor-clear-one-time@.service"
FILES_${PN}-chassis = "${bindir}/phosphor-chassis-state-manager"
DBUS_SERVICE_${PN}-chassis += "xyz.openbmc_project.State.Chassis.service"
@@ -82,102 +86,6 @@ SYSTEMD_SERVICE_${PN}-systemd-target-monitor += "phosphor-systemd-target-monitor
FILES_${PN}-scheduled-host-transition = "${bindir}/phosphor-scheduled-host-transition"
DBUS_SERVICE_${PN}-scheduled-host-transition += "xyz.openbmc_project.State.ScheduledHostTransition.service"
-RESET_CHECK_TMPL = "phosphor-reset-host-check@.service"
-RESET_CHECK_TGTFMT = "obmc-host-reset@{1}.target"
-RESET_CHECK_INSTFMT = "phosphor-reset-host-check@{0}.service"
-RESET_CHECK_FMT = "../${RESET_CHECK_TMPL}:${RESET_CHECK_TGTFMT}.requires/${RESET_CHECK_INSTFMT}"
-
-SENSOR_RESET_TMPL = "phosphor-reset-sensor-states@.service"
-SENSOR_RESET_TGTFMT = "obmc-host-reset@{1}.target"
-SENSOR_RESET_INSTFMT = "phosphor-reset-sensor-states@{0}.service"
-SENSOR_RESET_FMT = "../${SENSOR_RESET_TMPL}:${SENSOR_RESET_TGTFMT}.requires/${SENSOR_RESET_INSTFMT}"
-
-RESET_RUNNING_TMPL = "phosphor-reset-host-running@.service"
-RESET_RUNNING_TGTFMT = "obmc-host-reset@{1}.target"
-RESET_RUNNING_INSTFMT = "phosphor-reset-host-running@{0}.service"
-RESET_RUNNING_FMT = "../${RESET_RUNNING_TMPL}:${RESET_RUNNING_TGTFMT}.requires/${RESET_RUNNING_INSTFMT}"
-
-SYSTEMD_LINK_${PN}-host-check += "${@compose_list_zip(d, 'RESET_CHECK_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}"
-SYSTEMD_LINK_${PN}-host-check += "${@compose_list_zip(d, 'RESET_RUNNING_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}"
-
-SYSTEMD_LINK_${PN}-reset-sensor-states += "${@compose_list_zip(d, 'SENSOR_RESET_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}"
-
-# Force the standby target to run the host reset check target
-RESET_TMPL_CTRL = "obmc-host-reset@.target"
-SYSD_TGT = "multi-user.target"
-RESET_INSTFMT_CTRL = "obmc-host-reset@{0}.target"
-RESET_FMT_CTRL = "../${RESET_TMPL_CTRL}:${SYSD_TGT}.wants/${RESET_INSTFMT_CTRL}"
-SYSTEMD_LINK_${PN}-host-check += "${@compose_list_zip(d, 'RESET_FMT_CTRL', 'OBMC_HOST_INSTANCES')}"
-
-TMPL = "phosphor-discover-system-state@.service"
-INSTFMT = "phosphor-discover-system-state@{0}.service"
-FMT = "../${TMPL}:multi-user.target.wants/${INSTFMT}"
-SYSTEMD_LINK_${PN}-discover += "${@compose_list(d, 'FMT', 'OBMC_HOST_INSTANCES')}"
-
-# Force the shutdown target to run the chassis-poweroff target
-CHASSIS_STOP_TMPL = "obmc-chassis-poweroff@.target"
-HOST_STOP_TGTFMT = "obmc-host-shutdown@{1}.target"
-CHASSIS_STOP_INSTFMT = "obmc-chassis-poweroff@{0}.target"
-HOST_STOP_FMT = "../${CHASSIS_STOP_TMPL}:${HOST_STOP_TGTFMT}.requires/${CHASSIS_STOP_INSTFMT}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_STOP_FMT', 'OBMC_CHASSIS_INSTANCES', 'OBMC_HOST_INSTANCES')}"
-
-# Force the host reboot target to run the shutdown target
-HOST_SHUTDOWN_TMPL = "obmc-host-shutdown@.target"
-HOST_REBOOT_TGTFMT = "obmc-host-reboot@{0}.target"
-HOST_SHUTDOWN_INSTFMT = "obmc-host-shutdown@{0}.target"
-HOST_REBOOT_FMT = "../${HOST_SHUTDOWN_TMPL}:${HOST_REBOOT_TGTFMT}.requires/${HOST_SHUTDOWN_INSTFMT}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_REBOOT_FMT', 'OBMC_HOST_INSTANCES')}"
-
-# And also force the reboot target to call the host startmin service
-HOST_REBOOT_SVC = "phosphor-reboot-host@.service"
-HOST_REBOOT_SVC_INST = "phosphor-reboot-host@{0}.service"
-HOST_REBOOT_SVC_FMT = "../${HOST_REBOOT_SVC}:${HOST_REBOOT_TGTFMT}.requires/${HOST_REBOOT_SVC_INST}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_REBOOT_SVC_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}"
-
-# Force the host-start target to call the host-startmin target
-HOST_STARTMIN_TMPL = "obmc-host-startmin@.target"
-HOST_START_TGTFMT = "obmc-host-start@{0}.target"
-HOST_STARTMIN_INSTFMT = "obmc-host-startmin@{0}.target"
-HOST_START_FMT = "../${HOST_STARTMIN_TMPL}:${HOST_START_TGTFMT}.requires/${HOST_STARTMIN_INSTFMT}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_START_FMT', 'OBMC_HOST_INSTANCES')}"
-
-# Force the host-start target to call the reboot count reset service
-HOST_RST_RBT_ATTEMPTS_SVC = "phosphor-reset-host-reboot-attempts@.service"
-HOST_RST_RBT_ATTEMPTS_SVC_INST = "phosphor-reset-host-reboot-attempts@{0}.service"
-HOST_RST_RBT_ATTEMPTS_SVC_FMT = "../${HOST_RST_RBT_ATTEMPTS_SVC}:${HOST_START_TGTFMT}.requires/${HOST_RST_RBT_ATTEMPTS_SVC_INST}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_RST_RBT_ATTEMPTS_SVC_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}"
-
-# Force warm reboot target to call soft power off
-HOST_WARM_REBOOT_TGTFMT = "obmc-host-warm-reboot@{0}.target"
-HOST_WARM_REBOOT_SOFT_SVC = "xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service"
-HOST_WARM_REBOOT_SOFT_SVC_FMT = "../${HOST_WARM_REBOOT_SOFT_SVC}:${HOST_WARM_REBOOT_TGTFMT}.requires/${HOST_WARM_REBOOT_SOFT_SVC}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_SOFT_SVC_FMT', 'OBMC_HOST_INSTANCES')}"
-
-# Force warm reboot target to call host stop
-HOST_WARM_REBOOT_STOP_TMPL="obmc-host-stop@.target"
-HOST_WARM_REBOOT_STOP_REQUIRES="obmc-host-force-warm-reboot@{0}.target"
-HOST_WARM_REBOOT_STOP_TMPL_INST="obmc-host-stop@{0}.target"
-HOST_WARM_REBOOT_STOP_TARGET_FMT = "../${HOST_WARM_REBOOT_STOP_TMPL}:${HOST_WARM_REBOOT_STOP_REQUIRES}.requires/${HOST_WARM_REBOOT_STOP_TMPL_INST}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_STOP_TARGET_FMT', 'OBMC_HOST_INSTANCES')}"
-
-# Force warm reboot target to call reboot host
-HOST_WARM_REBOOT_FORCE_TGTFMT = "obmc-host-force-warm-reboot@{0}.target"
-HOST_WARM_REBOOT_SVC = "phosphor-reboot-host@.service"
-HOST_WARM_REBOOT_SVC_INST = "phosphor-reboot-host@{0}.service"
-HOST_WARM_REBOOT_SVC_FMT = "../${HOST_WARM_REBOOT_SVC}:${HOST_WARM_REBOOT_FORCE_TGTFMT}.requires/${HOST_WARM_REBOOT_SVC_INST}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_SVC_FMT', 'OBMC_HOST_INSTANCES')}"
-
-# Warm reboot to call force warm reboot
-# Warm reboot will be graceful due to to it also containing soft power off
-HOST_WARM_REBOOT_FORCE_TGT = "obmc-host-force-warm-reboot@.target"
-HOST_WARM_REBOOT_FORCE_TARGET_FMT = "../${HOST_WARM_REBOOT_FORCE_TGT}:${HOST_WARM_REBOOT_TGTFMT}.requires/${HOST_WARM_REBOOT_FORCE_TGTFMT}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_FORCE_TARGET_FMT', 'OBMC_HOST_INSTANCES')}"
-
-# Diagnostic target to call force warm reboot target
-HOST_DIAG_TGTFMT = "obmc-host-diagnostic-mode@0.target"
-HOST_DIAG_TARGET_FMT = "../${HOST_WARM_REBOOT_FORCE_TGT}:${HOST_DIAG_TGTFMT}.requires/${HOST_WARM_REBOOT_FORCE_TGTFMT}"
-SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_DIAG_TARGET_FMT', 'OBMC_HOST_INSTANCES')}"
-
# Chassis power synchronization targets
# - start-pre: Services to run before we start power on process
# - start: Services to run to do the chassis power on
@@ -266,6 +174,6 @@ SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'FAN_LINK_FMT', 'OBMC_CHA
SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'QUIESCE_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}"
SRC_URI += "git://github.com/openbmc/phosphor-state-manager"
-SRCREV = "42f2898d182b66ff0523482120013de62d573645"
+SRCREV = "bbbc01655243fecc83f8734f12a57e665b90ff9a"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb
new file mode 100644
index 000000000..feff0045e
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Telemetry service"
+DESCRIPTION = "Middleware between Redfish Telemetry Service and dbus-sensors"
+HOMEPAGE = "https://github.com/openbmc/telemetry"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SRC_URI = "git://github.com/openbmc/telemetry"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "0e29f4392264a9646834583ddd5eaadc25fab20b"
+
+S = "${WORKDIR}/git"
+
+inherit meson
+inherit systemd
+
+DEPENDS = "boost \
+ gtest \
+ nlohmann-json \
+ phosphor-logging \
+ sdbusplus \
+ systemd"
+
+SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.Telemetry.service"
+EXTRA_OEMESON = "-Dbuildtest=false"
+
diff --git a/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb b/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
index b687e9e5c..da4fb128c 100644
--- a/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
@@ -36,5 +36,5 @@ DBUS_SERVICE_phosphor-ldap = " \
xyz.openbmc_project.LDAP.PrivilegeMapper.service \
"
SRC_URI += "git://github.com/openbmc/phosphor-user-manager"
-SRCREV = "73ce773e2f94fcfdeeeb9db83a3e92429ab4a663"
+SRCREV = "75be4e68c7a599650a1800d7846182b06534bdca"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service b/meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service
index bc1e99e0a..9fcca01ed 100644
--- a/meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service
+++ b/meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service
@@ -6,8 +6,8 @@ After=xyz.openbmc_project.State.Host.service
[Service]
ExecStart=/usr/sbin/obmc-uart-render-controller \
- /sys/devices/platform/ahb/ahb:apb/1e6e2000.syscon/1e6e2000.syscon:scratch/vga0 \
- /sys/devices/platform/ahb/ahb:apb/1e6e2000.syscon/1e6e2000.syscon:scratch/dac_mux \
+ /sys/devices/platform/ahb/ahb:apb/1e6e6000.display/vga_pw \
+ /sys/devices/platform/ahb/ahb:apb/1e6e6000.display/dac_mux \
fbterm.service
[Install]
diff --git a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
index 0758cecf2..46aacc135 100644
--- a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
+++ b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
@@ -6,28 +6,13 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/phosphor-webui.git"
-SRCREV = "4a16a026b60a3bf54161ed4e4bc34885b4e3e6c3"
+SRCREV = "d10511f2a7fc07910d7ca517bd73331763322fa0"
S = "${WORKDIR}/git"
DEPENDS_prepend = "nodejs-native "
-# allarch is required because the files this recipe produces (html and
-# javascript) are valid for any target, regardless of architecture. The allarch
-# class removes your compiler definitions, as it assumes that anything that
-# requires a compiler is platform specific. Unfortunately, one of the build
-# tools uses libsass for compiling the css templates, and it needs a compiler to
-# build the library that it then uses to compress the scss into normal css.
-# Enabling allarch, then re-adding the compiler flags was the best of the bad
-# options
-
inherit allarch
-export CXX = "${BUILD_CXX}"
-export CC = "${BUILD_CC}"
-export CFLAGS = "${BUILD_CFLAGS}"
-export CPPFLAGS = "${BUILD_CPPFLAGS}"
-export CXXFLAGS = "${BUILD_CXXFLAGS}"
-
FILES_${PN} += "${datadir}/www/*"
do_compile () {
diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
index b3ecb84f2..5012ba97c 100644
--- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
+++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb
@@ -6,7 +6,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/webui-vue.git"
-SRCREV = "396aaab761da86698dcb5890b0a6960a90d3459b"
+SRCREV = "e6e924527fb58de46ef70fb016d120f2eefbb01b"
S = "${WORKDIR}/git"
DEPENDS_prepend = "nodejs-native "
diff --git a/meta-phosphor/recipes-support/boost-url/boost-url_%.bbappend b/meta-phosphor/recipes-support/boost-url/boost-url_%.bbappend
new file mode 100644
index 000000000..5ef4f9fe9
--- /dev/null
+++ b/meta-phosphor/recipes-support/boost-url/boost-url_%.bbappend
@@ -0,0 +1 @@
+EXTRA_OECMAKE_append_openbmc-phosphor = "-DBOOST_URL_STANDALONE=ON"
diff --git a/meta-phosphor/recipes-support/boost-url/boost-url_git.bb b/meta-phosphor/recipes-support/boost-url/boost-url_git.bb
new file mode 100644
index 000000000..6d4635b66
--- /dev/null
+++ b/meta-phosphor/recipes-support/boost-url/boost-url_git.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Boost.URL is a library for manipulating Uniform Resource Identifiers (URI) and Locators (URL)"
+HOMEPAGE = "https://github.com/CPPAlliance/url"
+SECTION = "libs"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI = "git://github.com/CPPAlliance/url.git"
+
+SRCREV = "a56ae0df6d3078319755fbaa67822b4fa7fd352b"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+DEPENDS = "boost"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-phosphor/recipes-support/boost/boost_%.bbappend b/meta-phosphor/recipes-support/boost/boost_%.bbappend
new file mode 100644
index 000000000..b614346af
--- /dev/null
+++ b/meta-phosphor/recipes-support/boost/boost_%.bbappend
@@ -0,0 +1,12 @@
+#This is largely to improve our build times by not building or installing
+#modules that OpenBMC does not use by our coding standard. Another thing to
+#note is that for most targets, coroutine and context libraries are also added
+#with a BOOST_LIBS_append_<platform> for most targets. Chrono/Thread should not
+#be relied directly, but are required dependencies of context and coroutine.
+#See the relevant portion of the openbmc coding standard with regards to boost
+#libraries
+#
+#https://github.com/openbmc/docs/blob/master/cpp-style-and-conventions.md#boost
+#
+#BOOST_LIBS_openbmc-phosphor = "chrono thread"
+
diff --git a/meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend b/meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend
index d1b092d29..11e8c4a75 100644
--- a/meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend
+++ b/meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend
@@ -1,3 +1,5 @@
do_install_append() {
+ sed -i -e '$anss_initgroups_ignoreusers ALLLOCAL' ${D}${sysconfdir}/nslcd.conf
+
install -m 0644 ${D}${sysconfdir}/nslcd.conf ${D}${sysconfdir}/nslcd.conf.default
}
diff --git a/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend b/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend
index 16add36d8..ce5d7994b 100644
--- a/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend
+++ b/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend
@@ -1,13 +1,26 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://10-nice.conf"
+PACKAGECONFIG_remove = "\
+ ${@bb.utils.contains('MACHINE_FEATURES', 'hw-rng', \
+ 'libjitterentropy', '', d)}\
+ "
+
inherit systemd
FILES_${PN} += "${systemd_unitdir}/system/rngd.service.d"
do_install_append() {
+
+ # When using systemd and using libjitterentropy, install a config
+ # which runs rngd at a 'nice' priority. libjitterentropy uses a
+ # lot of CPU early on in the boot process and makes the whole boot
+ # go slower.
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system/rngd.service.d
- install -m 644 ${WORKDIR}/10-nice.conf ${D}${systemd_unitdir}/system/rngd.service.d
+ if ${@bb.utils.contains('PACKAGECONFIG', 'libjitterentropy', 'true', 'false', d)}; then
+ install -d ${D}${systemd_unitdir}/system/rngd.service.d
+ install -m 644 ${WORKDIR}/10-nice.conf \
+ ${D}${systemd_unitdir}/system/rngd.service.d
+ fi
fi
}
diff --git a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
index cb1daba0b..88c01f4e7 100755
--- a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
+++ b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Chassis Power Control service for Intel based platforms"
DESCRIPTION = "Chassis Power Control service for Intel based platforms"
SRC_URI = "git://github.com/openbmc/x86-power-control.git;protocol=ssh"
-SRCREV = "b0c613aa889136610811d5f44a172081731db216"
+SRCREV = "01a77864f49088bac80474587a123d1f152f2b26"
PV = "1.0+git${SRCPV}"
@@ -12,6 +12,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
inherit cmake systemd
+inherit obmc-phosphor-dbus-service
SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.Chassis.Control.Power.service \
chassis-system-reset.service \
@@ -21,6 +22,7 @@ DEPENDS += " \
boost \
i2c-tools \
libgpiod \
+ nlohmann-json \
sdbusplus \
phosphor-logging \
"
diff --git a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb
new file mode 100644
index 000000000..f6ef79d46
--- /dev/null
+++ b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "PECI PCIe"
+DESCRIPTION = "Gathers PCIe information using PECI \
+and provides it on D-Bus"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7becf906c8f8d03c237bad13bc3dac53"
+inherit cmake systemd
+
+SRC_URI = "git://github.com/openbmc/peci-pcie"
+
+DEPENDS = "boost sdbusplus libpeci"
+
+PV = "0.1+git${SRCPV}"
+SRCREV = "bce86a63643e1d7cdf6d42e143738013ee47a8da"
+
+S = "${WORKDIR}/git"
+
+SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.PCIe.service"
+
+EXTRA_OECMAKE = "-DYOCTO=1"