diff options
author | Ed Tanous <ed.tanous@intel.com> | 2019-08-19 21:16:19 +0300 |
---|---|---|
committer | Ed Tanous <ed@tanous.net> | 2019-08-20 18:56:17 +0300 |
commit | 35e295e2a161fcf146ea031de53431b2888521fa (patch) | |
tree | a0c78943fef5c085f371aaa840d46edecc1f2e95 /meta-openbmc-mods/meta-common/recipes-intel | |
parent | 9856ac69064742544fafad307d3ee4544385ffa2 (diff) | |
download | openbmc-35e295e2a161fcf146ea031de53431b2888521fa.tar.xz |
Sync to internal 8-19-2019
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-intel')
12 files changed, 285 insertions, 144 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb b/meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb index ea7579cb3..f727b4536 100644 --- a/meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb +++ b/meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb @@ -2,7 +2,7 @@ SUMMARY = "Chassis Power Control service for Intel based platform" DESCRIPTION = "Chassis Power Control service for Intel based platfrom" SRC_URI = "git://git@github.com/Intel-BMC/intel-chassis-control.git;protocol=ssh" -SRCREV = "8d7026c078d79d5e60e7938e4e5f08bb7966ebbd" +SRCREV = "b9e1b13e42359baf21592480874a176548071cf2" S = "${WORKDIR}/git/services/chassis/" diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/blocksign b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/blocksign Binary files differdeleted file mode 100755 index 69d51d2ba..000000000 --- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/blocksign +++ /dev/null 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/bmc_config.xml index 89c3d30ca..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/bmc_config.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?>
<!-- XML file for Block Sign Tool -->
<blocksign>
+ <version>1</version>
<!-- Block 0 -->
<block0>
<magic>0xB6EAFD19</magic>
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/pfm_config.xml index 215fe8783..78c816191 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/pfm_config.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?>
<!-- XML file for Block Sign Tool -->
<blocksign>
+ <version>1</version>
<!-- Block 0 -->
<block0>
<magic>0xB6EAFD19</magic>
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image-manifest.json b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image-manifest.json deleted file mode 100644 index 7890aa700..000000000 --- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image-manifest.json +++ /dev/null @@ -1,63 +0,0 @@ -{
- "image-parts": [{
- "name": "u-boot",
- "index": 0,
- "offset": "0",
- "size": "0x80000",
- "prot_mask": 31,
- "pfm": 1,
- "hash": 1,
- "compress": 1
- },
- {
- "name": "pfm",
- "index": 1,
- "offset": "0x80000",
- "size": "0x20000",
- "prot_mask": 31,
- "pfm": 1,
- "hash": 0,
- "compress": 0
- },
- {
- "name": "u-boot-env",
- "index": 2,
- "offset": "0xa0000",
- "size": "0x20000",
- "prot_mask": 29,
- "pfm": 1,
- "hash": 0,
- "compress": 0
- },
- {
- "name": "sofs",
- "index": 3,
- "offset": "0xc0000",
- "size": "0x200000",
- "prot_mask": 29,
- "pfm": 1,
- "hash": 0,
- "compress": 0
- },
- {
- "name": "rwfs",
- "index": 4,
- "offset": "0x2c0000",
- "size": "0x840000",
- "prot_mask": 29,
- "pfm": 1,
- "hash": 0,
- "compress": 0
- },
- {
- "name": "fit-image-a",
- "index": 5,
- "offset": "0xb00000",
- "size": "0x1f00000",
- "prot_mask": 31,
- "pfm": 1,
- "hash": 1,
- "compress": 1
- }
- ]
-}
\ No newline at end of file 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 e1a23c172..5cda38b79 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 @@ -14,11 +14,9 @@ # TODO: figure out if active and recovery actually have different sigs # TODO: build hashmap from payload manifest # TODO: figure out exact struct layout for PFR metadata - import os, hashlib, struct, json, sys, subprocess, mmap, io, array, binascii, copy, shutil, re from array import array from binascii import unhexlify -from six import b, print_, binary_type from hashlib import sha1, sha256, sha512 from shutil import copyfile # Flash Map @@ -38,18 +36,20 @@ from shutil import copyfile # TODO: The below defines should go to manifest files. # Keeping it here hard coded for now. # The pages to be skipped for HASH and PBC -# Pages: 0x80 to 0xaff - starting PFM region until fit-image +# Pages: 0x80 to 0x9f - starting PFM region until end of pfm # Pages: 0x2a00 to 0x7FFF - starting RC-image until end of flash -EXCLUDE_PAGES =[[0x80, 0xaff],[0x2a00,0x7fff]] +EXCLUDE_PAGES =[[0x80, 0x9f],[0x2a00,0x7fff]] # SPI PFM globals PFM_OFFSET = 0x80000 PFM_SPI = 0x1 +PFM_I2C = 0x2 SHA256 = 0x1 SHA256_SIZE = 32 PFM_DEF_SIZE = 16 PFM_SPI_SIZE_DEF = 16 # 16 bytes of SPI PFM PFM_SPI_SIZE_HASH = 32 # 32 bytes of SPI region HASH +PFM_I2C_SIZE = 40 # 40 bytes of i2c rules region in PFM PAGE_SIZE = 0x1000 # 4KB size of page @@ -62,23 +62,32 @@ def load_manifest(fname): class pfm_spi(object): def __init__(self, prot_mask, start_addr, end_addr, hash, hash_pres): - self.pfm = PFM_SPI - self.prot_mask = prot_mask - self.hash_pres = hash_pres + self.spi_pfm = PFM_SPI + self.spi_prot_mask = prot_mask + self.spi_hash_pres = hash_pres if hash_pres == 1: self.spi_hash = hash - self.pfm_rsvd = 0xffffffff #b'\xff'*4 - self.start_addr = start_addr - self.end_addr = end_addr + self.spi_pfm_rsvd = 0xffffffff # b'\xff'*4 + self.spi_start_addr = start_addr + self.spi_end_addr = end_addr + +class pfm_i2c(object): + def __init__(self, bus_id, rule_id, address, cmd_map): + self.i2c_pfm = PFM_I2C + self.i2c_pfm_rsvd = 0xffffffff # b'\xff'*4 + self.i2c_bus_id = bus_id + self.i2c_rule_id = rule_id + self.i2c_address = address + self.i2c_cmd_whitelist = cmd_map class pfr_bmc_image(object): -# json_file, update_file - def __init__(self, manifest, update_file, build_ver, build_num, build_hash): +# json_file, firmware_file + def __init__(self, manifest, firmware_file, build_ver, build_num, build_hash): self.manifest = load_manifest(manifest) - self.update_file = update_file + self.firmware_file = firmware_file self.build_version = build_ver self.build_number = build_num self.build_hash = build_hash @@ -111,6 +120,26 @@ class pfr_bmc_image(object): # fill in the calculated data self.hash_and_map() + self.i2c_rules = [] + for i in self.manifest['i2c-rules']: + # the json should have in the order- bus-id, rule-id, address, size and cmd-whitelist + self.i2c_rules.append((i['bus-id'], i['rule-id'], i['address'], i['cmd-whitelist'])) + print(self.i2c_rules) + + # I2C rules PFM array + self.pfm_i2c_rules = [] + + # Generate the i2c rules + self.build_i2c_rules() + + # Generate PFM region binary - pfm.bin + self.build_pfm() + print("PFM build done") + + # Generate PBC region - pbc.bin + self.pbc_hdr() + print("PBC build done") + def hash_compress_regions(self, p, upd): # JSON format as below @@ -134,41 +163,44 @@ class pfr_bmc_image(object): # 1 page is 4KB page = start_addr >> 12 - if hash_flag == 1: - with open(self.update_file, "rb") as f: - f.seek(start_addr) - skip = False - # HASH for the region + with open(self.firmware_file, "rb") as f: + f.seek(start_addr) + skip = False + + if hash_flag == 1: hash_dgst = hashlib.sha256() - for chunk in iter(lambda: f.read(self.page_size), b''): - chunk_len = len(chunk) - if chunk_len != self.page_size: - chunk = b''.join([chunk, b'\xff' * (self.page_size - chunk_len)]) - - for p in EXCLUDE_PAGES: - if (page >= p[0]) and (page <= p[1]): - print("Exclude page={}".format(page)) - skip = True - break - - if not skip: - # add to the hash + + for chunk in iter(lambda: f.read(self.page_size), b''): + chunk_len = len(chunk) + if chunk_len != self.page_size: + chunk = b''.join([chunk, b'\xff' * (self.page_size - chunk_len)]) + + for p in EXCLUDE_PAGES: + if (page >= p[0]) and (page <= p[1]): + #print("Exclude page={}".format(page)) + skip = True + break + + if not skip: + # add to the hash + if hash_flag == 1: + # HASH for the region self.act_dgst.update(chunk) hash_dgst.update(chunk) - self.pbc_erase_bitmap[page >> 3] |= 1 << (7- (page % 8)) # Big endian bit map - if compress == 1: - # add to the pbc map - if chunk != self.empty: - print("compressed page ={}".format(page)) - upd.write(chunk) - self.pbc_comp_bitmap[page >> 3] |= 1 << (7- (page % 8)) # Big Endian bit map - self.pbc_comp_payload += chunk_len # compressed payload bytes + if compress == 1: + self.pbc_erase_bitmap[page >> 3] |= 1 << (7- (page % 8)) # Big endian bit map + # add to the pbc map + if chunk != self.empty: + #print("compressed page ={}".format(page)) + upd.write(chunk) + self.pbc_comp_bitmap[page >> 3] |= 1 << (7- (page % 8)) # Big Endian bit map + self.pbc_comp_payload += chunk_len # compressed payload bytes - page += 1 + page += 1 - if (page * self.page_size) >= (size + start_addr): - break + if (page * self.page_size) >= (size + start_addr): + break if pfm_flag == 1: self.pfm_bytes += PFM_SPI_SIZE_DEF @@ -185,24 +217,43 @@ class pfr_bmc_image(object): # append to SPI regions in PFM self.pfm_spi_regions.append(pfm_spi(pfm_prot_mask, start_addr, (start_addr+size), hash, hash_pres)) + def add_i2c_rules(self, i): + bus_id = i[0] # I2C Bus number + rule_id = i[1] # I2C rule number + addr = i[2] # I2C device address + cmds = i[3] # I2C white listed commands for which i2c write to be allowed + whitelist_map = bytearray(32) + + self.pfm_bytes += PFM_I2C_SIZE # add upto PFM size + + for c in cmds: + if c == "all": + for i in range(32): + whitelist_map[i] = 0xff + break + else: + idx = int(c,16) / 8 # index in the 32 bytes of white list i2c cmds + bit = int(c,16) % 8 # bit position to set + whitelist_map[idx] |= (1 << bit) + + # append to I2C rules in PFM + self.pfm_i2c_rules.append(pfm_i2c(bus_id, rule_id, addr, whitelist_map)) + + def build_i2c_rules(self): + for i in self.i2c_rules: + print(i[0], i[1], i[2], i[3]) + self.add_i2c_rules(i) + def hash_and_map(self): # have copy of the update file for appending with PFR meta and compression - copyfile(self.update_file, self.pfr_rom_file) + copyfile(self.firmware_file, self.pfr_rom_file) with open("bmc_compressed.bin", "wb+") as upd: for p in self.image_parts: #filename, index, offset, size, protection. print(p[0], p[1], p[2], p[3], p[4]) self.hash_compress_regions(p, upd) - # Generate PFM region binary - pfm.bin - self.build_pfm() - print("PFM build done") - - # Generate PBC region - pbc.bin - self.pbc_hdr() - print("PBC build done") - def pbc_hdr(self): ''' typedef struct { @@ -244,30 +295,34 @@ class pfr_bmc_image(object): ''' typedef struct { uint32_t tag; /* PFM_HDR_TAG above, no terminating null */ - uint8_t sec_revision; /* SVN- security revision of associated image data */ + uint8_t SVN; /* SVN- security revision of associated image data */ + uint8_t bkc; /* bkc */ uint8_t pfm_ver_major; /* PFM revision */ uint8_t pfm_ver_minor; + uint8_t reserved0[4]; uint8_t build_num; uint8_t build_hash[3]; - uint8_t reserved0; /* reserved */ + uint8_t reserved1[12]; /* reserved */ uint32_t pfm_length; /* PFM size in bytes */ pfm_spi pfm_spi[2]; /* PFM SPI regions - u-boot & fit-image */ pfm_smbus pfm_smbus[4]; /* defined smbus rules for PSUs and HSBP */ } __attribute__((packed)) pfm_hdr; ''' names = [ - 'tag', 'sec_rev', 'pfm_ver_major', 'pfm_ver_minor', 'build_num', 'build_hash1', 'build_hash2', 'build_hash3', 'resvd0', 'pfm_len', + 'tag', 'sec_rev', 'bkc', 'pfm_ver_major', 'pfm_ver_minor', 'resvd0', 'build_num', 'build_hash1', 'build_hash2', 'build_hash3', 'resvd1', 'pfm_len', ] parts = { 'tag': struct.pack("<I", 0x02b3ce1d), 'sec_rev': struct.pack('<B', self.sec_rev), + 'bkc': struct.pack('<B', 0x01), 'pfm_ver_major': struct.pack('<B', ((int(self.build_version) >> 8) & 0xff)), 'pfm_ver_minor': struct.pack('<B', (int(self.build_version) & 0x00ff)), + 'resvd0': b'\xff'* 4, 'build_num': struct.pack('<B', int(self.build_number,16)), - 'build_hash1': struct.pack('<B', int(self.build_hash) & 0xff), - 'build_hash2': struct.pack('<B', (int(self.build_hash) >> 8) & 0xff), - 'build_hash3': struct.pack('<B', (int(self.build_hash) >> 16) & 0xff), - 'resvd0': b'\xff'* 1, + 'build_hash1': struct.pack('<B', (int(self.build_hash) & 0xff)), + 'build_hash2': struct.pack('<B', ((int(self.build_hash) >> 8) & 0xff)), + 'build_hash3': struct.pack('<B', ((int(self.build_hash) >> 16) & 0xff)), + 'resvd1': b'\xff'* 12, 'pfm_len': '' } @@ -280,32 +335,40 @@ class pfr_bmc_image(object): with open("pfm.bin", "wb+") as f: f.write(b''.join([parts[n] for n in names])) for i in self.pfm_spi_regions: - f.write(struct.pack('b', int(i.pfm))) - f.write(struct.pack('b', int(i.prot_mask))) - f.write(struct.pack('h', int(i.hash_pres))) - f.write(struct.pack('<I', int(i.pfm_rsvd))) - f.write(struct.pack('<I', int(i.start_addr))) - f.write(struct.pack('<I', int(i.end_addr))) - - if i.hash_pres == 1: + f.write(struct.pack('<B', int(i.spi_pfm))) + f.write(struct.pack('<B', int(i.spi_prot_mask))) + f.write(struct.pack('<h', int(i.spi_hash_pres))) + f.write(struct.pack('<I', int(i.spi_pfm_rsvd))) + 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: f.write(i.spi_hash.decode('hex')) + for r in self.pfm_i2c_rules: + f.write(struct.pack('<B', int(r.i2c_pfm))) + f.write(struct.pack('<I', int(r.i2c_pfm_rsvd))) + f.write(struct.pack('<B', int(r.i2c_bus_id))) + f.write(struct.pack('<B', int(r.i2c_rule_id))) + f.write(struct.pack('<B', int(r.i2c_address, 16))) + f.write(r.i2c_cmd_whitelist) + # write the padding bytes at the end 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> <update.bin> <build_version> <build_number> <build_hash>'.format(sys.argv[0])) + print('usage: {} <manifest.json> <firmware.bin> <build_version> <build_number> <build_hash>'.format(sys.argv[0])) return json_file = sys.argv[1] - update_file = sys.argv[2] + firmware_file = sys.argv[2] build_ver = sys.argv[3] build_num = sys.argv[4] build_hash = sys.argv[5] # function to generate BMC PFM, PBC header and BMC compressed image - pfr_bmc_image(json_file, update_file, build_ver, build_num, build_hash) + pfr_bmc_image(json_file, firmware_file, build_ver, build_num, build_hash) if __name__ == '__main__': main() 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/pfr_manifest.json new file mode 100644 index 000000000..adea41eab --- /dev/null +++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_manifest.json @@ -0,0 +1,120 @@ +{ + "image-parts": [{ + "name": "u-boot", + "index": 0, + "offset": "0", + "size": "0x80000", + "prot_mask": 29, + "pfm": 1, + "hash": 1, + "compress": 1 + }, + { + "name": "pfm", + "index": 1, + "offset": "0x80000", + "size": "0x20000", + "prot_mask": 0, + "pfm": 1, + "hash": 0, + "compress": 0 + }, + { + "name": "u-boot-env", + "index": 2, + "offset": "0xa0000", + "size": "0x20000", + "prot_mask": 31, + "pfm": 1, + "hash": 0, + "compress": 1 + }, + { + "name": "sofs", + "index": 3, + "offset": "0xc0000", + "size": "0x200000", + "prot_mask": 31, + "pfm": 1, + "hash": 0, + "compress": 1 + }, + { + "name": "rwfs", + "index": 4, + "offset": "0x2c0000", + "size": "0x840000", + "prot_mask": 31, + "pfm": 1, + "hash": 0, + "compress": 1 + }, + { + "name": "fit-image-a", + "index": 5, + "offset": "0xb00000", + "size": "0x1f00000", + "prot_mask": 29, + "pfm": 1, + "hash": 1, + "compress": 1 + }, + { + "name": "rc-image", + "index": 6, + "offset": "0x2a00000", + "size": "0x2000000", + "prot_mask": 0, + "pfm": 1, + "hash": 0, + "compress": 0 + }, + { + "name": "image-stg", + "index": 7, + "offset": "0x4a00000", + "size": "0x3600000", + "prot_mask": 3, + "pfm": 1, + "hash": 0, + "compress": 0 + } + ], + "i2c-rules": [{ + "bus-id": 5, + "rule-id": 1, + "address": "0xD0", + "cmd-whitelist": ["0x00", "0x01", "0x02", "0x03", "0x04", "0x09", "0x0A", "0x0B", "0x0C", "0x0D", "0x0E", "0x0F", + "0x10", "0x13", "0x17", "0x1B", "0x1C", "0x1D", "0x02", "0x021", "0x22", "0x23", "0x25", "0x30", + "0x31", "0x32", "0x33", "0x035", "0x36", "0x37", "0x38", "0x39", "0x3A", "0x3B", "0x3C", "0x3D"] + }, + { + "bus-id": 5, + "rule-id": 2, + "address": "0xD6", + "cmd-whitelist": ["0x00", "0x01", "0x02", "0x03", "0x04", "0x09", "0x0A", "0x0B", "0x0C", "0x0D", "0x0E", "0x0F", + "0x10", "0x13", "0x17", "0x1B", "0x1C", "0x1D", "0x02", "0x021", "0x22", "0x23", "0x25", "0x30", + "0x31", "0x32", "0x33", "0x035", "0x36", "0x37", "0x38", "0x39", "0x3A", "0x3B", "0x3C", "0x3D"] + }, + { + "bus-id": 8, + "rule-id": 3, + "address": "0xB0", + "cmd-whitelist": ["0x03", "0x05", "0x06", "0x19", "0x1A", "0x30", "0x3A", "0x3B", "0x3C", "0x3D", "0x3E", "0x3F", + "0x79", "0x7A", "0x7B", "0x7C", "0x7D", "0x7E", "0x7F", "0x81", "0x82", "0x86", "0x87", "0x88", + "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": 8, + "rule-id": 4, + "address": "0xB2", + "cmd-whitelist": ["0x03", "0x05", "0x06", "0x19", "0x1A", "0x30", "0x3A", "0x3B", "0x3C", "0x3D", "0x3E", "0x3F", + "0x79", "0x7A", "0x7B", "0x7C", "0x7D", "0x7E", "0x7F", "0x81", "0x82", "0x86", "0x87", "0x88", + "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"] + } + ] +} 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 new file mode 100644 index 000000000..12394dd91 --- /dev/null +++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-blocksign-native.bb @@ -0,0 +1,20 @@ +SUMMARY = "Intel Blocksign tool for PFR image"
+DESCRIPTION = "Image signing tool for BMC PFR image"
+
+inherit native cmake
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+DEPENDS = "openssl-native libxml2-native "
+
+SRC_URI = "git://git@github.com/Intel-BMC/blocksign;protocol=ssh"
+
+SRCREV = "60d76db038a0d85851098b13451246abb0d876ed"
+
+S = "${WORKDIR}/git/"
+
+do_install_append() {
+ install -d ${STAGING_DIR}/intel-pfr-files
+ install -m 775 ${B}/blocksign ${STAGING_DIR}/intel-pfr-files
+}
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-manager_git.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-manager_git.bb index ebebe43bb..96bfec0a8 100644 --- a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-manager_git.bb +++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-manager_git.bb @@ -9,7 +9,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh" -SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab" +SRCREV = "226ca2842e0a14ad56b4ebeedfd82ac2ea7e145e" inherit cmake systemd SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.Intel.PFR.Manager.service" 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 ee2cc3934..307fe1829 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 @@ -9,11 +9,11 @@ inherit native PFR_KEY_NAME ?= "pfr-dev-key"
PFR_SIGN_UTIL ?= "blocksign"
+DEPENDS += " intel-blocksign-native"
SRC_URI = " \
- file://pfr_image-manifest.json \
+ file://pfr_manifest.json \
file://pfr_image.py \
- file://blocksign \
file://pfm_config.xml \
file://bmc_config.xml \
file://csk_prv.pem \
@@ -26,13 +26,12 @@ do_install() { bbplain "Copying the intel pfr image generation scripts and image signing keys"
install -d ${STAGING_DIR}/intel-pfr-files
- install -m 400 ${WORKDIR}/pfr_image-manifest.json ${STAGING_DIR}/intel-pfr-files
- install -m 775 ${WORKDIR}/blocksign ${STAGING_DIR}/intel-pfr-files
+ install -m 400 ${WORKDIR}/pfr_manifest.json ${STAGING_DIR}/intel-pfr-files
install -m 400 ${WORKDIR}/pfm_config.xml ${STAGING_DIR}/intel-pfr-files
install -m 400 ${WORKDIR}/bmc_config.xml ${STAGING_DIR}/intel-pfr-files
install -m 775 ${WORKDIR}/pfr_image.py ${STAGING_DIR}/intel-pfr-files
- install -m 400 ${WORKDIR}/csk_prv.pem ${STAGING_DIR}/intel-pfr-files/
- install -m 400 ${WORKDIR}/csk_pub.pem ${STAGING_DIR}/intel-pfr-files/
- install -m 400 ${WORKDIR}/rk_pub.pem ${STAGING_DIR}/intel-pfr-files/
- install -m 400 ${WORKDIR}/rk_prv.pem ${STAGING_DIR}/intel-pfr-files/
+ install -m 400 ${WORKDIR}/csk_prv.pem ${STAGING_DIR}/intel-pfr-files
+ install -m 400 ${WORKDIR}/csk_pub.pem ${STAGING_DIR}/intel-pfr-files
+ install -m 400 ${WORKDIR}/rk_pub.pem ${STAGING_DIR}/intel-pfr-files
+ install -m 400 ${WORKDIR}/rk_prv.pem ${STAGING_DIR}/intel-pfr-files
}
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 84d5a9831..0f6893ed6 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://git@github.com/Intel-BMC/provingground.git;protocol=ssh" -SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab" +SRCREV = "226ca2842e0a14ad56b4ebeedfd82ac2ea7e145e" 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 bc0538b04..71ac31348 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 @@ -2,7 +2,7 @@ SUMMARY = "SMBIOS MDR version 2 service for Intel based platform" DESCRIPTION = "SMBIOS MDR version 2 service for Intel based platfrom" SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh" -SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab" +SRCREV = "226ca2842e0a14ad56b4ebeedfd82ac2ea7e145e" S = "${WORKDIR}/git/services/smbios-mdrv2/" |