blob: b5d265032b2db8a5d13b274da3cb09855b39236e [file] [log] [blame]
Brad Bishop93fb5352015-09-09 03:59:20 +00001# Common code for generating Phosphor OpenBMC images.
2
3# Additional IMAGE_FEATURES available with Phosphor OpenBMC:
4#
Brad Bishop51ca97e2017-01-26 10:49:22 -05005# - obmc-bmc-state-mgmt - OpenBMC BMC state management
Brad Bishopb52116a2020-08-10 20:45:15 -04006# - obmc-bmcweb - OpenBMC webserver
Brad Bishop51ca97e2017-01-26 10:49:22 -05007# - obmc-chassis-mgmt - OpenBMC chassis management
8# - obmc-chassis-state-mgmt - OpenBMC chassis state management
Brad Bishop8c09b142020-08-11 08:20:31 -04009# - obmc-console - OpenBMC serial over LAN
Brad Bishopb52116a2020-08-10 20:45:15 -040010# - obmc-dbus-monitor - OpenBMC dbus monitoring
Wludzik, Jozefe9defc02021-01-28 09:36:34 +010011# - obmc-debug-collector - OpenBMC debug collector
Brad Bishope3fe5782020-08-10 20:20:47 -040012# - obmc-devtools - OpenBMC development and debugging tools
Brad Bishop4824d4c2017-05-01 11:54:34 -040013# - obmc-fan-control - OpenBMC fan management
14# - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead
Brad Bishop51ca97e2017-01-26 10:49:22 -050015# - obmc-flash-mgmt - OpenBMC flash management
Brad Bishopc1371fd2020-08-18 19:30:11 -040016# - obmc-fru-ipmi - OpenBMC IPMI FRU EEPROM support
Vijay Khemkad549dee2020-09-08 11:56:19 -070017# - obmc-health-monitor - OpenBMC health monitoring
Brad Bishop51ca97e2017-01-26 10:49:22 -050018# - obmc-host-ctl - OpenBMC host control
19# - obmc-host-ipmi - OpenBMC host IPMI
20# - obmc-host-state-mgmt - OpenBMC host state management
Brad Bishopb52116a2020-08-10 20:45:15 -040021# - obmc-ikvm - OpenBMC KVM over IP
Brad Bishop4f12f722017-02-01 21:04:14 -050022# - obmc-inventory - OpenBMC inventory support
23# - obmc-leds - OpenBMC LED support
Brad Bishop51ca97e2017-01-26 10:49:22 -050024# - obmc-logging-mgmt - OpenBMC logging management
Brad Bishop0f1b05d2018-10-16 11:02:54 -050025# - obmc-remote-logging-mgmt - OpenBMC remote logging management
Brad Bishop8c09b142020-08-11 08:20:31 -040026# - obmc-rng - OpenBMC random number generator
Brad Bishop4f12f722017-02-01 21:04:14 -050027# - obmc-sensors - OpenBMC sensor support
Adriana Kobylak1ffadd92016-08-25 10:07:34 -050028# - obmc-settings-mgmt - OpenBMC settings management
Gunnar Mills058788a2017-02-15 16:01:45 -060029# - obmc-software - OpenBMC software management
Patrick Williams5a5f33c2021-11-03 10:35:37 -050030# - obmc-system-mgmt - OpenBMC system management
Wludzik, Jozefe9defc02021-01-28 09:36:34 +010031# - obmc-telemetry - OpenBMC telemetry solution
Brad Bishop51ca97e2017-01-26 10:49:22 -050032# - obmc-user-mgmt - OpenBMC user management
Brad Bishopb52116a2020-08-10 20:45:15 -040033# - obmc-user-mgmt-ldap - OpenBMC LDAP users
Andrew Geissler96bca602023-09-20 09:10:21 -050034# - obmc-webui - OpenBMC Web User Interface
Brad Bishop93fb5352015-09-09 03:59:20 +000035
36inherit core-image
Jean-Marie Verdunf2f4f122020-10-26 11:17:06 -070037inherit obmc-phosphor-utils
Brad Bishop93fb5352015-09-09 03:59:20 +000038
Brad Bishopdb32a7c2017-03-01 16:16:06 -050039FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt"
Brad Bishopb52116a2020-08-10 20:45:15 -040040FEATURE_PACKAGES_obmc-bmcweb ?= "packagegroup-obmc-apps-bmcweb"
Brad Bishopff92bb62020-07-09 16:59:54 -040041FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt', '', d)}"
Brad Bishopdb32a7c2017-03-01 16:16:06 -050042FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt"
Brad Bishop8c09b142020-08-11 08:20:31 -040043FEATURE_PACKAGES_obmc-console ?= "packagegroup-obmc-apps-console"
Brad Bishopb52116a2020-08-10 20:45:15 -040044FEATURE_PACKAGES_obmc-dbus-monitor ?= "packagegroup-obmc-apps-dbus-monitor"
Brad Bishope3fe5782020-08-10 20:20:47 -040045FEATURE_PACKAGES_obmc-devtools ?= "packagegroup-obmc-apps-devtools"
Brad Bishop4824d4c2017-05-01 11:54:34 -040046FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control"
Brad Bishopff92bb62020-07-09 16:59:54 -040047FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt', '', d)}"
48FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt', '', d)}"
Brad Bishopc1371fd2020-08-18 19:30:11 -040049FEATURE_PACKAGES_obmc-fru-ipmi ?= "packagegroup-obmc-apps-fru-ipmi"
Vijay Khemkad549dee2020-09-08 11:56:19 -070050FEATURE_PACKAGES_obmc-health-monitor ?= "packagegroup-obmc-apps-health-monitor"
Brad Bishopff92bb62020-07-09 16:59:54 -040051FEATURE_PACKAGES_obmc-host-ctl ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ctl', 'virtual-obmc-host-ctl', '', d)}"
52FEATURE_PACKAGES_obmc-host-ipmi ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw', '', d)}"
Brad Bishopdb32a7c2017-03-01 16:16:06 -050053FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt"
Brad Bishopb52116a2020-08-10 20:45:15 -040054FEATURE_PACKAGES_obmc-ikvm ?= "packagegroup-obmc-apps-ikvm"
Brad Bishop4f12f722017-02-01 21:04:14 -050055FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory"
56FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds"
Brad Bishop8298e182020-03-19 16:23:43 -040057FEATURE_PACKAGES_obmc-logging-mgmt ?= "packagegroup-obmc-apps-logging"
Brad Bishop0f1b05d2018-10-16 11:02:54 -050058FEATURE_PACKAGES_obmc-remote-logging-mgmt ?= "packagegroup-obmc-apps-remote-logging"
Brad Bishop8c09b142020-08-11 08:20:31 -040059FEATURE_PACKAGES_obmc-rng ?= "packagegroup-obmc-apps-rng"
Brad Bishop211ccf32018-03-23 00:18:53 -040060FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net"
Brad Bishop4f12f722017-02-01 21:04:14 -050061FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors"
Gunnar Mills058788a2017-02-15 16:01:45 -060062FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software"
Patrick Williams5a5f33c2021-11-03 10:35:37 -050063FEATURE_PACKAGES_obmc-system-mgmt ?= "${@bb.utils.contains('DISTRO_FEATURES', 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt', '', d)}"
Jayanth Othayoth2a5d91e2017-05-31 06:25:55 -050064FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector"
Andrew Geisslera36894f2018-02-05 12:02:35 -080065FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings"
Ratan Guptad3c61642017-07-06 21:09:14 +053066FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network"
Wludzik, Jozefe9defc02021-01-28 09:36:34 +010067FEATURE_PACKAGES_obmc-telemetry ?= "packagegroup-obmc-apps-telemetry"
Vishwanatha Subbanna0ea6f632017-10-18 15:47:54 +053068FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt"
Brad Bishopb52116a2020-08-10 20:45:15 -040069FEATURE_PACKAGES_obmc-user-mgmt-ldap ?= "packagegroup-obmc-apps-user-mgmt-ldap"
Rashmica Guptaddaca3c2023-02-01 15:26:58 +110070FEATURE_PACKAGES_obmc-dmtf-pmci ?= "packagegroup-obmc-apps-dmtf-pmci"
Brad Bishop93fb5352015-09-09 03:59:20 +000071
Andrew Geissler96bca602023-09-20 09:10:21 -050072# Note that the webui is not included by default in OpenBMC
73# images due to its non-standard build process. It utilizes
74# npm during the build, resulting in an inability to build
75# this package offline and making the software bill of materials
76# incorrect.
77FEATURE_PACKAGES_obmc-webui ?= "packagegroup-obmc-apps-webui"
78
Brad Bishop211ccf32018-03-23 00:18:53 -040079# FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and
80# cannot be built on core-qemu machines because of the dependency
81# tree under phosphor-ipmi-host
Patrick Williams12fc9392021-08-06 09:16:53 -050082FEATURE_PACKAGES_obmc-net-ipmi:qemuall = ""
Brad Bishop211ccf32018-03-23 00:18:53 -040083
Patrick Williamsd83b5242021-11-05 08:50:44 -050084# EVB systems do not have a managed system.
85FEATURE_PACKAGES_obmc-system-mgmt:phosphor-evb = ""
86# QEMU systems are like EVBs and do not have a managed system.
87FEATURE_PACKAGES_obmc-system-mgmt:qemuall = ""
88
Brad Bishop8c09b142020-08-11 08:20:31 -040089# Add new packages to be installed to a package group in
90# packagegroup-obmc-apps, not here.
91OBMC_IMAGE_BASE_INSTALL = " \
Brad Bishop3077a7f2017-01-12 21:44:51 -050092 packagegroup-obmc-apps-extras \
Brad Bishopadb60e82016-06-14 15:24:22 -040093 ${OBMC_IMAGE_EXTRA_INSTALL} \
Brad Bishopbd082172016-02-29 10:18:47 -050094 "
Brad Bishop327bfd62016-02-29 10:21:51 -050095
Brad Bishopadb60e82016-06-14 15:24:22 -040096OBMC_IMAGE_EXTRA_INSTALL ?= ""
97
Brad Bishop8c09b142020-08-11 08:20:31 -040098CORE_IMAGE_EXTRA_INSTALL += "${OBMC_IMAGE_BASE_INSTALL}"
99
Patrick Williamsd0380a62017-03-02 22:24:41 -0600100remove_etc_version() {
101 rm ${IMAGE_ROOTFS}${sysconfdir}/version
102}
Tom Joseph8c548d22018-07-03 11:47:40 -0500103
Brad Bishop92b518c2020-08-29 08:51:50 -0400104enable_ldap_nsswitch() {
Anton D. Kachalov23e749b2021-02-04 13:13:57 +0100105 sed -i 's/\(\(passwd\|group\):\s*\).*/\1files systemd ldap/' \
106 "${IMAGE_ROOTFS}${sysconfdir}/nsswitch.conf"
107 sed -i 's/\(shadow:\s*\).*/\1files ldap/' \
Brad Bishop92b518c2020-08-29 08:51:50 -0400108 "${IMAGE_ROOTFS}${sysconfdir}/nsswitch.conf"
109}
110
111ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('IMAGE_FEATURES', 'obmc-user-mgmt-ldap', 'enable_ldap_nsswitch ;', '', d)}"
112