diff options
Diffstat (limited to 'meta-openbmc-mods/meta-common/classes')
3 files changed, 132 insertions, 116 deletions
diff --git a/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass b/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass index 9962e7df6..2e36e4d5c 100644 --- a/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass +++ b/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass @@ -1,113 +1,121 @@ -
-
-inherit obmc-phosphor-full-fitimage
-DEPENDS += "obmc-intel-pfr-image-native"
-
-require recipes-core/os-release/version-vars.inc
-
-IMAGE_TYPES += "intel-pfr"
-
-IMAGE_TYPEDEP_intel-pfr = "mtd-auto"
-IMAGE_TYPES_MASKED += "intel-pfr"
-
-# PFR macros
-# directory where PFR scripts and key are copied
-PFR_STAGING_DIR = "${STAGING_DIR}/intel-pfr-files"
-# PFR images directory
-PFR_IMAGES_DIR = "${DEPLOY_DIR_IMAGE}/pfr_images"
-
-# Refer flash map in manifest.json for the addresses offset
-PFM_OFFSET = "0x80000"
-
-# 0x80000/1024 = 0x200 or 512, 1K Page size.
-PFM_OFFSET_PAGE = "512"
-
-# RC_IMAGE
-RC_IMAGE_OFFSET = "0x02a00000"
-
-# RC_IMAGE_PAGE= 0x02a00000/1024 = 0xA800 or 43008
-RC_IMAGE_PAGE = "43008"
-
-do_image_pfr () {
- bbplain "Generating Intel PFR compliant BMC image"
-
- bbplain "Build Version = ${build_version}"
- bbplain "Build Number = ${build_number}"
- bbplain "Build Hash = ${build_hash}"
-
- mkdir -p "${PFR_IMAGES_DIR}"
- cd "${PFR_IMAGES_DIR}"
-
- # python script that does the creating PFM, BMC compressed and unsigned images from BMC 128MB raw binary file.
- python ${PFR_STAGING_DIR}/pfr_image.py ${PFR_STAGING_DIR}/pfr_manifest.json ${DEPLOY_DIR_IMAGE}/image-mtd ${build_version} ${build_number} ${build_hash}
-
- # sign the PFM region
- ${PFR_STAGING_DIR}/blocksign -c ${PFR_STAGING_DIR}/pfm_config.xml -o ${PFR_IMAGES_DIR}/pfm_signed.bin ${PFR_IMAGES_DIR}/pfm.bin
-
- # Add the signed PFM to rom image
- dd bs=1k conv=notrunc seek=${PFM_OFFSET_PAGE} if=${PFR_IMAGES_DIR}/pfm_signed.bin of=${PFR_IMAGES_DIR}/image-mtd-pfr
-
- # Create unsigned BMC update capsule - append with 1. pfm_signed, 2. pbc, 3. bmc compressed
- dd if=${PFR_IMAGES_DIR}/pfm_signed.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin
-
- dd if=${PFR_IMAGES_DIR}/pbc.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin
-
- dd if=${PFR_IMAGES_DIR}/bmc_compressed.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin
-
- # Sign the BMC update capsule
- ${PFR_STAGING_DIR}/blocksign -c ${PFR_STAGING_DIR}/bmc_config.xml -o ${PFR_IMAGES_DIR}/bmc_signed_cap.bin ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin
-
- # Add the signed bmc update capsule to full rom image @ 0x2a00000
- dd bs=1k conv=notrunc seek=${RC_IMAGE_PAGE} if=${PFR_IMAGES_DIR}/bmc_signed_cap.bin of=${PFR_IMAGES_DIR}/image-mtd-pfr
-
- # Append date and time to all the PFR images
- mv ${PFR_IMAGES_DIR}/pfm_signed.bin ${PFR_IMAGES_DIR}/pfm_signed-${DATETIME}.bin
- mv ${PFR_IMAGES_DIR}/pfm.bin ${PFR_IMAGES_DIR}/pfm-${DATETIME}.bin
- mv ${PFR_IMAGES_DIR}/pbc.bin ${PFR_IMAGES_DIR}/pbc-${DATETIME}.bin
- mv ${PFR_IMAGES_DIR}/bmc_compressed.bin ${PFR_IMAGES_DIR}/bmc_compressed-${DATETIME}.bin
- mv ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin ${PFR_IMAGES_DIR}/bmc_unsigned-cap_${DATETIME}.bin
- mv ${PFR_IMAGES_DIR}/bmc_signed_cap.bin ${PFR_IMAGES_DIR}/bmc_signed_cap-${DATETIME}.bin
- mv ${PFR_IMAGES_DIR}/image-mtd-pfr ${PFR_IMAGES_DIR}/image-mtd-pfr-${DATETIME}
-}
-
-do_image_pfr[vardepsexclude] += "DATETIME"
-do_image_pfr[vardeps] += "IPMI_MAJOR IPMI_MINOR IPMI_AUX13 IPMI_AUX14 IPMI_AUX15 IPMI_AUX16"
-
-python() {
- types = d.getVar('IMAGE_FSTYPES', True).split()
-
- if 'intel-pfr' in types:
-
- bld_ver1 = d.getVar('IPMI_MAJOR', True)
- bld_ver1 = int(bld_ver1) << 8
-
- bld_ver2 = d.getVar('IPMI_MINOR', True)
- bld_ver2 = int(bld_ver2)
-
- bld_ver = bld_ver1 | bld_ver2
- d.setVar('build_version', str(bld_ver))
-
- bld_num = d.getVar('IPMI_AUX13', True)
-
- d.setVar('build_number', bld_num)
-
- bld_hash1 = d.getVar('IPMI_AUX14', True)
- bld_hash2 = d.getVar('IPMI_AUX15', True)
- bld_hash3 = d.getVar('IPMI_AUX16', True)
-
- bld_hash1 = int(bld_hash1, 16)
- bld_hash2 = int(bld_hash2, 16)
- bld_hash3 = int(bld_hash3, 16)
-
- bld_hash = bld_hash3 << 16
- bld_hash |= bld_hash2 << 8
- bld_hash |= bld_hash1
-
- d.setVar('build_hash', str(bld_hash))
-
- bb.build.addtask(# task, depends_on_task, task_depends_on, d )
- 'do_image_pfr',
- 'do_build',
- 'do_generate_auto', d)
-}
-
+ + +inherit obmc-phosphor-full-fitimage +inherit image_types_phosphor_auto +DEPENDS += "obmc-intel-pfr-image-native python3-native intel-blocksign-native" + +require recipes-core/os-release/version-vars.inc + +IMAGE_TYPES += "intel-pfr" + +IMAGE_TYPEDEP_intel-pfr = "mtd-auto" +IMAGE_TYPES_MASKED += "intel-pfr" + +# PFR images directory +PFR_IMAGES_DIR = "${DEPLOY_DIR_IMAGE}/pfr_images" + +# PFR image generation script directory +PFR_SCRIPT_DIR = "${STAGING_DIR_NATIVE}${bindir}" + +# PFR image config directory +PFR_CFG_DIR = "${STAGING_DIR_NATIVE}${datadir}/pfrconfig" + +# Refer flash map in manifest.json for the addresses offset +PFM_OFFSET = "0x80000" + +# 0x80000/1024 = 0x200 or 512, 1K Page size. +PFM_OFFSET_PAGE = "512" + +# RC_IMAGE +RC_IMAGE_OFFSET = "0x02a00000" + +# RC_IMAGE_PAGE= 0x02a00000/1024 = 0xA800 or 43008 +RC_IMAGE_PAGE = "43008" + +do_image_pfr () { + bbplain "Generating Intel PFR compliant BMC image" + + bbplain "Build Version = ${build_version}" + bbplain "Build Number = ${build_number}" + bbplain "Build Hash = ${build_hash}" + + mkdir -p "${PFR_IMAGES_DIR}" + cd "${PFR_IMAGES_DIR}" + + # python script that does the creating PFM, BMC compressed and unsigned images from BMC 128MB raw binary file. + ${PFR_SCRIPT_DIR}/pfr_image.py ${PFR_CFG_DIR}/pfr_manifest.json ${DEPLOY_DIR_IMAGE}/image-mtd ${build_version} ${build_number} ${build_hash} + + # sign the PFM region + ${PFR_SCRIPT_DIR}/blocksign -c ${PFR_CFG_DIR}/pfm_config.xml -o ${PFR_IMAGES_DIR}/pfm_signed.bin ${PFR_IMAGES_DIR}/pfm.bin + + # Add the signed PFM to rom image + dd bs=1k conv=notrunc seek=${PFM_OFFSET_PAGE} if=${PFR_IMAGES_DIR}/pfm_signed.bin of=${PFR_IMAGES_DIR}/image-mtd-pfr + + # Create unsigned BMC update capsule - append with 1. pfm_signed, 2. pbc, 3. bmc compressed + dd if=${PFR_IMAGES_DIR}/pfm_signed.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin + + dd if=${PFR_IMAGES_DIR}/pbc.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin + + dd if=${PFR_IMAGES_DIR}/bmc_compressed.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin + + # Sign the BMC update capsule + ${PFR_SCRIPT_DIR}/blocksign -c ${PFR_CFG_DIR}/bmc_config.xml -o ${PFR_IMAGES_DIR}/bmc_signed_cap.bin ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin + + # Add the signed bmc update capsule to full rom image @ 0x2a00000 + dd bs=1k conv=notrunc seek=${RC_IMAGE_PAGE} if=${PFR_IMAGES_DIR}/bmc_signed_cap.bin of=${PFR_IMAGES_DIR}/image-mtd-pfr + + # Append date and time to all the PFR images + mv ${PFR_IMAGES_DIR}/pfm_signed.bin ${PFR_IMAGES_DIR}/pfm_signed-${DATETIME}.bin + mv ${PFR_IMAGES_DIR}/pfm.bin ${PFR_IMAGES_DIR}/pfm-${DATETIME}.bin + mv ${PFR_IMAGES_DIR}/pbc.bin ${PFR_IMAGES_DIR}/pbc-${DATETIME}.bin + mv ${PFR_IMAGES_DIR}/bmc_compressed.bin ${PFR_IMAGES_DIR}/bmc_compressed-${DATETIME}.bin + mv ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin ${PFR_IMAGES_DIR}/bmc_unsigned_cap-${DATETIME}.bin + mv ${PFR_IMAGES_DIR}/bmc_signed_cap.bin ${PFR_IMAGES_DIR}/bmc_signed_cap-${DATETIME}.bin + mv ${PFR_IMAGES_DIR}/image-mtd-pfr ${PFR_IMAGES_DIR}/image-mtd-pfr-${DATETIME}.bin +} + +do_image_pfr[vardepsexclude] += "DATETIME" +do_image_pfr[vardeps] += "IPMI_MAJOR IPMI_MINOR IPMI_AUX13 IPMI_AUX14 IPMI_AUX15 IPMI_AUX16" +do_image_pfr[depends] += " \ + obmc-intel-pfr-image-native:do_populate_sysroot \ + intel-blocksign-native:do_populate_sysroot \ + " + +python() { + types = d.getVar('IMAGE_FSTYPES', True).split() + + if 'intel-pfr' in types: + + bld_ver1 = d.getVar('IPMI_MAJOR', True) + bld_ver1 = int(bld_ver1) << 8 + + bld_ver2 = d.getVar('IPMI_MINOR', True) + bld_ver2 = int(bld_ver2) + + bld_ver = bld_ver1 | bld_ver2 + d.setVar('build_version', str(bld_ver)) + + bld_num = d.getVar('IPMI_AUX13', True) + + d.setVar('build_number', bld_num) + + bld_hash1 = d.getVar('IPMI_AUX14', True) + bld_hash2 = d.getVar('IPMI_AUX15', True) + bld_hash3 = d.getVar('IPMI_AUX16', True) + + bld_hash1 = int(bld_hash1, 16) + bld_hash2 = int(bld_hash2, 16) + bld_hash3 = int(bld_hash3, 16) + + bld_hash = bld_hash3 << 16 + bld_hash |= bld_hash2 << 8 + bld_hash |= bld_hash1 + + d.setVar('build_hash', str(bld_hash)) + + bb.build.addtask(# task, depends_on_task, task_depends_on, d ) + 'do_image_pfr', + 'do_build', + 'do_generate_auto', d) +} + diff --git a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass index 6a3ad73d7..613a076c6 100644 --- a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass +++ b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass @@ -5,7 +5,6 @@ IMAGE_INSTALL_append = " \ bmcweb \ dbus-broker \ dtc \ - dtoverlay \ entity-manager \ ipmitool \ intel-ipmi-oem \ @@ -16,9 +15,9 @@ IMAGE_INSTALL_append = " \ rest-dbus-static \ phosphor-pid-control \ phosphor-host-postd \ - smbios-mdrv1 \ phosphor-certificate-manager \ phosphor-sel-logger \ + smbios-mdrv1 \ smbios-mdrv2 \ obmc-ikvm \ system-watchdog \ @@ -34,9 +33,14 @@ IMAGE_INSTALL_append = " \ phosphor-u-boot-mgr \ prov-mode-mgr \ ac-boot-check \ + host-error-monitor \ beepcode-mgr \ + psu-manager \ + kernel-panic-check \ " +IMAGE_INSTALL_append = "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'intel-pfr-manager', '', d)}" + # this package was flagged as a security risk IMAGE_INSTALL_remove += " lrzsz" diff --git a/meta-openbmc-mods/meta-common/classes/systemd-watchdog.bbclass b/meta-openbmc-mods/meta-common/classes/systemd-watchdog.bbclass index 4cc3845c6..20b77d1be 100644 --- a/meta-openbmc-mods/meta-common/classes/systemd-watchdog.bbclass +++ b/meta-openbmc-mods/meta-common/classes/systemd-watchdog.bbclass @@ -4,7 +4,11 @@ add_watchdog_confs() { count=5 # allowed reboots for service in $(ls $D/lib/systemd/system | grep -o ".*service"); do - if [[ $service == *"mapper-wait"* ]]; then + if [[ "$service" == *"mapper-wait"* ]]; then + continue + fi + + if [ "$service" = "system-watchdog.service" ]; then continue fi |