blob: 3b5b5595b36e23cae6a57f9128bf434be08b701d [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
6# - obmc-chassis-mgmt - OpenBMC chassis management
7# - obmc-chassis-state-mgmt - OpenBMC chassis state management
8# - obmc-event-mgmt - OpenBMC event management
9# - obmc-fan-mgmt - OpenBMC fan management
10# - obmc-flash-mgmt - OpenBMC flash management
11# - obmc-host-ctl - OpenBMC host control
12# - obmc-host-ipmi - OpenBMC host IPMI
13# - obmc-host-state-mgmt - OpenBMC host state management
Brad Bishop45f8b572017-02-01 21:04:14 -050014# - obmc-inventory - OpenBMC inventory support
15# - obmc-leds - OpenBMC LED support
Brad Bishopb6e45122017-01-26 10:49:22 -050016# - obmc-logging-mgmt - OpenBMC logging management
Brad Bishop45f8b572017-02-01 21:04:14 -050017# - obmc-sensors - OpenBMC sensor support
Adriana Kobylak79841ae2016-08-25 10:07:34 -050018# - obmc-settings-mgmt - OpenBMC settings management
Gunnar Millsc868f922017-02-15 16:01:45 -060019# - obmc-software - OpenBMC software management
Brad Bishopb6e45122017-01-26 10:49:22 -050020# - obmc-system-mgmt - OpenBMC system management
21# - obmc-user-mgmt - OpenBMC user management
Brad Bishop93fb5352015-09-09 03:59:20 +000022
23inherit core-image
24inherit obmc-phosphor-license
Brad Bishop6165ec32016-09-06 22:44:21 -040025inherit obmc-phosphor-utils
Brad Bishop93fb5352015-09-09 03:59:20 +000026
Brad Bishop46631702017-03-01 16:16:06 -050027FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt"
Brad Bishopb943d912017-01-31 10:37:13 -050028FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt')}"
Brad Bishop46631702017-03-01 16:16:06 -050029FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt"
Brad Bishopb943d912017-01-31 10:37:13 -050030FEATURE_PACKAGES_obmc-event-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-event-mgmt', 'virtual-obmc-event-mgmt')}"
31FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt')}"
32FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt')}"
33FEATURE_PACKAGES_obmc-host-ctl ?= "${@cf_enabled(d, 'obmc-host-ctl', 'virtual-obmc-host-ctl')}"
34FEATURE_PACKAGES_obmc-host-ipmi ?= "${@cf_enabled(d, 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw')}"
Brad Bishop46631702017-03-01 16:16:06 -050035FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt"
Brad Bishop45f8b572017-02-01 21:04:14 -050036FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory"
37FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds"
Brad Bishopb943d912017-01-31 10:37:13 -050038FEATURE_PACKAGES_obmc-logging-mgmt ?= "${@df_enabled(d, 'obmc-logging-mgmt', 'virtual-obmc-logging-mgmt')}"
39FEATURE_PACKAGES_obmc-net-ipmi ?= "${@df_enabled(d, 'obmc-net-ipmi', 'virtual-obmc-net-ipmi')}"
Brad Bishop45f8b572017-02-01 21:04:14 -050040FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors"
Brad Bishopb943d912017-01-31 10:37:13 -050041FEATURE_PACKAGES_obmc-settings-mgmt ?= "${@df_enabled(d, 'obmc-settings-mgmt', 'virtual-obmc-settings-mgmt')}"
Gunnar Millsc868f922017-02-15 16:01:45 -060042FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software"
Brad Bishopb943d912017-01-31 10:37:13 -050043FEATURE_PACKAGES_obmc-system-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt')}"
44FEATURE_PACKAGES_obmc-user-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-user-mgmt', 'virtual-obmc-user-mgmt')}"
Brad Bishop93fb5352015-09-09 03:59:20 +000045
46# Install entire Phosphor application stack by default
47IMAGE_FEATURES += " \
Brad Bishopb6e45122017-01-26 10:49:22 -050048 obmc-bmc-state-mgmt \
Brad Bishop6165ec32016-09-06 22:44:21 -040049 obmc-chassis-mgmt \
Brad Bishopb6e45122017-01-26 10:49:22 -050050 obmc-chassis-state-mgmt \
Brad Bishop6165ec32016-09-06 22:44:21 -040051 obmc-event-mgmt \
Brad Bishopb6e45122017-01-26 10:49:22 -050052 obmc-fan-mgmt \
53 obmc-flash-mgmt \
54 obmc-host-ctl \
55 obmc-host-ipmi \
56 obmc-host-state-mgmt \
Brad Bishop45f8b572017-02-01 21:04:14 -050057 obmc-inventory \
58 obmc-leds \
Brad Bishopb6e45122017-01-26 10:49:22 -050059 obmc-logging-mgmt \
Tom Josephfddc4052017-01-16 16:43:05 +053060 obmc-net-ipmi \
Brad Bishop45f8b572017-02-01 21:04:14 -050061 obmc-sensors \
Adriana Kobylak79841ae2016-08-25 10:07:34 -050062 obmc-settings-mgmt \
Gunnar Millsc868f922017-02-15 16:01:45 -060063 obmc-software \
Brad Bishop6165ec32016-09-06 22:44:21 -040064 obmc-system-mgmt \
Brad Bishopb6e45122017-01-26 10:49:22 -050065 obmc-user-mgmt \
Brad Bishop8ae0cfc2016-02-29 10:18:47 -050066 ssh-server-dropbear \
67 "
Brad Bishop93fb5352015-09-09 03:59:20 +000068
Brad Bishopabf218c2016-06-14 15:24:22 -040069CORE_IMAGE_EXTRA_INSTALL_append = " bash \
Brad Bishop667938f2017-01-12 21:44:51 -050070 packagegroup-obmc-apps-extras \
71 packagegroup-obmc-apps-extrasdev \
Brad Bishop8ae0cfc2016-02-29 10:18:47 -050072 i2c-tools \
73 screen \
Adriana Kobylakb1b67062016-03-04 13:25:27 -060074 inarp \
Jeremy Kerr8c940192016-04-12 15:59:52 +080075 obmc-console \
Edward A. James5aeef112016-09-20 15:54:52 -050076 pam-plugin-access \
Brad Bishopabf218c2016-06-14 15:24:22 -040077 ${OBMC_IMAGE_EXTRA_INSTALL} \
Michael Tritz41d07b12017-02-01 14:07:44 -060078 ffdc \
Brad Bishop8ae0cfc2016-02-29 10:18:47 -050079 "
Brad Bishopc5361472016-02-29 10:21:51 -050080
Brad Bishopabf218c2016-06-14 15:24:22 -040081OBMC_IMAGE_EXTRA_INSTALL ?= ""
82
Patrick Williamsf01fcca2016-06-20 14:06:54 -050083def image_overlay_enabled(d, ifEnabledStr):
84 if d.getVar('OBMC_PHOSPHOR_IMAGE_OVERLAY', True) != "1":
85 return ""
86 return ifEnabledStr
Brad Bishopc5361472016-02-29 10:21:51 -050087
Patrick Williamsf01fcca2016-06-20 14:06:54 -050088IMAGE_FSTYPES += "${@image_overlay_enabled(d, "overlay")}"
89inherit ${@image_overlay_enabled(d, "image-overlay")}
Patrick Williams373aecd2016-08-05 15:05:41 -050090
91do_image_complete[depends] += "obmc-phosphor-debug-tarball:do_image_complete"
Patrick Williamsc0ffa722017-03-02 22:24:41 -060092
93# The /etc/version file is misleading and not useful. Remove it.
94# Users should instead rely on /etc/os-release.
95remove_etc_version() {
96 rm ${IMAGE_ROOTFS}${sysconfdir}/version
97}
98ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; "