summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/classes
diff options
context:
space:
mode:
authorJason M. Bills <jason.m.bills@linux.intel.com>2020-12-08 00:45:20 +0300
committerJason M. Bills <jason.m.bills@linux.intel.com>2020-12-10 01:15:05 +0300
commit82dbc15a05125a812c140a3c8cff81c366482229 (patch)
tree9c8f1ad262a2e281f20340cf8646aca6f8596044 /meta-openbmc-mods/meta-common/classes
parent8d6ae7f2a817751fad151168fa10ce28ee0869d8 (diff)
downloadopenbmc-82dbc15a05125a812c140a3c8cff81c366482229.tar.xz
Update to internal 0.26
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Diffstat (limited to 'meta-openbmc-mods/meta-common/classes')
-rw-r--r--meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass43
-rw-r--r--meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass40
-rw-r--r--meta-openbmc-mods/meta-common/classes/systemd-watchdog.bbclass41
3 files changed, 77 insertions, 47 deletions
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"