blob: 7260b0e3eb8e4ef4aefc2f8dc542f10b9aa5751a [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
Brad Bishop11909e02017-05-01 11:54:34 -04008# - obmc-fan-control - OpenBMC fan management
9# - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead
Brad Bishopb6e45122017-01-26 10:49:22 -050010# - 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
Jayanth Othayoth9963d172017-05-08 09:25:05 -050022# - obmc-debug-collector - OpenBMC debug collector
Brad Bishop93fb5352015-09-09 03:59:20 +000023
24inherit core-image
Brad Bishop6165ec32016-09-06 22:44:21 -040025inherit obmc-phosphor-utils
Brad Bishop93fb5352015-09-09 03:59:20 +000026
Patrick Venture7f582892018-11-06 08:36:22 -080027LICENSE = "Apache-2.0"
28
Brad Bishop46631702017-03-01 16:16:06 -050029FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt"
Brad Bishopb943d912017-01-31 10:37:13 -050030FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt')}"
Brad Bishop46631702017-03-01 16:16:06 -050031FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt"
Brad Bishop11909e02017-05-01 11:54:34 -040032FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control"
Brad Bishopb943d912017-01-31 10:37:13 -050033FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt')}"
34FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt')}"
35FEATURE_PACKAGES_obmc-host-ctl ?= "${@cf_enabled(d, 'obmc-host-ctl', 'virtual-obmc-host-ctl')}"
36FEATURE_PACKAGES_obmc-host-ipmi ?= "${@cf_enabled(d, 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw')}"
Brad Bishop46631702017-03-01 16:16:06 -050037FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt"
Brad Bishop45f8b572017-02-01 21:04:14 -050038FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory"
39FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds"
Brad Bishop09486912018-03-23 13:07:46 -040040FEATURE_PACKAGES_obmc-logging-mgmt ?= "${@df_enabled(d, 'obmc-logging-mgmt', 'packagegroup-obmc-apps-logging')}"
Brad Bishop5176b2a2018-03-23 00:18:53 -040041FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net"
Brad Bishop45f8b572017-02-01 21:04:14 -050042FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors"
Gunnar Millsc868f922017-02-15 16:01:45 -060043FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software"
Brad Bishopb943d912017-01-31 10:37:13 -050044FEATURE_PACKAGES_obmc-system-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt')}"
Jayanth Othayoth9d21d6c2017-05-31 06:25:55 -050045FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector"
Andrew Geissler78e04542018-02-05 12:02:35 -080046FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings"
Ratan Guptab6de45c2017-07-06 21:09:14 +053047FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network"
Vishwanatha Subbanna0f2b7b02017-10-18 15:47:54 +053048FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt"
Brad Bishop93fb5352015-09-09 03:59:20 +000049
Brad Bishop5176b2a2018-03-23 00:18:53 -040050# FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and
51# cannot be built on core-qemu machines because of the dependency
52# tree under phosphor-ipmi-host
53FEATURE_PACKAGES_obmc-net-ipmi_qemuall = ""
54
Brad Bishop93fb5352015-09-09 03:59:20 +000055# Install entire Phosphor application stack by default
56IMAGE_FEATURES += " \
Brad Bishopb6e45122017-01-26 10:49:22 -050057 obmc-bmc-state-mgmt \
Brad Bishop6165ec32016-09-06 22:44:21 -040058 obmc-chassis-mgmt \
Brad Bishopb6e45122017-01-26 10:49:22 -050059 obmc-chassis-state-mgmt \
Brad Bishop11909e02017-05-01 11:54:34 -040060 obmc-fan-control \
Brad Bishopb6e45122017-01-26 10:49:22 -050061 obmc-fan-mgmt \
62 obmc-flash-mgmt \
63 obmc-host-ctl \
64 obmc-host-ipmi \
65 obmc-host-state-mgmt \
Brad Bishop45f8b572017-02-01 21:04:14 -050066 obmc-inventory \
67 obmc-leds \
Brad Bishopb6e45122017-01-26 10:49:22 -050068 obmc-logging-mgmt \
Tom Josephfddc4052017-01-16 16:43:05 +053069 obmc-net-ipmi \
Brad Bishop45f8b572017-02-01 21:04:14 -050070 obmc-sensors \
Gunnar Millsc868f922017-02-15 16:01:45 -060071 obmc-software \
Brad Bishop6165ec32016-09-06 22:44:21 -040072 obmc-system-mgmt \
Brad Bishopb6e45122017-01-26 10:49:22 -050073 obmc-user-mgmt \
Brad Bishop8ae0cfc2016-02-29 10:18:47 -050074 ssh-server-dropbear \
Jayanth Othayoth9963d172017-05-08 09:25:05 -050075 obmc-debug-collector \
Ratan Guptab6de45c2017-07-06 21:09:14 +053076 obmc-network-mgmt \
Andrew Geissler78e04542018-02-05 12:02:35 -080077 obmc-settings-mgmt \
Brad Bishop8ae0cfc2016-02-29 10:18:47 -050078 "
Brad Bishop93fb5352015-09-09 03:59:20 +000079
Brad Bishop811eeec2018-03-09 00:04:00 -050080IMAGE_FEATURES_append_df-obmc-ubi-fs = " read-only-rootfs"
81
Brad Bishopabf218c2016-06-14 15:24:22 -040082CORE_IMAGE_EXTRA_INSTALL_append = " bash \
Brad Bishop667938f2017-01-12 21:44:51 -050083 packagegroup-obmc-apps-extras \
84 packagegroup-obmc-apps-extrasdev \
Adriana Kobylak0bce5322017-11-09 10:39:02 -060085 packagegroup-obmc-apps-extrasdevtools \
Brad Bishop8ae0cfc2016-02-29 10:18:47 -050086 i2c-tools \
Jeremy Kerr8c940192016-04-12 15:59:52 +080087 obmc-console \
Edward A. James5aeef112016-09-20 15:54:52 -050088 pam-plugin-access \
Brad Bishopabf218c2016-06-14 15:24:22 -040089 ${OBMC_IMAGE_EXTRA_INSTALL} \
Michael Tritz41d07b12017-02-01 14:07:44 -060090 ffdc \
Dinesh Chinari00cfcfa2017-03-08 11:51:22 -060091 rsync \
Leonel Gonzalezaf5aee82017-06-20 08:58:47 -050092 rng-tools \
Joel Stanley565f8512017-11-10 10:28:18 +103093 lrzsz \
Brad Bishop8ae0cfc2016-02-29 10:18:47 -050094 "
Brad Bishopc5361472016-02-29 10:21:51 -050095
Brad Bishopabf218c2016-06-14 15:24:22 -040096OBMC_IMAGE_EXTRA_INSTALL ?= ""
97
Patrick Williams373aecd2016-08-05 15:05:41 -050098do_image_complete[depends] += "obmc-phosphor-debug-tarball:do_image_complete"
Patrick Williamsc0ffa722017-03-02 22:24:41 -060099
100# The /etc/version file is misleading and not useful. Remove it.
101# Users should instead rely on /etc/os-release.
102remove_etc_version() {
103 rm ${IMAGE_ROOTFS}${sysconfdir}/version
104}
105ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; "
Tom Josephca5f4362018-07-03 11:47:40 -0500106
107# The shadow recipe provides the binaries(like useradd, usermod) needed by the
108# phosphor-user-manager.
109ROOTFS_RO_UNNEEDED_remove = "shadow"