summaryrefslogtreecommitdiff
path: root/meta-yadro/meta-nicole
diff options
context:
space:
mode:
authorAlexander Filippov <a.filippov@yadro.com>2020-06-10 17:55:57 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-06-16 01:35:04 +0300
commit000c8ff82e8991744da91f3fccceab8ee81eb70a (patch)
tree6e4a20aa3225762fb0e09ec041fe3dedbeb45e3d /meta-yadro/meta-nicole
parent60fc757714b0c0a663a8c206c312daf10cecfa43 (diff)
downloadopenbmc-000c8ff82e8991744da91f3fccceab8ee81eb70a.tar.xz
meta-nicole: phosphor-ipmi-config: Set device id
This adds a dev_id.json with Nicole specific values and a systemd unit which changes at the boot time the device ID in the dev_id.json to the actual BMC position. Tested: `ipmitool mc info` now shows the actual BMC position in the Device ID field. (From meta-yadro rev: 8dcdb1ef8661b2f5624d75787bd4bcc4da8301d7) Change-Id: Ia819ef4154ffe368ca9684662c248295060e0597 Signed-off-by: Alexander Filippov <a.filippov@yadro.com> Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-yadro/meta-nicole')
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend21
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json8
-rwxr-xr-xmeta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/phosphor-ipmi-config-set-device-id.sh5
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/phosphor-ipmi-config.service12
4 files changed, 46 insertions, 0 deletions
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
new file mode 100644
index 000000000..466f42f0b
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
@@ -0,0 +1,21 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+inherit systemd
+
+RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils}"
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+SRC_URI_append = " \
+ file://${BPN}-set-device-id.sh \
+ file://${BPN}.service \
+"
+
+S = "${WORKDIR}"
+do_install_append() {
+ install -d ${D}${bindir} ${D}${systemd_system_unitdir}
+ install ${BPN}-set-device-id.sh ${D}${bindir}/
+ install -m 0644 ${BPN}.service ${D}${systemd_system_unitdir}/
+}
+
+FILES_${PN}_append = " \
+ ${bindir}/${BPN}-set-device-id.sh \
+"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
new file mode 100644
index 000000000..fe51aa61b
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
@@ -0,0 +1,8 @@
+{
+ "id": 0,
+ "revision": 1,
+ "addn_dev_support": 0,
+ "manuf_id": 49769,
+ "prod_id": 1,
+ "aux": 0
+}
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/phosphor-ipmi-config-set-device-id.sh b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/phosphor-ipmi-config-set-device-id.sh
new file mode 100755
index 000000000..6600ced4a
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/phosphor-ipmi-config-set-device-id.sh
@@ -0,0 +1,5 @@
+#!/bin/sh -eu
+
+BMCPOS=$(awk -v RS=" " '/^bmcposition=/{print substr($0,13)}' /proc/cmdline)
+sed -r "s/\"id\"\s*:\s*[0-9]+\s*,/\"id\": ${BMCPOS:-0},/" -i \
+ /usr/share/ipmi-providers/dev_id.json
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/phosphor-ipmi-config.service b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/phosphor-ipmi-config.service
new file mode 100644
index 000000000..647138054
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-config/phosphor-ipmi-config.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Set DeviceID for ipmi-host
+Before=phosphor-ipmi-host.service
+
+[Service]
+Type=oneshot
+TimeoutSec=0
+RemainAfterExit=yes
+ExecStart=/usr/bin/env phosphor-ipmi-config-set-device-id.sh
+
+[Install]
+RequiredBy=phosphor-ipmi-host.service