1# Common code for generating Phosphor OpenBMC images. 2 3# Additional IMAGE_FEATURES available with Phosphor OpenBMC: 4# 5# - obmc-bmc-state-mgmt - OpenBMC BMC state management 6# - obmc-bmcweb - OpenBMC webserver 7# - obmc-chassis-mgmt - OpenBMC chassis management 8# - obmc-chassis-state-mgmt - OpenBMC chassis state management 9# - obmc-console - OpenBMC serial over LAN 10# - obmc-dbus-monitor - OpenBMC dbus monitoring 11# - obmc-debug-collector - OpenBMC debug collector 12# - obmc-devtools - OpenBMC development and debugging tools 13# - obmc-fan-control - OpenBMC fan management 14# - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead 15# - obmc-flash-mgmt - OpenBMC flash management 16# - obmc-fru-ipmi - OpenBMC IPMI FRU EEPROM support 17# - obmc-health-monitor - OpenBMC health monitoring 18# - obmc-host-ctl - OpenBMC host control 19# - obmc-host-ipmi - OpenBMC host IPMI 20# - obmc-host-state-mgmt - OpenBMC host state management 21# - obmc-ikvm - OpenBMC KVM over IP 22# - obmc-inventory - OpenBMC inventory support 23# - obmc-leds - OpenBMC LED support 24# - obmc-logging-mgmt - OpenBMC logging management 25# - obmc-remote-logging-mgmt - OpenBMC remote logging management 26# - obmc-rng - OpenBMC random number generator 27# - obmc-sensors - OpenBMC sensor support 28# - obmc-settings-mgmt - OpenBMC settings management 29# - obmc-software - OpenBMC software management 30# - obmc-system-mgmt - OpenBMC system management 31# - obmc-telemetry - OpenBMC telemetry solution 32# - obmc-user-mgmt - OpenBMC user management 33# - obmc-user-mgmt-ldap - OpenBMC LDAP users 34 35inherit core-image 36inherit obmc-phosphor-utils 37 38FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt" 39FEATURE_PACKAGES_obmc-bmcweb ?= "packagegroup-obmc-apps-bmcweb" 40FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt', '', d)}" 41FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt" 42FEATURE_PACKAGES_obmc-console ?= "packagegroup-obmc-apps-console" 43FEATURE_PACKAGES_obmc-dbus-monitor ?= "packagegroup-obmc-apps-dbus-monitor" 44FEATURE_PACKAGES_obmc-devtools ?= "packagegroup-obmc-apps-devtools" 45FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control" 46FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt', '', d)}" 47FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt', '', d)}" 48FEATURE_PACKAGES_obmc-fru-ipmi ?= "packagegroup-obmc-apps-fru-ipmi" 49FEATURE_PACKAGES_obmc-health-monitor ?= "packagegroup-obmc-apps-health-monitor" 50FEATURE_PACKAGES_obmc-host-ctl ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ctl', 'virtual-obmc-host-ctl', '', d)}" 51FEATURE_PACKAGES_obmc-host-ipmi ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw', '', d)}" 52FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt" 53FEATURE_PACKAGES_obmc-ikvm ?= "packagegroup-obmc-apps-ikvm" 54FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory" 55FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds" 56FEATURE_PACKAGES_obmc-logging-mgmt ?= "packagegroup-obmc-apps-logging" 57FEATURE_PACKAGES_obmc-remote-logging-mgmt ?= "packagegroup-obmc-apps-remote-logging" 58FEATURE_PACKAGES_obmc-rng ?= "packagegroup-obmc-apps-rng" 59FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net" 60FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors" 61FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software" 62FEATURE_PACKAGES_obmc-system-mgmt ?= "${@bb.utils.contains('DISTRO_FEATURES', 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt', '', d)}" 63FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector" 64FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings" 65FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network" 66FEATURE_PACKAGES_obmc-telemetry ?= "packagegroup-obmc-apps-telemetry" 67FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt" 68FEATURE_PACKAGES_obmc-user-mgmt-ldap ?= "packagegroup-obmc-apps-user-mgmt-ldap" 69 70# FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and 71# cannot be built on core-qemu machines because of the dependency 72# tree under phosphor-ipmi-host 73FEATURE_PACKAGES_obmc-net-ipmi:qemuall = "" 74 75# Add new packages to be installed to a package group in 76# packagegroup-obmc-apps, not here. 77OBMC_IMAGE_BASE_INSTALL = " \ 78 packagegroup-obmc-apps-extras \ 79 ${OBMC_IMAGE_EXTRA_INSTALL} \ 80 " 81 82OBMC_IMAGE_EXTRA_INSTALL ?= "" 83 84CORE_IMAGE_EXTRA_INSTALL += "${OBMC_IMAGE_BASE_INSTALL}" 85 86remove_etc_version() { 87 rm ${IMAGE_ROOTFS}${sysconfdir}/version 88} 89 90enable_ldap_nsswitch() { 91 sed -i 's/\(\(passwd\|group\):\s*\).*/\1files systemd ldap/' \ 92 "${IMAGE_ROOTFS}${sysconfdir}/nsswitch.conf" 93 sed -i 's/\(shadow:\s*\).*/\1files ldap/' \ 94 "${IMAGE_ROOTFS}${sysconfdir}/nsswitch.conf" 95} 96 97ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('IMAGE_FEATURES', 'obmc-user-mgmt-ldap', 'enable_ldap_nsswitch ;', '', d)}" 98 99