From 82dbc15a05125a812c140a3c8cff81c366482229 Mon Sep 17 00:00:00 2001 From: "Jason M. Bills" Date: Mon, 7 Dec 2020 13:45:20 -0800 Subject: Update to internal 0.26 Signed-off-by: Jason M. Bills --- .../classes/obmc-phosphor-full-fitimage.bbclass | 43 +++++++++++++++++++++- .../classes/obmc-phosphor-image-common.bbclass | 40 +++++++++++++++++--- .../meta-common/classes/systemd-watchdog.bbclass | 41 --------------------- 3 files changed, 77 insertions(+), 47 deletions(-) delete mode 100644 meta-openbmc-mods/meta-common/classes/systemd-watchdog.bbclass (limited to 'meta-openbmc-mods/meta-common/classes') diff --git a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass index 26c895951..0fdad5b5c 100644 --- a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass +++ b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass @@ -242,6 +242,7 @@ EOF # $5 ... config ID # $6 ... default flag # $7 ... Hash type +# $8 ... DTB index fitimage_emit_section_config() { conf_csum="${7}" @@ -430,7 +431,7 @@ fitimage_assemble() { if [ -n "${DTBS}" ]; then i=1 for DTB in ${DTBS}; do - fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${setupcount}" "`expr ${i} = ${dtbcount}`" "${hash_type}" + fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${setupcount}" "`expr ${i} = ${dtbcount}`" "${hash_type}" "${i}" i=`expr ${i} + 1` done fi @@ -470,6 +471,43 @@ python do_generate_phosphor_manifest() { fd.write('HashType=RSA-SHA256\n') } +# Get HEAD git hash +def get_head_hash(codebase): + err = None + try: + cmd = 'git --work-tree {} --git-dir {}/.git {}'.format(codebase, codebase, "rev-parse HEAD") + ret, err = bb.process.run(cmd) + if err is not None: + ret += err + except bb.process.ExecutionError as e: + ret = '' + if e.stdout is not None: + ret += e.stdout + if e.stderr is not None: + ret += e.stderr + except Exception as e: + ret = str(e) + return ret.split("\n")[0] + +# Generate file 'RELEASE' +# It contains git hash info which is required by rest of release process (release note, for example) +python do_generate_release_metainfo() { + b = d.getVar('DEPLOY_DIR_IMAGE', True) + corebase = d.getVar('COREBASE', True) + intelbase = os.path.join(corebase, 'meta-openbmc-mods') + filename = os.path.join(b, "RELEASE") + version = do_get_version(d) + + with open(filename, 'w') as fd: + fd.write('VERSION_ID={}\n'.format(version.strip('"'))) + if os.path.exists(corebase): + obmc_hash = get_head_hash(corebase) + fd.write('COMMUNITY_HASH={}\n'.format(obmc_hash)) + if os.path.exists(intelbase): + intel_hash = get_head_hash(intelbase) + fd.write('INTEL_HASH={}\n'.format(intel_hash)) +} + def get_pubkey_type(d): return os.listdir(get_pubkey_basedir(d))[0] @@ -521,7 +559,9 @@ do_image_fitimage_rootfs() { tar -h -cvf "${DEPLOY_DIR_IMAGE}/${PN}-image-update-${MACHINE}-${DATETIME}.tar" MANIFEST image-u-boot image-runtime image-kernel image-rofs image-rwfs # make a symlink ln -sf "${PN}-image-update-${MACHINE}-${DATETIME}.tar" "${DEPLOY_DIR_IMAGE}/image-update-${MACHINE}" + ln -sf "${PN}-image-update-${MACHINE}-${DATETIME}.tar" "${DEPLOY_DIR_IMAGE}/OBMC-${@ do_get_version(d)}-oob.bin" ln -sf "image-update-${MACHINE}" "${DEPLOY_DIR_IMAGE}/image-update" + ln -sf "image-update-${MACHINE}" "${DEPLOY_DIR_IMAGE}/OBMC-${@ do_get_version(d)}-inband.bin" } do_image_fitimage_rootfs[vardepsexclude] = "DATETIME" @@ -530,3 +570,4 @@ do_image_fitimage_rootfs[depends] += " ${DEPS}" addtask do_image_fitimage_rootfs before do_generate_auto after do_image_complete addtask do_generate_phosphor_manifest before do_image_fitimage_rootfs after do_image_complete +addtask do_generate_release_metainfo before do_generate_phosphor_manifest after do_image_complete 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 3bbed738a..d2dc904b7 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 @@ -1,16 +1,45 @@ inherit obmc-phosphor-image -inherit systemd-watchdog + +IMAGE_FEATURES += " \ + obmc-bmc-state-mgmt \ + obmc-chassis-mgmt \ + obmc-chassis-state-mgmt \ + obmc-devtools \ + obmc-fan-control \ + obmc-fan-mgmt \ + obmc-flash-mgmt \ + obmc-host-ctl \ + obmc-host-ipmi \ + obmc-host-state-mgmt \ + obmc-inventory \ + obmc-leds \ + obmc-logging-mgmt \ + obmc-remote-logging-mgmt \ + obmc-net-ipmi \ + obmc-sensors \ + obmc-software \ + obmc-system-mgmt \ + obmc-user-mgmt \ + ${@bb.utils.contains('DISTRO_FEATURES', 'obmc-ubi-fs', 'read-only-rootfs', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'phosphor-mmc', 'read-only-rootfs', '', d)} \ + ssh-server-dropbear \ + obmc-debug-collector \ + obmc-network-mgmt \ + obmc-settings-mgmt \ + obmc-console \ + " IMAGE_INSTALL_append = " \ bmcweb \ dbus-broker \ entity-manager \ + fru-device \ ipmitool \ intel-ipmi-oem \ phosphor-ipmi-ipmb \ phosphor-node-manager-proxy \ dbus-sensors \ - phosphor-webui \ + webui-vue \ at-scale-debug \ phosphor-pid-control \ phosphor-host-postd \ @@ -18,9 +47,8 @@ IMAGE_INSTALL_append = " \ phosphor-sel-logger \ smbios-mdrv2 \ obmc-ikvm \ - system-watchdog \ frb2-watchdog \ - service-config-manager \ + srvcfg-manager \ callback-manager \ phosphor-post-code-manager \ preinit-mounts \ @@ -47,7 +75,9 @@ IMAGE_INSTALL_append = " \ host-misc-comm-manager \ " -IMAGE_INSTALL_append = "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'pfr-manager', '', d)}" +IMAGE_INSTALL_append = " ${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'pfr-manager', '', d)}" + +IMAGE_INSTALL_append = " ${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'ncsi-monitor', '', 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 deleted file mode 100644 index ad49eed82..000000000 --- a/meta-openbmc-mods/meta-common/classes/systemd-watchdog.bbclass +++ /dev/null @@ -1,41 +0,0 @@ -add_watchdog_confs() { - - interval=10 # minutes - count=5 # allowed reboots - - for service in $(ls $D/lib/systemd/system | grep -o ".*service"); do - if [[ "$service" == *"mapper-wait"* ]]; then - continue - fi - - if [ "$service" = "system-watchdog.service" ]; then - continue - fi - - if [ "$service" = "systemd-coredump@.service" ]; then - continue - fi - - if cat $D/lib/systemd/system/${service} | grep oneshot > /dev/null; then - continue - fi - - folder="$D/etc/systemd/system/${service}.d" - mkdir -p "${folder}" - fname="${folder}/watchdog.conf" - echo "[Unit]" > ${fname} - echo "OnFailure=watchdog-reset@${service}.service" >> ${fname} - echo "[Service]" >> "${fname}" - echo "StartLimitInterval=${interval}min" >> "${fname}" - echo "StartLimitBurst=${count}" >> "${fname}" - echo "RestartSec=60" >> "${fname}" - - if cat $D/lib/systemd/system/${service} | grep Restart > /dev/null; then - continue - fi - echo "Restart=on-failure" >> "${fname}" - done - -} - -ROOTFS_POSTINSTALL_COMMAND += "add_watchdog_confs" -- cgit v1.2.3