summaryrefslogtreecommitdiffstats
path: root/meta-openbmc-machines
diff options
context:
space:
mode:
authorDeepak Kodihalli <dkodihal@in.ibm.com>2017-02-05 10:10:44 -0600
committerPatrick Williams <patrick@stwcx.xyz>2017-02-16 23:10:40 +0000
commitba5ce786b6fa625218fd732d6a6f22a9d1cf9d97 (patch)
tree3aff11577e41eac2d79ee2c333c46db834f598a5 /meta-openbmc-machines
parentcffe9a81f6ddbe8112019d0199b459d850a35fee (diff)
downloadtalos-openbmc-ba5ce786b6fa625218fd732d6a6f22a9d1cf9d97.tar.gz
talos-openbmc-ba5ce786b6fa625218fd732d6a6f22a9d1cf9d97.zip
Add virtual/openpower-fru-inventory
This virtual provides an environment file that serves as inventory configuration for openpower-vpd-parser. Add a native recipe that builds the configuration from MRW. Set this recipe as the default for OpenPOWER systems. Change-Id: I88c1d4123d73a5cdf37cba8efda40107f7b9ef25 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Diffstat (limited to 'meta-openbmc-machines')
-rw-r--r--meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass2
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb22
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-example/inventory2
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb27
-rw-r--r--meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc2
5 files changed, 55 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass b/meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass
index 8de966fc1..19f34e0ed 100644
--- a/meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass
+++ b/meta-openbmc-machines/meta-openpower/classes/openpower-fru-vpd.bbclass
@@ -1 +1,3 @@
vpdlayout_datadir="${datadir}/openpower-fru-vpd/vpdlayout"
+inventory_datadir_name="/openpower-fru-inventory/inventory"
+inventory_datadir_native="${datadir}${inventory_datadir_name}"
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb
new file mode 100644
index 000000000..8f9bd050b
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Inventory config for openpower-vpd-parser"
+PR = "r1"
+
+inherit native
+inherit obmc-phosphor-license
+inherit openpower-fru-vpd
+
+SRC_URI += "file://inventory"
+
+PROVIDES += "virtual/openpower-fru-inventory"
+
+S = "${WORKDIR}"
+
+do_install() {
+ # This recipe is supposed to create a systemd environment file
+ # with values for FRU types and paths. This example recipe
+ # uses a pre-defined file ($PN/inventory).
+
+ DEST=${D}${inventory_datadir_native}
+ install -d ${DEST}
+ install inventory ${DEST}
+}
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-example/inventory b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-example/inventory
new file mode 100644
index 000000000..1f6a5e349
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-example/inventory
@@ -0,0 +1,2 @@
+FRUS=BMC
+PATHS=/system/chassis/bmc
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb
new file mode 100644
index 000000000..01ed362d6
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Inventory config for openpower-vpd-parser"
+PR = "r1"
+
+inherit native
+inherit obmc-phosphor-license
+inherit openpower-fru-vpd
+
+DEPENDS += " \
+ mrw-native \
+ mrw-perl-tools-native \
+ virtual/openpower-fru-vpd-layout \
+ "
+
+PROVIDES += "virtual/openpower-fru-inventory"
+
+S = "${WORKDIR}"
+
+do_install() {
+ DEST=${D}${inventory_datadir_native}
+ install -d ${DEST}
+
+ ${bindir}/perl-native/perl \
+ ${bindir}/gen_openpower_fru.pl \
+ -m ${datadir}/obmc-mrw/${MACHINE}.xml \
+ -c ${vpdlayout_datadir}/layout.yaml \
+ -o ${DEST}/inventory
+}
diff --git a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
index 72a0139f7..ed87ec807 100644
--- a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
+++ b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
@@ -21,3 +21,5 @@ PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= "obmc-op-control-host"
PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}"
PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-hostfw-config ?= "hostboot-inventory-config-native"
PREFERRED_PROVIDER_virtual/openpower-fru-vpd-layout ?= "openpower-fru-vpd-layout-native"
+PREFERRED_PROVIDER_virtual/openpower-fru-inventory ?= \
+ "${@cf_enabled(d, 'obmc-mrw', 'openpower-fru-inventory-mrw-native', 'openpower-fru-inventory-example-native')}"
OpenPOWER on IntegriCloud