blob: d68fa37e3187d7dbf392cea1041531eb1732f8e2 [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 Bishopb6e45122017-01-26 10:49:22 -05005# - obmc-bmc-state-mgmt - OpenBMC BMC state management
Brad Bishop7463d6d2020-08-10 20:45:15 -04006# - obmc-bmcweb - OpenBMC webserver
Brad Bishopb6e45122017-01-26 10:49:22 -05007# - obmc-chassis-mgmt - OpenBMC chassis management
8# - obmc-chassis-state-mgmt - OpenBMC chassis state management
Brad Bishop94bf53d2020-08-11 08:20:31 -04009# - obmc-console - OpenBMC serial over LAN
Brad Bishop7463d6d2020-08-10 20:45:15 -040010# - obmc-dbus-monitor - OpenBMC dbus monitoring
Brad Bishop113fe562020-08-10 20:20:47 -040011# - obmc-devtools - OpenBMC development and debugging tools
Brad Bishop11909e02017-05-01 11:54:34 -040012# - obmc-fan-control - OpenBMC fan management
13# - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead
Brad Bishopb6e45122017-01-26 10:49:22 -050014# - obmc-flash-mgmt - OpenBMC flash management
Brad Bishop4525a9d2020-08-18 19:30:11 -040015# - obmc-fru-ipmi - OpenBMC IPMI FRU EEPROM support
Vijay Khemka67a3c572020-09-08 11:56:19 -070016# - obmc-health-monitor - OpenBMC health monitoring
Brad Bishopb6e45122017-01-26 10:49:22 -050017# - obmc-host-ctl - OpenBMC host control
18# - obmc-host-ipmi - OpenBMC host IPMI
19# - obmc-host-state-mgmt - OpenBMC host state management
Brad Bishop7463d6d2020-08-10 20:45:15 -040020# - obmc-ikvm - OpenBMC KVM over IP
Brad Bishop45f8b572017-02-01 21:04:14 -050021# - obmc-inventory - OpenBMC inventory support
22# - obmc-leds - OpenBMC LED support
Brad Bishopb6e45122017-01-26 10:49:22 -050023# - obmc-logging-mgmt - OpenBMC logging management
Adriana Kobylaka4c5db02018-10-16 11:02:54 -050024# - obmc-remote-logging-mgmt - OpenBMC remote logging management
Brad Bishop94bf53d2020-08-11 08:20:31 -040025# - obmc-rng - OpenBMC random number generator
Brad Bishop45f8b572017-02-01 21:04:14 -050026# - obmc-sensors - OpenBMC sensor support
Adriana Kobylak79841ae2016-08-25 10:07:34 -050027# - obmc-settings-mgmt - OpenBMC settings management
Gunnar Millsc868f922017-02-15 16:01:45 -060028# - obmc-software - OpenBMC software management
Brad Bishopb6e45122017-01-26 10:49:22 -050029# - obmc-system-mgmt - OpenBMC system management
30# - obmc-user-mgmt - OpenBMC user management
Brad Bishop7463d6d2020-08-10 20:45:15 -040031# - obmc-user-mgmt-ldap - OpenBMC LDAP users
Jayanth Othayoth9963d172017-05-08 09:25:05 -050032# - obmc-debug-collector - OpenBMC debug collector
Brad Bishop93fb5352015-09-09 03:59:20 +000033
34inherit core-image
Brad Bishop93fb5352015-09-09 03:59:20 +000035
Brad Bishop46631702017-03-01 16:16:06 -050036FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt"
Brad Bishop7463d6d2020-08-10 20:45:15 -040037FEATURE_PACKAGES_obmc-bmcweb ?= "packagegroup-obmc-apps-bmcweb"
Brad Bishop536cee92020-07-09 16:59:54 -040038FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt', '', d)}"
Brad Bishop46631702017-03-01 16:16:06 -050039FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt"
Brad Bishop94bf53d2020-08-11 08:20:31 -040040FEATURE_PACKAGES_obmc-console ?= "packagegroup-obmc-apps-console"
Brad Bishop7463d6d2020-08-10 20:45:15 -040041FEATURE_PACKAGES_obmc-dbus-monitor ?= "packagegroup-obmc-apps-dbus-monitor"
Brad Bishop113fe562020-08-10 20:20:47 -040042FEATURE_PACKAGES_obmc-devtools ?= "packagegroup-obmc-apps-devtools"
Brad Bishop11909e02017-05-01 11:54:34 -040043FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control"
Brad Bishop536cee92020-07-09 16:59:54 -040044FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt', '', d)}"
45FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt', '', d)}"
Brad Bishop4525a9d2020-08-18 19:30:11 -040046FEATURE_PACKAGES_obmc-fru-ipmi ?= "packagegroup-obmc-apps-fru-ipmi"
Vijay Khemka67a3c572020-09-08 11:56:19 -070047FEATURE_PACKAGES_obmc-health-monitor ?= "packagegroup-obmc-apps-health-monitor"
Brad Bishop536cee92020-07-09 16:59:54 -040048FEATURE_PACKAGES_obmc-host-ctl ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ctl', 'virtual-obmc-host-ctl', '', d)}"
49FEATURE_PACKAGES_obmc-host-ipmi ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw', '', d)}"
Brad Bishop46631702017-03-01 16:16:06 -050050FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt"
Brad Bishop7463d6d2020-08-10 20:45:15 -040051FEATURE_PACKAGES_obmc-ikvm ?= "packagegroup-obmc-apps-ikvm"
Brad Bishop45f8b572017-02-01 21:04:14 -050052FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory"
53FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds"
Brad Bishopb670a102020-03-19 16:23:43 -040054FEATURE_PACKAGES_obmc-logging-mgmt ?= "packagegroup-obmc-apps-logging"
Adriana Kobylaka4c5db02018-10-16 11:02:54 -050055FEATURE_PACKAGES_obmc-remote-logging-mgmt ?= "packagegroup-obmc-apps-remote-logging"
Brad Bishop94bf53d2020-08-11 08:20:31 -040056FEATURE_PACKAGES_obmc-rng ?= "packagegroup-obmc-apps-rng"
Brad Bishop5176b2a2018-03-23 00:18:53 -040057FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net"
Brad Bishop45f8b572017-02-01 21:04:14 -050058FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors"
Gunnar Millsc868f922017-02-15 16:01:45 -060059FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software"
Brad Bishop536cee92020-07-09 16:59:54 -040060FEATURE_PACKAGES_obmc-system-mgmt ?= "${@bb.utils.contains('DISTRO_FEATURES', 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt', '', d)}"
Jayanth Othayoth9d21d6c2017-05-31 06:25:55 -050061FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector"
Andrew Geissler78e04542018-02-05 12:02:35 -080062FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings"
Ratan Guptab6de45c2017-07-06 21:09:14 +053063FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network"
Vishwanatha Subbanna0f2b7b02017-10-18 15:47:54 +053064FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt"
Brad Bishop7463d6d2020-08-10 20:45:15 -040065FEATURE_PACKAGES_obmc-user-mgmt-ldap ?= "packagegroup-obmc-apps-user-mgmt-ldap"
Brad Bishop93fb5352015-09-09 03:59:20 +000066
Brad Bishop5176b2a2018-03-23 00:18:53 -040067# FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and
68# cannot be built on core-qemu machines because of the dependency
69# tree under phosphor-ipmi-host
70FEATURE_PACKAGES_obmc-net-ipmi_qemuall = ""
71
Brad Bishop94bf53d2020-08-11 08:20:31 -040072# Add new packages to be installed to a package group in
73# packagegroup-obmc-apps, not here.
74OBMC_IMAGE_BASE_INSTALL = " \
Brad Bishop667938f2017-01-12 21:44:51 -050075 packagegroup-obmc-apps-extras \
Brad Bishopabf218c2016-06-14 15:24:22 -040076 ${OBMC_IMAGE_EXTRA_INSTALL} \
Brad Bishop8ae0cfc2016-02-29 10:18:47 -050077 "
Brad Bishopc5361472016-02-29 10:21:51 -050078
Brad Bishopabf218c2016-06-14 15:24:22 -040079OBMC_IMAGE_EXTRA_INSTALL ?= ""
80
Brad Bishop94bf53d2020-08-11 08:20:31 -040081CORE_IMAGE_EXTRA_INSTALL += "${OBMC_IMAGE_BASE_INSTALL}"
82
Patrick Williamsc0ffa722017-03-02 22:24:41 -060083remove_etc_version() {
84 rm ${IMAGE_ROOTFS}${sysconfdir}/version
85}
Tom Josephca5f4362018-07-03 11:47:40 -050086
Andrew Jefferyb51d6e32020-01-24 14:51:54 +103087disable_systemd_pager() {
Andrew Jefferya1759c42020-02-17 10:35:35 +103088 echo "SYSTEMD_PAGER=" >> ${IMAGE_ROOTFS}${sysconfdir}/profile
89 echo "export SYSTEMD_PAGER" >> ${IMAGE_ROOTFS}${sysconfdir}/profile
Andrew Jefferyb51d6e32020-01-24 14:51:54 +103090}
Brad Bishop22de1602020-08-29 08:51:50 -040091
92enable_ldap_nsswitch() {
93 sed -i 's/\(\(passwd\|group\|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