Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 1 | # Common code for generating Phosphor OpenBMC images. |
| 2 | |
| 3 | # Additional IMAGE_FEATURES available with Phosphor OpenBMC: |
| 4 | # |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 5 | # - 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 Bishop | 11909e0 | 2017-05-01 11:54:34 -0400 | [diff] [blame] | 8 | # - obmc-fan-control - OpenBMC fan management |
| 9 | # - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 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 Bishop | 45f8b57 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 14 | # - obmc-inventory - OpenBMC inventory support |
| 15 | # - obmc-leds - OpenBMC LED support |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 16 | # - obmc-logging-mgmt - OpenBMC logging management |
Adriana Kobylak | a4c5db0 | 2018-10-16 11:02:54 -0500 | [diff] [blame] | 17 | # - obmc-remote-logging-mgmt - OpenBMC remote logging management |
Brad Bishop | 45f8b57 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 18 | # - obmc-sensors - OpenBMC sensor support |
Adriana Kobylak | 79841ae | 2016-08-25 10:07:34 -0500 | [diff] [blame] | 19 | # - obmc-settings-mgmt - OpenBMC settings management |
Gunnar Mills | c868f92 | 2017-02-15 16:01:45 -0600 | [diff] [blame] | 20 | # - obmc-software - OpenBMC software management |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 21 | # - obmc-system-mgmt - OpenBMC system management |
| 22 | # - obmc-user-mgmt - OpenBMC user management |
Jayanth Othayoth | 9963d17 | 2017-05-08 09:25:05 -0500 | [diff] [blame] | 23 | # - obmc-debug-collector - OpenBMC debug collector |
Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 24 | |
| 25 | inherit core-image |
Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 26 | |
Patrick Venture | 7f58289 | 2018-11-06 08:36:22 -0800 | [diff] [blame] | 27 | LICENSE = "Apache-2.0" |
| 28 | |
Brad Bishop | 4663170 | 2017-03-01 16:16:06 -0500 | [diff] [blame] | 29 | FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt" |
Brad Bishop | 536cee9 | 2020-07-09 16:59:54 -0400 | [diff] [blame] | 30 | FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt', '', d)}" |
Brad Bishop | 4663170 | 2017-03-01 16:16:06 -0500 | [diff] [blame] | 31 | FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt" |
Brad Bishop | 11909e0 | 2017-05-01 11:54:34 -0400 | [diff] [blame] | 32 | FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control" |
Brad Bishop | 536cee9 | 2020-07-09 16:59:54 -0400 | [diff] [blame] | 33 | FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt', '', d)}" |
| 34 | FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt', '', d)}" |
| 35 | FEATURE_PACKAGES_obmc-host-ctl ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ctl', 'virtual-obmc-host-ctl', '', d)}" |
| 36 | FEATURE_PACKAGES_obmc-host-ipmi ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw', '', d)}" |
Brad Bishop | 4663170 | 2017-03-01 16:16:06 -0500 | [diff] [blame] | 37 | FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt" |
Brad Bishop | 45f8b57 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 38 | FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory" |
| 39 | FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds" |
Brad Bishop | b670a10 | 2020-03-19 16:23:43 -0400 | [diff] [blame] | 40 | FEATURE_PACKAGES_obmc-logging-mgmt ?= "packagegroup-obmc-apps-logging" |
Adriana Kobylak | a4c5db0 | 2018-10-16 11:02:54 -0500 | [diff] [blame] | 41 | FEATURE_PACKAGES_obmc-remote-logging-mgmt ?= "packagegroup-obmc-apps-remote-logging" |
Brad Bishop | 5176b2a | 2018-03-23 00:18:53 -0400 | [diff] [blame] | 42 | FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net" |
Brad Bishop | 45f8b57 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 43 | FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors" |
Gunnar Mills | c868f92 | 2017-02-15 16:01:45 -0600 | [diff] [blame] | 44 | FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software" |
Brad Bishop | 536cee9 | 2020-07-09 16:59:54 -0400 | [diff] [blame] | 45 | FEATURE_PACKAGES_obmc-system-mgmt ?= "${@bb.utils.contains('DISTRO_FEATURES', 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt', '', d)}" |
Jayanth Othayoth | 9d21d6c | 2017-05-31 06:25:55 -0500 | [diff] [blame] | 46 | FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector" |
Andrew Geissler | 78e0454 | 2018-02-05 12:02:35 -0800 | [diff] [blame] | 47 | FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings" |
Ratan Gupta | b6de45c | 2017-07-06 21:09:14 +0530 | [diff] [blame] | 48 | FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network" |
Vishwanatha Subbanna | 0f2b7b0 | 2017-10-18 15:47:54 +0530 | [diff] [blame] | 49 | FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt" |
Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 50 | |
Brad Bishop | 5176b2a | 2018-03-23 00:18:53 -0400 | [diff] [blame] | 51 | # 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 |
| 54 | FEATURE_PACKAGES_obmc-net-ipmi_qemuall = "" |
| 55 | |
Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 56 | # Install entire Phosphor application stack by default |
| 57 | IMAGE_FEATURES += " \ |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 58 | obmc-bmc-state-mgmt \ |
Brad Bishop | 6165ec3 | 2016-09-06 22:44:21 -0400 | [diff] [blame] | 59 | obmc-chassis-mgmt \ |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 60 | obmc-chassis-state-mgmt \ |
Brad Bishop | 11909e0 | 2017-05-01 11:54:34 -0400 | [diff] [blame] | 61 | obmc-fan-control \ |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 62 | obmc-fan-mgmt \ |
| 63 | obmc-flash-mgmt \ |
| 64 | obmc-host-ctl \ |
| 65 | obmc-host-ipmi \ |
| 66 | obmc-host-state-mgmt \ |
Brad Bishop | 45f8b57 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 67 | obmc-inventory \ |
| 68 | obmc-leds \ |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 69 | obmc-logging-mgmt \ |
Santosh Puranik | e989a6b | 2019-05-22 08:02:38 -0500 | [diff] [blame] | 70 | obmc-remote-logging-mgmt \ |
Tom Joseph | fddc405 | 2017-01-16 16:43:05 +0530 | [diff] [blame] | 71 | obmc-net-ipmi \ |
Brad Bishop | 45f8b57 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 72 | obmc-sensors \ |
Gunnar Mills | c868f92 | 2017-02-15 16:01:45 -0600 | [diff] [blame] | 73 | obmc-software \ |
Brad Bishop | 6165ec3 | 2016-09-06 22:44:21 -0400 | [diff] [blame] | 74 | obmc-system-mgmt \ |
Brad Bishop | b6e4512 | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 75 | obmc-user-mgmt \ |
Brad Bishop | 8ae0cfc | 2016-02-29 10:18:47 -0500 | [diff] [blame] | 76 | ssh-server-dropbear \ |
Jayanth Othayoth | 9963d17 | 2017-05-08 09:25:05 -0500 | [diff] [blame] | 77 | obmc-debug-collector \ |
Ratan Gupta | b6de45c | 2017-07-06 21:09:14 +0530 | [diff] [blame] | 78 | obmc-network-mgmt \ |
Andrew Geissler | 78e0454 | 2018-02-05 12:02:35 -0800 | [diff] [blame] | 79 | obmc-settings-mgmt \ |
Brad Bishop | 8ae0cfc | 2016-02-29 10:18:47 -0500 | [diff] [blame] | 80 | " |
Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 81 | |
Brad Bishop | 811eeec | 2018-03-09 00:04:00 -0500 | [diff] [blame] | 82 | IMAGE_FEATURES_append_df-obmc-ubi-fs = " read-only-rootfs" |
Adriana Kobylak | 6c1407d | 2019-09-05 11:59:17 -0500 | [diff] [blame] | 83 | IMAGE_FEATURES_append_df-phosphor-mmc = " read-only-rootfs" |
Brad Bishop | 811eeec | 2018-03-09 00:04:00 -0500 | [diff] [blame] | 84 | |
Brad Bishop | abf218c | 2016-06-14 15:24:22 -0400 | [diff] [blame] | 85 | CORE_IMAGE_EXTRA_INSTALL_append = " bash \ |
Brad Bishop | 667938f | 2017-01-12 21:44:51 -0500 | [diff] [blame] | 86 | packagegroup-obmc-apps-extras \ |
Adriana Kobylak | 0bce532 | 2017-11-09 10:39:02 -0600 | [diff] [blame] | 87 | packagegroup-obmc-apps-extrasdevtools \ |
Brad Bishop | 8ae0cfc | 2016-02-29 10:18:47 -0500 | [diff] [blame] | 88 | i2c-tools \ |
Jeremy Kerr | 8c94019 | 2016-04-12 15:59:52 +0800 | [diff] [blame] | 89 | obmc-console \ |
Edward A. James | 5aeef11 | 2016-09-20 15:54:52 -0500 | [diff] [blame] | 90 | pam-plugin-access \ |
Richard Marian Thomaiyar | d4d8c36 | 2018-11-09 17:54:03 +0530 | [diff] [blame] | 91 | pam-ipmi \ |
Brad Bishop | abf218c | 2016-06-14 15:24:22 -0400 | [diff] [blame] | 92 | ${OBMC_IMAGE_EXTRA_INSTALL} \ |
Michael Tritz | 41d07b1 | 2017-02-01 14:07:44 -0600 | [diff] [blame] | 93 | ffdc \ |
Dinesh Chinari | 00cfcfa | 2017-03-08 11:51:22 -0600 | [diff] [blame] | 94 | rsync \ |
Leonel Gonzalez | af5aee8 | 2017-06-20 08:58:47 -0500 | [diff] [blame] | 95 | rng-tools \ |
Joel Stanley | 565f851 | 2017-11-10 10:28:18 +1030 | [diff] [blame] | 96 | lrzsz \ |
Brad Bishop | 8ae0cfc | 2016-02-29 10:18:47 -0500 | [diff] [blame] | 97 | " |
Brad Bishop | c536147 | 2016-02-29 10:21:51 -0500 | [diff] [blame] | 98 | |
Brad Bishop | abf218c | 2016-06-14 15:24:22 -0400 | [diff] [blame] | 99 | OBMC_IMAGE_EXTRA_INSTALL ?= "" |
| 100 | |
Patrick Williams | c0ffa72 | 2017-03-02 22:24:41 -0600 | [diff] [blame] | 101 | # The /etc/version file is misleading and not useful. Remove it. |
| 102 | # Users should instead rely on /etc/os-release. |
| 103 | remove_etc_version() { |
| 104 | rm ${IMAGE_ROOTFS}${sysconfdir}/version |
| 105 | } |
| 106 | ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; " |
Tom Joseph | ca5f436 | 2018-07-03 11:47:40 -0500 | [diff] [blame] | 107 | |
Andrew Jeffery | b51d6e3 | 2020-01-24 14:51:54 +1030 | [diff] [blame] | 108 | # Disable the pager to prevent systemd injecting control characters into the |
| 109 | # output stream that are not interpreted by busybox tools. |
| 110 | disable_systemd_pager() { |
Andrew Jeffery | a1759c4 | 2020-02-17 10:35:35 +1030 | [diff] [blame] | 111 | echo "SYSTEMD_PAGER=" >> ${IMAGE_ROOTFS}${sysconfdir}/profile |
| 112 | echo "export SYSTEMD_PAGER" >> ${IMAGE_ROOTFS}${sysconfdir}/profile |
Andrew Jeffery | b51d6e3 | 2020-01-24 14:51:54 +1030 | [diff] [blame] | 113 | } |
| 114 | ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; " |
| 115 | |
Tom Joseph | ca5f436 | 2018-07-03 11:47:40 -0500 | [diff] [blame] | 116 | # The shadow recipe provides the binaries(like useradd, usermod) needed by the |
| 117 | # phosphor-user-manager. |
| 118 | ROOTFS_RO_UNNEEDED_remove = "shadow" |