summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-intel
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-intel')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb1
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py43
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/bmc_config.xml (renamed from meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/bmc_config.xml)0
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/csk_prv.pem (renamed from meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_prv.pem)0
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/csk_pub.pem (renamed from meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_pub.pem)0
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/pfm_config.xml (renamed from meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfm_config.xml)96
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/pfr_manifest.json (renamed from meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_manifest.json)66
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/rk_prv.pem (renamed from meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_prv.pem)0
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/rk_pub.pem (renamed from meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_pub.pem)0
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb35
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics.bb24
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics/enable-nics.service11
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics/enable-nics.sh14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb13
16 files changed, 214 insertions, 93 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb b/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
index 545ecae7f..71245ac50 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
@@ -9,6 +9,7 @@ DEPENDS += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'obmc-intel-pfr-i
DEPENDS += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'intel-pfr-manager', '', d)}"
FEATURE_PACKAGES_obmc-sensors = ""
+FEATURE_PACKAGES_obmc-debug-collector = ""
fix_shadow_perms() {
chgrp shadow ${IMAGE_ROOTFS}${sysconfdir}/shadow
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py
index c2c18247d..438a3b91f 100755
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py
@@ -17,7 +17,7 @@
import os, hashlib, struct, json, sys, subprocess, mmap, io, array, binascii, copy, shutil, re
from array import array
from binascii import unhexlify
-from hashlib import sha1, sha256, sha512
+from hashlib import sha1, sha256, sha384, sha512
from shutil import copyfile
# Flash Map
# -----------------------------------------------
@@ -44,8 +44,7 @@ EXCLUDE_PAGES =[[0x80, 0x9f],[0x2a00,0x7fff]]
PFM_OFFSET = 0x80000
PFM_SPI = 0x1
PFM_I2C = 0x2
-SHA256 = 0x1
-SHA256_SIZE = 32
+SHA = 0x1
PFM_DEF_SIZE = 32 # 32 bytes of PFM header
PFM_SPI_SIZE_DEF = 16 # 16 bytes of SPI PFM
PFM_SPI_SIZE_HASH = 32 # 32 bytes of SPI region HASH
@@ -65,7 +64,7 @@ class pfm_spi(object):
self.spi_pfm = PFM_SPI
self.spi_prot_mask = prot_mask
self.spi_hash_pres = hash_pres
- if hash_pres == 1:
+ if hash_pres != 0:
self.spi_hash = hash
self.spi_pfm_rsvd = 0xffffffff # b'\xff'*4
self.spi_start_addr = start_addr
@@ -84,14 +83,20 @@ class pfm_i2c(object):
class pfr_bmc_image(object):
# json_file, firmware_file
- def __init__(self, manifest, firmware_file, build_ver, build_num, build_hash):
+ def __init__(self, manifest, firmware_file, build_ver, build_num, build_hash, sha):
self.manifest = load_manifest(manifest)
self.firmware_file = firmware_file
self.build_version = build_ver
self.build_number = build_num
self.build_hash = build_hash
-
+ self.sha = sha
+ if self.sha == "2":
+ SHA = 0x2
+ PFM_SPI_SIZE_HASH = 48
+ if self.sha == "1":
+ PFM_SPI_SIZE_HASH = 32
+ SHA = 0x1
self.pfr_rom_file = 'image-mtd-pfr'
open(self.pfr_rom_file, 'a').close()
@@ -102,9 +107,10 @@ class pfr_bmc_image(object):
for p in self.manifest['image-parts']:
# the json should have in the order- filename, index, offset, size and protection byte
self.image_parts.append((p['name'], p['index'], p['offset'], p['size'], p['prot_mask'], p['pfm'], p['hash'], p['compress']))
-
- self.act_dgst = hashlib.sha256()
-
+ if self.sha == "1":
+ self.act_dgst = hashlib.sha256()
+ if self.sha == "2":
+ self.act_dgst = hashlib.sha384()
# SPI regions PFM array
self.pfm_spi_regions = []
self.pfm_bytes = PFM_DEF_SIZE # PFM definition bytes (SPI regions + SMBUS)
@@ -166,8 +172,10 @@ class pfr_bmc_image(object):
skip = False
if hash_flag == 1:
- hash_dgst = hashlib.sha256()
-
+ if self.sha == "1":
+ hash_dgst = hashlib.sha256()
+ if self.sha == "2":
+ hash_dgst = hashlib.sha384()
for chunk in iter(lambda: f.read(self.page_size), b''):
chunk_len = len(chunk)
if chunk_len != self.page_size:
@@ -203,13 +211,13 @@ class pfr_bmc_image(object):
if pfm_flag == 1:
self.pfm_bytes += PFM_SPI_SIZE_DEF
- hash = bytearray(32)
+ hash = bytearray(PFM_SPI_SIZE_HASH)
hash_pres = 0
if hash_flag == 1:
# region's hash
hash = hash_dgst.hexdigest()
- hash_pres = SHA256
+ hash_pres = SHA
self.pfm_bytes += PFM_SPI_SIZE_HASH
# append to SPI regions in PFM
@@ -344,7 +352,7 @@ class pfr_bmc_image(object):
f.write(struct.pack('<I', int(i.spi_start_addr)))
f.write(struct.pack('<I', int(i.spi_end_addr)))
- if i.spi_hash_pres == 1:
+ if i.spi_hash_pres != 0:
f.write(bytearray.fromhex(i.spi_hash))
for r in self.pfm_i2c_rules:
@@ -359,8 +367,8 @@ class pfr_bmc_image(object):
f.write(b'\xff' * padding_bytes)
def main():
- if len(sys.argv) != 6: #< pfr_image.py manifest.json> <update.bin> <build_version> <build_number> <build_hash>
- print('usage: {} <manifest.json> <firmware.bin> <build_version> <build_number> <build_hash>'.format(sys.argv[0]))
+ if len(sys.argv) != 7: #< pfr_image.py manifest.json> <update.bin> <build_version> <build_number> <build_hash> <sha>
+ print('usage: {} <manifest.json> <firmware.bin> <build_version> <build_number> <build_hash> <sha>'.format(sys.argv[0]))
return
json_file = sys.argv[1]
@@ -368,9 +376,10 @@ def main():
build_ver = sys.argv[3]
build_num = sys.argv[4]
build_hash = sys.argv[5]
+ sha = sys.argv[6]
# function to generate BMC PFM, PBC header and BMC compressed image
- pfr_bmc_image(json_file, firmware_file, build_ver, build_num, build_hash)
+ pfr_bmc_image(json_file, firmware_file, build_ver, build_num, build_hash, sha)
if __name__ == '__main__':
main()
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/bmc_config.xml b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/bmc_config.xml
index 9e7d3f82d..9e7d3f82d 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/bmc_config.xml
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/bmc_config.xml
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_prv.pem b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/csk_prv.pem
index a46fa2a2b..a46fa2a2b 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_prv.pem
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/csk_prv.pem
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_pub.pem b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/csk_pub.pem
index cc70d6e28..cc70d6e28 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_pub.pem
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/csk_pub.pem
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfm_config.xml b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/pfm_config.xml
index 78c816191..19378d1b9 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfm_config.xml
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/pfm_config.xml
@@ -1,48 +1,48 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- XML file for Block Sign Tool -->
-<blocksign>
- <version>1</version>
- <!-- Block 0 -->
- <block0>
- <magic>0xB6EAFD19</magic>
- <pctype>3</pctype>
- </block0>
- <!-- Block 1 -->
- <block1>
- <magic>0xF27F28D7</magic>
- <!-- Root key -->
- <rkey>
- <magic>0xA757A046</magic>
- <curvemagic>0xC7B88C74</curvemagic>
- <permissions>-1</permissions>
- <keyid>-1</keyid>
- <pubkey>rk_pub.pem</pubkey>
- </rkey>
- <!-- Code signing key -->
- <cskey>
- <magic>0x14711C2F</magic>
- <curvemagic>0xC7B88C74</curvemagic>
- <permissions>4</permissions>
- <keyid>1</keyid>
- <pubkey>csk_pub.pem</pubkey>
- <sigmagic>0xDE64437D</sigmagic>
- <hashalg>sha256</hashalg>
- <signkey>rk_prv.pem</signkey>
- <!--<script>./sign_external.sh</script>-->
- </cskey>
- <!-- Signature over Block 0 -->
- <b0_sig>
- <magic>0x15364367</magic>
- <sigmagic>0xDE64437D</sigmagic>
- <hashalg>sha256</hashalg>
- <signkey>csk_prv.pem</signkey>
- </b0_sig>
- </block1>
- <!-- CPLD Bitstream Specific -->
- <padding>
- <!-- Pad block1 such that combined block length is 1024b -->
- <blockpad>1024</blockpad>
- <!-- Align total package to 128 bytes -->
- <align>128</align>
- </padding>
-</blocksign>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- XML file for Block Sign Tool -->
+<blocksign>
+ <version>1</version>
+ <!-- Block 0 -->
+ <block0>
+ <magic>0xB6EAFD19</magic>
+ <pctype>3</pctype>
+ </block0>
+ <!-- Block 1 -->
+ <block1>
+ <magic>0xF27F28D7</magic>
+ <!-- Root key -->
+ <rkey>
+ <magic>0xA757A046</magic>
+ <curvemagic>0xC7B88C74</curvemagic>
+ <permissions>-1</permissions>
+ <keyid>-1</keyid>
+ <pubkey>rk_pub.pem</pubkey>
+ </rkey>
+ <!-- Code signing key -->
+ <cskey>
+ <magic>0x14711C2F</magic>
+ <curvemagic>0xC7B88C74</curvemagic>
+ <permissions>4</permissions>
+ <keyid>1</keyid>
+ <pubkey>csk_pub.pem</pubkey>
+ <sigmagic>0xDE64437D</sigmagic>
+ <hashalg>sha256</hashalg>
+ <signkey>rk_prv.pem</signkey>
+ <!--<script>./sign_external.sh</script>-->
+ </cskey>
+ <!-- Signature over Block 0 -->
+ <b0_sig>
+ <magic>0x15364367</magic>
+ <sigmagic>0xDE64437D</sigmagic>
+ <hashalg>sha256</hashalg>
+ <signkey>csk_prv.pem</signkey>
+ </b0_sig>
+ </block1>
+ <!-- CPLD Bitstream Specific -->
+ <padding>
+ <!-- Pad block1 such that combined block length is 1024b -->
+ <blockpad>1024</blockpad>
+ <!-- Align total package to 128 bytes -->
+ <align>128</align>
+ </padding>
+</blocksign>
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_manifest.json b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/pfr_manifest.json
index b567faa02..c79b7f343 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_manifest.json
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/pfr_manifest.json
@@ -125,6 +125,72 @@
"0x89", "0x8C", "0x8D", "0x8E", "0x8F", "0x90", "0x91", "0x92", "0x93", "0x94", "0x95", "0x96",
"0x97", "0x98", "0x9A", "0xA6", "0xA7", "0xD0", "0xD3", "0xD4", "0xD5", "0xD6", "0xD7", "0xD8",
"0xD9", "0xDC", "0xDD", "0xDE", "0xDE"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 1,
+ "address": "0xB4",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 2,
+ "address": "0xD4",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 3,
+ "address": "0x4A",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 4,
+ "address": "0x4C",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 5,
+ "address": "0xDC",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 6,
+ "address": "0xEC",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 7,
+ "address": "0xE0",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 8,
+ "address": "0xB0",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 9,
+ "address": "0xC4",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 10,
+ "address": "0xCC",
+ "cmd-whitelist": ["0x00"]
+ },
+ {
+ "bus-id": 2,
+ "rule-id": 11,
+ "address": "0xE4",
+ "cmd-whitelist": ["0x00"]
}
]
}
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_prv.pem b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/rk_prv.pem
index 9e8616795..9e8616795 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_prv.pem
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/rk_prv.pem
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_pub.pem b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/rk_pub.pem
index 117e08bae..117e08bae 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_pub.pem
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/wht/rk_pub.pem
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb
index 9965ab11c..9f8100dc2 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb
@@ -10,7 +10,7 @@ DEPENDS = "openssl-native libxml2-native "
SRC_URI = "git://github.com/Intel-BMC/blocksign;protocol=ssh"
-SRCREV = "60d76db038a0d85851098b13451246abb0d876ed"
+SRCREV = "852d88a1cbf4dc5856ff88e823a38d2872a86ffe"
S = "${WORKDIR}/git/"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb
index 910e61142..bb8684ac2 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb
@@ -10,27 +10,28 @@ inherit native
DEPENDS += " intel-blocksign-native"
SRC_URI = " \
- file://pfr_manifest.json \
file://pfr_image.py \
- file://pfm_config.xml \
- file://bmc_config.xml \
- file://csk_prv.pem \
- file://csk_pub.pem \
- file://rk_pub.pem \
- file://rk_prv.pem \
+ file://${PRODUCT_GENERATION}/pfr_manifest.json \
+ file://${PRODUCT_GENERATION}/pfm_config.xml \
+ file://${PRODUCT_GENERATION}/bmc_config.xml \
+ file://${PRODUCT_GENERATION}/csk_prv.pem \
+ file://${PRODUCT_GENERATION}/csk_pub.pem \
+ file://${PRODUCT_GENERATION}/rk_pub.pem \
+ file://${PRODUCT_GENERATION}/rk_prv.pem \
"
-do_install() {
+do_install () {
bbplain "Copying intel pfr image generation scripts and image signing keys"
- install -d ${D}/${bindir}
+ install -d ${D}${bindir}
install -d ${D}/${datadir}/pfrconfig
- install -m 775 ${WORKDIR}/pfr_image.py ${D}${bindir}
- install -m 400 ${WORKDIR}/pfr_manifest.json ${D}/${datadir}/pfrconfig
- install -m 400 ${WORKDIR}/pfm_config.xml ${D}/${datadir}/pfrconfig
- install -m 400 ${WORKDIR}/bmc_config.xml ${D}/${datadir}/pfrconfig
- install -m 400 ${WORKDIR}/csk_prv.pem ${D}/${datadir}/pfrconfig
- install -m 400 ${WORKDIR}/csk_pub.pem ${D}/${datadir}/pfrconfig
- install -m 400 ${WORKDIR}/rk_pub.pem ${D}/${datadir}/pfrconfig
- install -m 400 ${WORKDIR}/rk_prv.pem ${D}/${datadir}/pfrconfig
+ install -m 775 ${WORKDIR}/pfr_image.py ${D}${bindir}/pfr_image.py
+ install -m 400 ${WORKDIR}/${PRODUCT_GENERATION}/pfr_manifest.json ${D}/${datadir}/pfrconfig
+ install -m 400 ${WORKDIR}/${PRODUCT_GENERATION}/pfm_config.xml ${D}/${datadir}/pfrconfig/pfm_config.xml
+ install -m 400 ${WORKDIR}/${PRODUCT_GENERATION}/bmc_config.xml ${D}/${datadir}/pfrconfig/bmc_config.xml
+ install -m 400 ${WORKDIR}/${PRODUCT_GENERATION}/csk_prv.pem ${D}/${datadir}/pfrconfig/csk_prv.pem
+ install -m 400 ${WORKDIR}/${PRODUCT_GENERATION}/csk_pub.pem ${D}/${datadir}/pfrconfig/csk_pub.pem
+ install -m 400 ${WORKDIR}/${PRODUCT_GENERATION}/rk_pub.pem ${D}/${datadir}/pfrconfig/rk_pub.pem
+ install -m 400 ${WORKDIR}/${PRODUCT_GENERATION}/rk_prv.pem ${D}/${datadir}/pfrconfig/rk_prv.pem
}
+
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics.bb b/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics.bb
new file mode 100644
index 000000000..50c8bd63e
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics.bb
@@ -0,0 +1,24 @@
+SUMMARY = "One time automatically enable every NIC"
+DESCRIPTION = "Re-enable NIC accidentally disabled by earlier BMC firmware."
+
+S = "${WORKDIR}"
+SRC_URI = "file://enable-nics.sh \
+ file://enable-nics.service \
+ "
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+RDEPENDS_${PN} += "bash"
+
+inherit systemd
+
+FILES_${PN} += "${systemd_system_unitdir}/enable-nics.service"
+
+do_install() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/enable-nics.service ${D}${systemd_system_unitdir}
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/enable-nics.sh ${D}/${bindir}/enable-nics.sh
+}
+
+SYSTEMD_SERVICE_${PN} += " enable-nics.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics/enable-nics.service b/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics/enable-nics.service
new file mode 100644
index 000000000..531b5d86e
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics/enable-nics.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Re-enable NICs mistakenly disabled by earlier BMC firmware
+Wants=multi-user.target
+After=multi-user.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/enable-nics.sh
+
+[Install]
+WantedBy=network.target
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics/enable-nics.sh b/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics/enable-nics.sh
new file mode 100755
index 000000000..ce1473be1
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/nic/enable-nics/enable-nics.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+SEMAPHORE_FILE=/var/cache/private/nic_fixup_complete
+
+if [ -a $SEMAPHORE_FILE ]; then
+ exit 0
+fi
+
+for nicFile in /etc/systemd/network/*.network
+do
+ sed -i -e"/Unmanaged/d" $nicFile
+done
+
+touch $SEMAPHORE_FILE
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb
index 97866ba4e..93a849001 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb
@@ -2,7 +2,7 @@ SUMMARY = "SMBIOS MDR version 1 service for Intel based platform"
DESCRIPTION = "SMBIOS MDR version 1 service for Intel based platfrom"
SRC_URI = "git://github.com/Intel-BMC/provingground.git;protocol=ssh;nobranch=1"
-SRCREV = "6aab8bcc8fd0550753c87265036b1b7c4c8a9f71"
+SRCREV = "bee56d62b209088454d166d1efae4825a2b175df"
S = "${WORKDIR}/git/services/smbios/"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
index 306ef13f5..cd49a6316 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
@@ -1,10 +1,10 @@
SUMMARY = "SMBIOS MDR version 2 service for Intel based platform"
DESCRIPTION = "SMBIOS MDR version 2 service for Intel based platfrom"
-SRC_URI = "git://github.com/Intel-BMC/provingground.git;protocol=ssh"
-SRCREV = "bee56d62b209088454d166d1efae4825a2b175df"
+SRC_URI = "git://github.com/Intel-BMC/mdrv2.git;protocol=ssh"
+SRCREV = "d1fc2546cba818388fbef22f50dce6ef17885ff5"
-S = "${WORKDIR}/git/services/smbios-mdrv2/"
+S = "${WORKDIR}/git"
PV = "1.0+git${SRCPV}"
@@ -18,6 +18,7 @@ SYSTEMD_SERVICE_${PN} += "smbios-mdrv2.service"
DEPENDS += " \
autoconf-archive-native \
+ boost \
systemd \
sdbusplus \
sdbusplus-native \
@@ -25,9 +26,3 @@ DEPENDS += " \
phosphor-dbus-interfaces-native \
phosphor-logging \
"
-RDEPENDS_${PN} += " \
- libsystemd \
- sdbusplus \
- phosphor-dbus-interfaces \
- phosphor-logging \
- "