blob: d6d91ffaa68775ed7a0e5ea80341fc57dda29bfe [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
6# - obmc-chassis-mgmt - OpenBMC chassis management
7# - obmc-chassis-state-mgmt - OpenBMC chassis state management
8# - obmc-event-mgmt - OpenBMC event management
Brad Bishop4824d4c2017-05-01 11:54:34 -04009# - obmc-fan-control - OpenBMC fan management
10# - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead
Brad Bishop51ca97e2017-01-26 10:49:22 -050011# - obmc-flash-mgmt - OpenBMC flash management
12# - obmc-host-ctl - OpenBMC host control
13# - obmc-host-ipmi - OpenBMC host IPMI
14# - obmc-host-state-mgmt - OpenBMC host state management
Andrew Geisslerb1afecc2017-05-08 15:58:01 -050015# - obmc-host-check-mgmt - OpenBMC host state checking
Brad Bishop4f12f722017-02-01 21:04:14 -050016# - obmc-inventory - OpenBMC inventory support
17# - obmc-leds - OpenBMC LED support
Brad Bishop51ca97e2017-01-26 10:49:22 -050018# - obmc-logging-mgmt - OpenBMC logging management
Brad Bishop4f12f722017-02-01 21:04:14 -050019# - obmc-sensors - OpenBMC sensor support
Adriana Kobylak1ffadd92016-08-25 10:07:34 -050020# - obmc-settings-mgmt - OpenBMC settings management
Gunnar Mills058788a2017-02-15 16:01:45 -060021# - obmc-software - OpenBMC software management
Brad Bishop51ca97e2017-01-26 10:49:22 -050022# - obmc-system-mgmt - OpenBMC system management
23# - obmc-user-mgmt - OpenBMC user management
Jayanth Othayoth9be81b12017-05-08 09:25:05 -050024# - obmc-debug-collector - OpenBMC debug collector
Brad Bishop93fb5352015-09-09 03:59:20 +000025
26inherit core-image
27inherit obmc-phosphor-license
Brad Bishopa2429372016-09-06 22:44:21 -040028inherit obmc-phosphor-utils
Brad Bishop93fb5352015-09-09 03:59:20 +000029
Patrick Williamsc83cf1c2017-03-28 15:24:41 -050030# TODO: openbmc/openbmc#1407 - Remove with RHEL6 support deprecation.
31# Set supported kernel back to RHEL6.4's kernel.
32SDK_OLDEST_KERNEL = "2.6.32"
33
Brad Bishopdb32a7c2017-03-01 16:16:06 -050034FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt"
Brad Bishop961df762017-01-31 10:37:13 -050035FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt')}"
Brad Bishopdb32a7c2017-03-01 16:16:06 -050036FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt"
Brad Bishop961df762017-01-31 10:37:13 -050037FEATURE_PACKAGES_obmc-event-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-event-mgmt', 'virtual-obmc-event-mgmt')}"
Brad Bishop4824d4c2017-05-01 11:54:34 -040038FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control"
Brad Bishop961df762017-01-31 10:37:13 -050039FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt')}"
40FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt')}"
41FEATURE_PACKAGES_obmc-host-ctl ?= "${@cf_enabled(d, 'obmc-host-ctl', 'virtual-obmc-host-ctl')}"
42FEATURE_PACKAGES_obmc-host-ipmi ?= "${@cf_enabled(d, 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw')}"
Brad Bishopdb32a7c2017-03-01 16:16:06 -050043FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt"
Andrew Geisslerb1afecc2017-05-08 15:58:01 -050044FEATURE_PACKAGES_obmc-host-check-mgmt ?= "packagegroup-obmc-apps-host-check-mgmt"
Brad Bishop4f12f722017-02-01 21:04:14 -050045FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory"
46FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds"
Brad Bishop961df762017-01-31 10:37:13 -050047FEATURE_PACKAGES_obmc-logging-mgmt ?= "${@df_enabled(d, 'obmc-logging-mgmt', 'virtual-obmc-logging-mgmt')}"
48FEATURE_PACKAGES_obmc-net-ipmi ?= "${@df_enabled(d, 'obmc-net-ipmi', 'virtual-obmc-net-ipmi')}"
Brad Bishop4f12f722017-02-01 21:04:14 -050049FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors"
Brad Bishop961df762017-01-31 10:37:13 -050050FEATURE_PACKAGES_obmc-settings-mgmt ?= "${@df_enabled(d, 'obmc-settings-mgmt', 'virtual-obmc-settings-mgmt')}"
Gunnar Mills058788a2017-02-15 16:01:45 -060051FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software"
Brad Bishop961df762017-01-31 10:37:13 -050052FEATURE_PACKAGES_obmc-system-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt')}"
53FEATURE_PACKAGES_obmc-user-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-user-mgmt', 'virtual-obmc-user-mgmt')}"
Jayanth Othayoth9be81b12017-05-08 09:25:05 -050054FEATURE_PACKAGES_obmc-debug-collector ?= "${@df_enabled(d, 'obmc-debug-collector', 'virtual-obmc-debug-collector')}"
Brad Bishop93fb5352015-09-09 03:59:20 +000055
56# Install entire Phosphor application stack by default
57IMAGE_FEATURES += " \
Brad Bishop51ca97e2017-01-26 10:49:22 -050058 obmc-bmc-state-mgmt \
Brad Bishopa2429372016-09-06 22:44:21 -040059 obmc-chassis-mgmt \
Brad Bishop51ca97e2017-01-26 10:49:22 -050060 obmc-chassis-state-mgmt \
Brad Bishopa2429372016-09-06 22:44:21 -040061 obmc-event-mgmt \
Brad Bishop4824d4c2017-05-01 11:54:34 -040062 obmc-fan-control \
Brad Bishop51ca97e2017-01-26 10:49:22 -050063 obmc-fan-mgmt \
64 obmc-flash-mgmt \
65 obmc-host-ctl \
66 obmc-host-ipmi \
67 obmc-host-state-mgmt \
Andrew Geisslerb1afecc2017-05-08 15:58:01 -050068 obmc-host-check-mgmt \
Brad Bishop4f12f722017-02-01 21:04:14 -050069 obmc-inventory \
70 obmc-leds \
Brad Bishop51ca97e2017-01-26 10:49:22 -050071 obmc-logging-mgmt \
Tom Joseph7b827742017-01-16 16:43:05 +053072 obmc-net-ipmi \
Brad Bishop4f12f722017-02-01 21:04:14 -050073 obmc-sensors \
Adriana Kobylak1ffadd92016-08-25 10:07:34 -050074 obmc-settings-mgmt \
Gunnar Mills058788a2017-02-15 16:01:45 -060075 obmc-software \
Brad Bishopa2429372016-09-06 22:44:21 -040076 obmc-system-mgmt \
Brad Bishop51ca97e2017-01-26 10:49:22 -050077 obmc-user-mgmt \
Brad Bishopbd082172016-02-29 10:18:47 -050078 ssh-server-dropbear \
Jayanth Othayoth9be81b12017-05-08 09:25:05 -050079 obmc-debug-collector \
Brad Bishopbd082172016-02-29 10:18:47 -050080 "
Brad Bishop93fb5352015-09-09 03:59:20 +000081
Brad Bishopadb60e82016-06-14 15:24:22 -040082CORE_IMAGE_EXTRA_INSTALL_append = " bash \
Brad Bishop3077a7f2017-01-12 21:44:51 -050083 packagegroup-obmc-apps-extras \
84 packagegroup-obmc-apps-extrasdev \
Brad Bishopbd082172016-02-29 10:18:47 -050085 i2c-tools \
86 screen \
Jeremy Kerr75fc03a2016-04-12 15:59:52 +080087 obmc-console \
Edward A. James064a7642016-09-20 15:54:52 -050088 pam-plugin-access \
Brad Bishopadb60e82016-06-14 15:24:22 -040089 ${OBMC_IMAGE_EXTRA_INSTALL} \
Michael Tritz2d37fde2017-02-01 14:07:44 -060090 ffdc \
Dinesh Chinari1ddd8052017-03-08 11:51:22 -060091 rsync \
Brad Bishopbd082172016-02-29 10:18:47 -050092 "
Brad Bishop327bfd62016-02-29 10:21:51 -050093
Brad Bishopadb60e82016-06-14 15:24:22 -040094OBMC_IMAGE_EXTRA_INSTALL ?= ""
95
Patrick Williams20546942016-06-20 14:06:54 -050096def image_overlay_enabled(d, ifEnabledStr):
97 if d.getVar('OBMC_PHOSPHOR_IMAGE_OVERLAY', True) != "1":
98 return ""
99 return ifEnabledStr
Brad Bishop327bfd62016-02-29 10:21:51 -0500100
Patrick Williams20546942016-06-20 14:06:54 -0500101IMAGE_FSTYPES += "${@image_overlay_enabled(d, "overlay")}"
102inherit ${@image_overlay_enabled(d, "image-overlay")}
Patrick Williamsfb662412016-08-05 15:05:41 -0500103
104do_image_complete[depends] += "obmc-phosphor-debug-tarball:do_image_complete"
Patrick Williamsd0380a62017-03-02 22:24:41 -0600105
106# The /etc/version file is misleading and not useful. Remove it.
107# Users should instead rely on /etc/os-release.
108remove_etc_version() {
109 rm ${IMAGE_ROOTFS}${sysconfdir}/version
110}
111ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; "