blob: 0e699eec45b9d56030d383230a64eb02dd44c48e [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
Brad Bishop4824d4c2017-05-01 11:54:34 -04008# - obmc-fan-control - OpenBMC fan management
9# - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead
Brad Bishop51ca97e2017-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 Bishop4f12f722017-02-01 21:04:14 -050014# - obmc-inventory - OpenBMC inventory support
15# - obmc-leds - OpenBMC LED support
Brad Bishop51ca97e2017-01-26 10:49:22 -050016# - obmc-logging-mgmt - OpenBMC logging management
Brad Bishop0f1b05d2018-10-16 11:02:54 -050017# - obmc-remote-logging-mgmt - OpenBMC remote logging management
Brad Bishop4f12f722017-02-01 21:04:14 -050018# - obmc-sensors - OpenBMC sensor support
Adriana Kobylak1ffadd92016-08-25 10:07:34 -050019# - obmc-settings-mgmt - OpenBMC settings management
Gunnar Mills058788a2017-02-15 16:01:45 -060020# - obmc-software - OpenBMC software management
Brad Bishop51ca97e2017-01-26 10:49:22 -050021# - obmc-system-mgmt - OpenBMC system management
22# - obmc-user-mgmt - OpenBMC user management
Jayanth Othayoth9be81b12017-05-08 09:25:05 -050023# - obmc-debug-collector - OpenBMC debug collector
Brad Bishop93fb5352015-09-09 03:59:20 +000024
25inherit core-image
Brad Bishop93fb5352015-09-09 03:59:20 +000026
Patrick Venturee0d53d72018-11-06 08:36:22 -080027LICENSE = "Apache-2.0"
28
Brad Bishopdb32a7c2017-03-01 16:16:06 -050029FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt"
Brad Bishopff92bb62020-07-09 16:59:54 -040030FEATURE_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 -050031FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt"
Brad Bishop4824d4c2017-05-01 11:54:34 -040032FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control"
Brad Bishopff92bb62020-07-09 16:59:54 -040033FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt', '', d)}"
34FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt', '', d)}"
35FEATURE_PACKAGES_obmc-host-ctl ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ctl', 'virtual-obmc-host-ctl', '', d)}"
36FEATURE_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 -050037FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt"
Brad Bishop4f12f722017-02-01 21:04:14 -050038FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory"
39FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds"
Brad Bishop8298e182020-03-19 16:23:43 -040040FEATURE_PACKAGES_obmc-logging-mgmt ?= "packagegroup-obmc-apps-logging"
Brad Bishop0f1b05d2018-10-16 11:02:54 -050041FEATURE_PACKAGES_obmc-remote-logging-mgmt ?= "packagegroup-obmc-apps-remote-logging"
Brad Bishop211ccf32018-03-23 00:18:53 -040042FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net"
Brad Bishop4f12f722017-02-01 21:04:14 -050043FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors"
Gunnar Mills058788a2017-02-15 16:01:45 -060044FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software"
Brad Bishopff92bb62020-07-09 16:59:54 -040045FEATURE_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 -050046FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector"
Andrew Geisslera36894f2018-02-05 12:02:35 -080047FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings"
Ratan Guptad3c61642017-07-06 21:09:14 +053048FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network"
Vishwanatha Subbanna0ea6f632017-10-18 15:47:54 +053049FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt"
Brad Bishop93fb5352015-09-09 03:59:20 +000050
Brad Bishop211ccf32018-03-23 00:18:53 -040051# FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and
52# cannot be built on core-qemu machines because of the dependency
53# tree under phosphor-ipmi-host
54FEATURE_PACKAGES_obmc-net-ipmi_qemuall = ""
55
Brad Bishop93fb5352015-09-09 03:59:20 +000056# 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 Bishop4824d4c2017-05-01 11:54:34 -040061 obmc-fan-control \
Brad Bishop51ca97e2017-01-26 10:49:22 -050062 obmc-fan-mgmt \
63 obmc-flash-mgmt \
64 obmc-host-ctl \
65 obmc-host-ipmi \
66 obmc-host-state-mgmt \
Brad Bishop4f12f722017-02-01 21:04:14 -050067 obmc-inventory \
68 obmc-leds \
Brad Bishop51ca97e2017-01-26 10:49:22 -050069 obmc-logging-mgmt \
Santosh Puranik1cd444b2019-05-22 08:02:38 -050070 obmc-remote-logging-mgmt \
Tom Joseph7b827742017-01-16 16:43:05 +053071 obmc-net-ipmi \
Brad Bishop4f12f722017-02-01 21:04:14 -050072 obmc-sensors \
Gunnar Mills058788a2017-02-15 16:01:45 -060073 obmc-software \
Brad Bishopa2429372016-09-06 22:44:21 -040074 obmc-system-mgmt \
Brad Bishop51ca97e2017-01-26 10:49:22 -050075 obmc-user-mgmt \
Brad Bishopbd082172016-02-29 10:18:47 -050076 ssh-server-dropbear \
Jayanth Othayoth9be81b12017-05-08 09:25:05 -050077 obmc-debug-collector \
Ratan Guptad3c61642017-07-06 21:09:14 +053078 obmc-network-mgmt \
Andrew Geisslera36894f2018-02-05 12:02:35 -080079 obmc-settings-mgmt \
Brad Bishopbd082172016-02-29 10:18:47 -050080 "
Brad Bishop93fb5352015-09-09 03:59:20 +000081
Brad Bishop8623bbe2018-03-09 00:04:00 -050082IMAGE_FEATURES_append_df-obmc-ubi-fs = " read-only-rootfs"
Adriana Kobylakd5ac0a42019-09-05 11:59:17 -050083IMAGE_FEATURES_append_df-phosphor-mmc = " read-only-rootfs"
Brad Bishop8623bbe2018-03-09 00:04:00 -050084
Brad Bishopadb60e82016-06-14 15:24:22 -040085CORE_IMAGE_EXTRA_INSTALL_append = " bash \
Brad Bishop3077a7f2017-01-12 21:44:51 -050086 packagegroup-obmc-apps-extras \
Adriana Kobylak6adca3a2017-11-09 10:39:02 -060087 packagegroup-obmc-apps-extrasdevtools \
Brad Bishopbd082172016-02-29 10:18:47 -050088 i2c-tools \
Jeremy Kerr75fc03a2016-04-12 15:59:52 +080089 obmc-console \
Edward A. James064a7642016-09-20 15:54:52 -050090 pam-plugin-access \
Richard Marian Thomaiyar184e0052018-11-09 17:54:03 +053091 pam-ipmi \
Brad Bishopadb60e82016-06-14 15:24:22 -040092 ${OBMC_IMAGE_EXTRA_INSTALL} \
Michael Tritz2d37fde2017-02-01 14:07:44 -060093 ffdc \
Dinesh Chinari1ddd8052017-03-08 11:51:22 -060094 rsync \
Leonel Gonzalezd94cec72017-06-20 08:58:47 -050095 rng-tools \
Joel Stanley4064b1e2017-11-10 10:28:18 +103096 lrzsz \
Brad Bishopbd082172016-02-29 10:18:47 -050097 "
Brad Bishop327bfd62016-02-29 10:21:51 -050098
Brad Bishopadb60e82016-06-14 15:24:22 -040099OBMC_IMAGE_EXTRA_INSTALL ?= ""
100
Patrick Williamsd0380a62017-03-02 22:24:41 -0600101# The /etc/version file is misleading and not useful. Remove it.
102# Users should instead rely on /etc/os-release.
103remove_etc_version() {
104 rm ${IMAGE_ROOTFS}${sysconfdir}/version
105}
106ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; "
Tom Joseph8c548d22018-07-03 11:47:40 -0500107
Andrew Jefferye60ab2a2020-01-24 14:51:54 +1030108# Disable the pager to prevent systemd injecting control characters into the
109# output stream that are not interpreted by busybox tools.
110disable_systemd_pager() {
Andrew Jefferyf41bd762020-02-17 10:35:35 +1030111 echo "SYSTEMD_PAGER=" >> ${IMAGE_ROOTFS}${sysconfdir}/profile
112 echo "export SYSTEMD_PAGER" >> ${IMAGE_ROOTFS}${sysconfdir}/profile
Andrew Jefferye60ab2a2020-01-24 14:51:54 +1030113}
114ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; "
115
Tom Joseph8c548d22018-07-03 11:47:40 -0500116# The shadow recipe provides the binaries(like useradd, usermod) needed by the
117# phosphor-user-manager.
118ROOTFS_RO_UNNEEDED_remove = "shadow"