| 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 | 51ca97e | 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 | 4824d4c | 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 | 51ca97e | 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 | 4f12f72 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 14 | # - obmc-inventory                    - OpenBMC inventory support | 
|  | 15 | # - obmc-leds                         - OpenBMC LED support | 
| Brad Bishop | 51ca97e | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 16 | # - obmc-logging-mgmt                 - OpenBMC logging management | 
| Brad Bishop | 0f1b05d | 2018-10-16 11:02:54 -0500 | [diff] [blame] | 17 | # - obmc-remote-logging-mgmt          - OpenBMC remote logging management | 
| Brad Bishop | 4f12f72 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 18 | # - obmc-sensors                      - OpenBMC sensor support | 
| Adriana Kobylak | 1ffadd9 | 2016-08-25 10:07:34 -0500 | [diff] [blame] | 19 | # - obmc-settings-mgmt                - OpenBMC settings management | 
| Gunnar Mills | 058788a | 2017-02-15 16:01:45 -0600 | [diff] [blame] | 20 | # - obmc-software                     - OpenBMC software management | 
| Brad Bishop | 51ca97e | 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 | 9be81b1 | 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 | a242937 | 2016-09-06 22:44:21 -0400 | [diff] [blame] | 26 | inherit obmc-phosphor-utils | 
| Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 27 |  | 
| Patrick Venture | e0d53d7 | 2018-11-06 08:36:22 -0800 | [diff] [blame] | 28 | LICENSE = "Apache-2.0" | 
|  | 29 |  | 
| Brad Bishop | db32a7c | 2017-03-01 16:16:06 -0500 | [diff] [blame] | 30 | FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt" | 
| Brad Bishop | 961df76 | 2017-01-31 10:37:13 -0500 | [diff] [blame] | 31 | FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt')}" | 
| Brad Bishop | db32a7c | 2017-03-01 16:16:06 -0500 | [diff] [blame] | 32 | FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt" | 
| Brad Bishop | 4824d4c | 2017-05-01 11:54:34 -0400 | [diff] [blame] | 33 | FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control" | 
| Brad Bishop | 961df76 | 2017-01-31 10:37:13 -0500 | [diff] [blame] | 34 | FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt')}" | 
|  | 35 | FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt')}" | 
|  | 36 | FEATURE_PACKAGES_obmc-host-ctl ?= "${@cf_enabled(d, 'obmc-host-ctl', 'virtual-obmc-host-ctl')}" | 
|  | 37 | FEATURE_PACKAGES_obmc-host-ipmi ?= "${@cf_enabled(d, 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw')}" | 
| Brad Bishop | db32a7c | 2017-03-01 16:16:06 -0500 | [diff] [blame] | 38 | FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt" | 
| Brad Bishop | 4f12f72 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 39 | FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory" | 
|  | 40 | FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds" | 
| Brad Bishop | 8298e18 | 2020-03-19 16:23:43 -0400 | [diff] [blame] | 41 | FEATURE_PACKAGES_obmc-logging-mgmt ?= "packagegroup-obmc-apps-logging" | 
| Brad Bishop | 0f1b05d | 2018-10-16 11:02:54 -0500 | [diff] [blame] | 42 | FEATURE_PACKAGES_obmc-remote-logging-mgmt ?= "packagegroup-obmc-apps-remote-logging" | 
| Brad Bishop | 211ccf3 | 2018-03-23 00:18:53 -0400 | [diff] [blame] | 43 | FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net" | 
| Brad Bishop | 4f12f72 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 44 | FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors" | 
| Gunnar Mills | 058788a | 2017-02-15 16:01:45 -0600 | [diff] [blame] | 45 | FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software" | 
| Brad Bishop | 961df76 | 2017-01-31 10:37:13 -0500 | [diff] [blame] | 46 | FEATURE_PACKAGES_obmc-system-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt')}" | 
| Jayanth Othayoth | 2a5d91e | 2017-05-31 06:25:55 -0500 | [diff] [blame] | 47 | FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector" | 
| Andrew Geissler | a36894f | 2018-02-05 12:02:35 -0800 | [diff] [blame] | 48 | FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings" | 
| Ratan Gupta | d3c6164 | 2017-07-06 21:09:14 +0530 | [diff] [blame] | 49 | FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network" | 
| Vishwanatha Subbanna | 0ea6f63 | 2017-10-18 15:47:54 +0530 | [diff] [blame] | 50 | FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt" | 
| Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 51 |  | 
| Brad Bishop | 211ccf3 | 2018-03-23 00:18:53 -0400 | [diff] [blame] | 52 | # FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and | 
|  | 53 | # cannot be built on core-qemu machines because of the dependency | 
|  | 54 | # tree under phosphor-ipmi-host | 
|  | 55 | FEATURE_PACKAGES_obmc-net-ipmi_qemuall = "" | 
|  | 56 |  | 
| Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 57 | # Install entire Phosphor application stack by default | 
|  | 58 | IMAGE_FEATURES += " \ | 
| Brad Bishop | 51ca97e | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 59 | obmc-bmc-state-mgmt \ | 
| Brad Bishop | a242937 | 2016-09-06 22:44:21 -0400 | [diff] [blame] | 60 | obmc-chassis-mgmt \ | 
| Brad Bishop | 51ca97e | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 61 | obmc-chassis-state-mgmt \ | 
| Brad Bishop | 4824d4c | 2017-05-01 11:54:34 -0400 | [diff] [blame] | 62 | obmc-fan-control \ | 
| Brad Bishop | 51ca97e | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 63 | obmc-fan-mgmt \ | 
|  | 64 | obmc-flash-mgmt \ | 
|  | 65 | obmc-host-ctl \ | 
|  | 66 | obmc-host-ipmi \ | 
|  | 67 | obmc-host-state-mgmt \ | 
| Brad Bishop | 4f12f72 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 68 | obmc-inventory \ | 
|  | 69 | obmc-leds \ | 
| Brad Bishop | 51ca97e | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 70 | obmc-logging-mgmt \ | 
| Santosh Puranik | 1cd444b | 2019-05-22 08:02:38 -0500 | [diff] [blame] | 71 | obmc-remote-logging-mgmt \ | 
| Tom Joseph | 7b82774 | 2017-01-16 16:43:05 +0530 | [diff] [blame] | 72 | obmc-net-ipmi \ | 
| Brad Bishop | 4f12f72 | 2017-02-01 21:04:14 -0500 | [diff] [blame] | 73 | obmc-sensors \ | 
| Gunnar Mills | 058788a | 2017-02-15 16:01:45 -0600 | [diff] [blame] | 74 | obmc-software \ | 
| Brad Bishop | a242937 | 2016-09-06 22:44:21 -0400 | [diff] [blame] | 75 | obmc-system-mgmt \ | 
| Brad Bishop | 51ca97e | 2017-01-26 10:49:22 -0500 | [diff] [blame] | 76 | obmc-user-mgmt \ | 
| Brad Bishop | bd08217 | 2016-02-29 10:18:47 -0500 | [diff] [blame] | 77 | ssh-server-dropbear \ | 
| Jayanth Othayoth | 9be81b1 | 2017-05-08 09:25:05 -0500 | [diff] [blame] | 78 | obmc-debug-collector \ | 
| Ratan Gupta | d3c6164 | 2017-07-06 21:09:14 +0530 | [diff] [blame] | 79 | obmc-network-mgmt \ | 
| Andrew Geissler | a36894f | 2018-02-05 12:02:35 -0800 | [diff] [blame] | 80 | obmc-settings-mgmt \ | 
| Brad Bishop | bd08217 | 2016-02-29 10:18:47 -0500 | [diff] [blame] | 81 | " | 
| Brad Bishop | 93fb535 | 2015-09-09 03:59:20 +0000 | [diff] [blame] | 82 |  | 
| Brad Bishop | 8623bbe | 2018-03-09 00:04:00 -0500 | [diff] [blame] | 83 | IMAGE_FEATURES_append_df-obmc-ubi-fs = " read-only-rootfs" | 
|  | 84 |  | 
| Brad Bishop | adb60e8 | 2016-06-14 15:24:22 -0400 | [diff] [blame] | 85 | CORE_IMAGE_EXTRA_INSTALL_append = " bash \ | 
| Brad Bishop | 3077a7f | 2017-01-12 21:44:51 -0500 | [diff] [blame] | 86 | packagegroup-obmc-apps-extras \ | 
| Adriana Kobylak | 6adca3a | 2017-11-09 10:39:02 -0600 | [diff] [blame] | 87 | packagegroup-obmc-apps-extrasdevtools \ | 
| Brad Bishop | bd08217 | 2016-02-29 10:18:47 -0500 | [diff] [blame] | 88 | i2c-tools \ | 
| Jeremy Kerr | 75fc03a | 2016-04-12 15:59:52 +0800 | [diff] [blame] | 89 | obmc-console \ | 
| Edward A. James | 064a764 | 2016-09-20 15:54:52 -0500 | [diff] [blame] | 90 | pam-plugin-access \ | 
| Richard Marian Thomaiyar | 184e005 | 2018-11-09 17:54:03 +0530 | [diff] [blame] | 91 | pam-ipmi \ | 
| Brad Bishop | adb60e8 | 2016-06-14 15:24:22 -0400 | [diff] [blame] | 92 | ${OBMC_IMAGE_EXTRA_INSTALL} \ | 
| Michael Tritz | 2d37fde | 2017-02-01 14:07:44 -0600 | [diff] [blame] | 93 | ffdc \ | 
| Dinesh Chinari | 1ddd805 | 2017-03-08 11:51:22 -0600 | [diff] [blame] | 94 | rsync \ | 
| Leonel Gonzalez | d94cec7 | 2017-06-20 08:58:47 -0500 | [diff] [blame] | 95 | rng-tools \ | 
| Joel Stanley | 4064b1e | 2017-11-10 10:28:18 +1030 | [diff] [blame] | 96 | lrzsz \ | 
| Brad Bishop | bd08217 | 2016-02-29 10:18:47 -0500 | [diff] [blame] | 97 | " | 
| Brad Bishop | 327bfd6 | 2016-02-29 10:21:51 -0500 | [diff] [blame] | 98 |  | 
| Brad Bishop | adb60e8 | 2016-06-14 15:24:22 -0400 | [diff] [blame] | 99 | OBMC_IMAGE_EXTRA_INSTALL ?= "" | 
|  | 100 |  | 
| Patrick Williams | d0380a6 | 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 | 8c548d2 | 2018-07-03 11:47:40 -0500 | [diff] [blame] | 107 |  | 
| Andrew Jeffery | e60ab2a | 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 | f41bd76 | 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 | e60ab2a | 2020-01-24 14:51:54 +1030 | [diff] [blame] | 113 | } | 
|  | 114 | ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; " | 
|  | 115 |  | 
| Tom Joseph | 8c548d2 | 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" |