summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2021-03-24 08:59:39 +0300
committerWilliam A. Kennington III <wak@google.com>2021-03-25 01:40:40 +0300
commitf93003dd8cf24bd689a7cf24407273b54b9994d4 (patch)
treeccbc5312f1db95583bd2884ff16f1b07283dfc1c
parentf89db26b407e44a620eccfae7df3186d65bdfa0c (diff)
downloadopenbmc-f93003dd8cf24bd689a7cf24407273b54b9994d4.tar.xz
meta-google: gbmc-kcs-config: Add package
Change-Id: I0e68a7520191554680c94d8e3b8bc98f368ac71b Signed-off-by: William A. Kennington III <wak@google.com>
-rw-r--r--meta-google/recipes-google/kcs/gbmc-kcs-config.bb46
-rw-r--r--meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend2
2 files changed, 48 insertions, 0 deletions
diff --git a/meta-google/recipes-google/kcs/gbmc-kcs-config.bb b/meta-google/recipes-google/kcs/gbmc-kcs-config.bb
new file mode 100644
index 000000000..ca7110660
--- /dev/null
+++ b/meta-google/recipes-google/kcs/gbmc-kcs-config.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Configures KCS for a gBMC system"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+
+S = "${WORKDIR}"
+
+PROVIDES += "virtual-obmc-host-ipmi-hw"
+RPROVIDES_${PN} += "virtual-obmc-host-ipmi-hw"
+
+FILES_${PN} += "${systemd_system_unitdir}"
+RDEPENDS_${PN} += "google-kcsbridge"
+
+GBMC_KCS_DEV ?= ""
+
+def systemd_escape_char(c):
+ return '\\x{:x}'.format(ord(c))
+
+def systemd_escape(unit):
+ import string
+ ret = ''
+ if len(unit) > 0 and unit[0] == '.':
+ ret += systemd_escape_char(unit[0])
+ unit = unit[1:]
+ for c in unit:
+ if c == '/':
+ ret += '-'
+ elif c not in {*string.ascii_letters, *string.digits, ':', '_', '.'}:
+ ret += systemd_escape_char(c)
+ else:
+ ret += c
+ return ret
+
+do_install_append() {
+ if [ -z '${GBMC_KCS_DEV}' ]; then
+ echo "Missing GBMC_KCS_DEV" >&2
+ exit 1
+ fi
+
+ wantdir=${D}${systemd_system_unitdir}/multi-user.target.wants
+ install -d -m0755 $wantdir
+ inst="${@systemd_escape(GBMC_KCS_DEV)}"
+ ln -sv ../kcsbridge@.service $wantdir/kcsbridge@$inst.service
+}
diff --git a/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
index acccde532..0dc37fd4e 100644
--- a/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-google/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -11,3 +11,5 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \
'${@"" if not d.getVar("GBMC_NCSI_IF_NAME") else " gbmc-ncsi-config"}'
OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \
'${@"" if not d.getVar("GBMC_MAC_EEPROM_OF_NAME") else " gbmc-mac-config"}'
+OBMC_IMAGE_EXTRA_INSTALL_append_gbmc = \
+ '${@"" if not d.getVar("GBMC_KCS_DEV") else " gbmc-kcs-config"}'