From 6510566f018b664b901835547891e08024616811 Mon Sep 17 00:00:00 2001 From: Ed Tanous Date: Wed, 6 Jan 2021 13:04:58 -0800 Subject: Move meta-intel to meta-intel-openbmc meta-intel conflicts with the upstream yocto meta layer of the same name. This commit renames meta-intel to meta-intel-openbmc and updates all the relevant bblayers files with the new name. This is to pave the way for allowing the yocto meta-intel in the tree, which would allow the use of generic-x86 machine type, which would allow building and running tests natively. Signed-off-by: Ed Tanous Change-Id: Ia19a7a4a10245c1c2f85f6da216997cb6a836daa --- meta-intel-openbmc/COPYING.MIT | 17 ++ meta-intel-openbmc/COPYING.apache-2.0 | 175 +++++++++++++++ meta-intel-openbmc/LICENSE | 12 ++ meta-intel-openbmc/MAINTAINERS | 66 ++++++ meta-intel-openbmc/conf/layer.conf | 12 ++ meta-intel-openbmc/conf/machine/include/intel.inc | 23 ++ .../host-error-monitor/host-error-monitor_git.bb | 16 ++ .../recipes-core/libpeci/libpeci_git.bb | 13 ++ .../recipes-core/systemd/obmc-targets.bbappend | 9 + .../rsyslog/rsyslog/rotate-event-logs.service | 9 + .../rsyslog/rsyslog/rotate-event-logs.sh | 10 + .../rsyslog/rsyslog/rsyslog-override.conf | 2 + .../recipes-extended/rsyslog/rsyslog/rsyslog.conf | 79 +++++++ .../rsyslog/rsyslog/rsyslog.logrotate | 22 ++ .../recipes-extended/rsyslog/rsyslog_%.bbappend | 24 +++ .../recipes-intel/ipmi/intel-ipmi-oem_git.bb | 32 +++ .../packagegroups/packagegroup-intel-apps.bb | 47 +++++ .../recipes-intel/pfr/pfr-manager_git.bb | 23 ++ .../intel-dbus-interfaces-mapper-config-native.bb | 11 + .../dbus/intel-dbus-interfaces_git.bb | 31 +++ .../dbus/phosphor-mapper-config-native.bbappend | 1 + .../phosphor-pid-control.service | 12 ++ .../fans/phosphor-pid-control_%.bbappend | 5 + .../recipes-phosphor/interfaces/bmcweb_%.bbappend | 5 + .../ipmi/phosphor-ipmi-host_%.bbappend | 5 + .../ipmi/phosphor-ipmi-ipmb/ipmb-channels.json | 16 ++ .../ipmi/phosphor-ipmi-ipmb_%.bbappend | 8 + .../leds/intel-led-manager-config-native.bb | 19 ++ .../leds/intel-led-manager-config/led.yaml | 36 ++++ .../sel-logger/phosphor-sel-logger_%.bbappend | 2 + .../webui/phosphor-webui/config.json | 8 + .../webui/phosphor-webui_%.bbappend | 8 + .../meta-s2600wf/conf/bblayers.conf.sample | 20 ++ .../meta-s2600wf/conf/conf-notes.txt | 4 + meta-intel-openbmc/meta-s2600wf/conf/layer.conf | 11 + .../meta-s2600wf/conf/local.conf.sample | 235 +++++++++++++++++++++ .../meta-s2600wf/conf/machine/s2600wf.conf | 12 ++ .../skeleton/obmc-libobmc-intf/gpio_defs.json | 47 +++++ .../skeleton/obmc-libobmc-intf_%.bbappend | 1 + 39 files changed, 1088 insertions(+) create mode 100644 meta-intel-openbmc/COPYING.MIT create mode 100644 meta-intel-openbmc/COPYING.apache-2.0 create mode 100644 meta-intel-openbmc/LICENSE create mode 100644 meta-intel-openbmc/MAINTAINERS create mode 100644 meta-intel-openbmc/conf/layer.conf create mode 100644 meta-intel-openbmc/conf/machine/include/intel.inc create mode 100644 meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb create mode 100644 meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb create mode 100644 meta-intel-openbmc/meta-common/recipes-core/systemd/obmc-targets.bbappend create mode 100644 meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service create mode 100644 meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh create mode 100644 meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf create mode 100644 meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf create mode 100644 meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate create mode 100644 meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend create mode 100755 meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb create mode 100644 meta-intel-openbmc/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb create mode 100644 meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-channels.json create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb create mode 100755 meta-intel-openbmc/meta-common/recipes-phosphor/leds/intel-led-manager-config/led.yaml create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/webui/phosphor-webui/config.json create mode 100644 meta-intel-openbmc/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend create mode 100644 meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample create mode 100644 meta-intel-openbmc/meta-s2600wf/conf/conf-notes.txt create mode 100644 meta-intel-openbmc/meta-s2600wf/conf/layer.conf create mode 100644 meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample create mode 100644 meta-intel-openbmc/meta-s2600wf/conf/machine/s2600wf.conf create mode 100644 meta-intel-openbmc/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json create mode 100644 meta-intel-openbmc/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend (limited to 'meta-intel-openbmc') diff --git a/meta-intel-openbmc/COPYING.MIT b/meta-intel-openbmc/COPYING.MIT new file mode 100644 index 000000000..89de35479 --- /dev/null +++ b/meta-intel-openbmc/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-intel-openbmc/COPYING.apache-2.0 b/meta-intel-openbmc/COPYING.apache-2.0 new file mode 100644 index 000000000..67db85882 --- /dev/null +++ b/meta-intel-openbmc/COPYING.apache-2.0 @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. diff --git a/meta-intel-openbmc/LICENSE b/meta-intel-openbmc/LICENSE new file mode 100644 index 000000000..a90db84a3 --- /dev/null +++ b/meta-intel-openbmc/LICENSE @@ -0,0 +1,12 @@ +Different components of meta-intel are under different licenses (a mix +of MIT and Apache-2.0). Please see: + +COPYING.Apache-2.0 +COPYING.MIT (MIT) + +All metadata is MIT licensed unless otherwise stated. Source code +included in tree for individual recipes is under the LICENSE stated in +the associated recipe (.bb file) unless otherwise stated. + +License information for any other files is either explicitly stated +or defaults to Apache-2.0. diff --git a/meta-intel-openbmc/MAINTAINERS b/meta-intel-openbmc/MAINTAINERS new file mode 100644 index 000000000..9a27e5d45 --- /dev/null +++ b/meta-intel-openbmc/MAINTAINERS @@ -0,0 +1,66 @@ +List of maintainers for meta-intel +=============================== + +How to use this list: + Find the most specific section entry (described below) that matches where + your change lives and add the reviewers (R) and maintainers (M) as + reviewers. You can use the same method to track down who knows a particular + code base best. + + Your change/query may span multiple entries; that is okay. + + If you do not find an entry that describes your request at all, someone + forgot to update this list; please at least file an issue or send an email + to a maintainer, but preferably you should just update this document. + +Description of section entries: + + Section entries are structured according to the following scheme: + + X: NAME + X: ... + . + . + . + + Where REPO_NAME is the name of the repository within the OpenBMC GitHub + organization; FILE_PATH is a file path within the repository, possibly with + wildcards; X is a tag of one of the following types: + + M: Denotes maintainer; has fields NAME ; + if omitted from an entry, assume one of the maintainers from the + MAINTAINERS entry. + R: Denotes reviewer; has fields NAME ; + these people are to be added as reviewers for a change matching the repo + path. + F: Denotes forked from an external repository; has fields URL. + + Line comments are to be denoted "# SOME COMMENT" (typical shell style + comment); it is important to follow the correct syntax and semantics as we + may want to use automated tools with this file in the future. + + A change cannot be added to an OpenBMC repository without a MAINTAINER's + approval; thus, a MAINTAINER should always be listed as a reviewer. + +Change approval rules: + + - Patches must be available for review for a minimum of 48 hours before it + can be submitted. + - Patches must be be approved (+1) by at least 2 maintainers. + - Patches must not have an unresolved -1 vote by any maintainer. + - Patches should have all maintainers added for visibility. + - Patches should include unit tests where possible. + - Feel free to ping on IRC about patches that look good but have not + received +2 + +Design approval rules: + + - Design discussions should be carried out via email with, at minimum, + all maintainers on the thread. It's encouraged to include the + OpenBMC mailing list in the thread as well. + +START OF MAINTAINERS LIST +------------------------- + +M: Vernon Mauery +M: Jason Bills diff --git a/meta-intel-openbmc/conf/layer.conf b/meta-intel-openbmc/conf/layer.conf new file mode 100644 index 000000000..e515b5f57 --- /dev/null +++ b/meta-intel-openbmc/conf/layer.conf @@ -0,0 +1,12 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ + ${LAYERDIR}/meta-common/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "intel" +BBFILE_PATTERN_intel = "^${LAYERDIR}/" +LAYERVERSION_intel = "1" +LAYERSERIES_COMPAT_intel = "dunfell gatesgarth" +LAYERDEPENDS_intel = "phosphor-layer" diff --git a/meta-intel-openbmc/conf/machine/include/intel.inc b/meta-intel-openbmc/conf/machine/include/intel.inc new file mode 100644 index 000000000..738d103e5 --- /dev/null +++ b/meta-intel-openbmc/conf/machine/include/intel.inc @@ -0,0 +1,23 @@ +OBMC_MACHINE_FEATURES += "\ + obmc-phosphor-fan-mgmt \ + obmc-phosphor-chassis-mgmt \ + obmc-phosphor-flash-mgmt \ + obmc-host-ipmi \ + obmc-host-ctl \ + obmc-host-state-mgmt \ + obmc-chassis-state-mgmt \ + obmc-bmc-state-mgmt \ + " + +VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config" + +PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-intel-apps" +PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-intel-apps" +PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-intel-apps" +PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-intel-apps" +PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= "obmc-op-control-host" +PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}" +PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-kcs" +#PREFERRED_PROVIDER_virtual/obmc-gpio-monitor ?= "phosphor-gpio-monitor" + +OVERRIDES .= ":intel" diff --git a/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb b/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb new file mode 100644 index 000000000..6b24c522c --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb @@ -0,0 +1,16 @@ +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7becf906c8f8d03c237bad13bc3dac53" +inherit cmake systemd + +SRC_URI = "git://github.com/openbmc/host-error-monitor" + +DEPENDS = "boost sdbusplus libgpiod libpeci" + +PV = "0.1+git${SRCPV}" +SRCREV = "c90570ab1ad57ac824edf7b5d0f8a89afbcf0c09" + +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.HostErrorMonitor.service" + +EXTRA_OECMAKE = "-DYOCTO=1" diff --git a/meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb b/meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb new file mode 100644 index 000000000..bc046e5a2 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-core/libpeci/libpeci_git.bb @@ -0,0 +1,13 @@ +SUMMARY = "PECI Library" +DESCRIPTION = "PECI Library" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7becf906c8f8d03c237bad13bc3dac53" +inherit cmake + +SRC_URI = "git://github.com/openbmc/libpeci" + +PV = "0.1+git${SRCPV}" +SRCREV = "c965e72c6765e054531c1ab91e7fa13f04651f21" + +S = "${WORKDIR}/git" diff --git a/meta-intel-openbmc/meta-common/recipes-core/systemd/obmc-targets.bbappend b/meta-intel-openbmc/meta-common/recipes-core/systemd/obmc-targets.bbappend new file mode 100644 index 000000000..090b40e40 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-core/systemd/obmc-targets.bbappend @@ -0,0 +1,9 @@ +# Remove these files since they are provided by obmc-intel-targets +SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-host-start@.target" +SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-host-stop@.target" +SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-host-reboot@.target" +SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-host-startmin@.target" +SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-chassis-poweron@.target" +SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-chassis-poweroff@.target" +SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-chassis-hard-poweroff@.target" +SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-chassis-powerreset@.target" diff --git a/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service new file mode 100644 index 000000000..8f3a2bc31 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service @@ -0,0 +1,9 @@ +[Unit] +Description=Rotate the event logs + +[Service] +Type=simple +ExecStart=/usr/bin/rotate-event-logs.sh + +[Install] +WantedBy=multi-user.target diff --git a/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh new file mode 100644 index 000000000..5a8c5cc10 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rotate-event-logs.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +while true; do + sleep 60 + /usr/sbin/logrotate /etc/logrotate.d/logrotate.rsyslog + ec=$? + if [ $ec -ne 0 ] ; then + echo "logrotate failed ($ec)" + fi +done diff --git a/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf new file mode 100644 index 000000000..14bcc0781 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf @@ -0,0 +1,2 @@ +[Service] +ExecReload=/bin/kill -HUP $MAINPID diff --git a/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf new file mode 100644 index 000000000..46a287eef --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.conf @@ -0,0 +1,79 @@ +# if you experience problems, check +# http://www.rsyslog.com/troubleshoot for assistance + +# rsyslog v3: load input modules +# If you do not load inputs, nothing happens! +# You may need to set the module load path if modules are not found. +# +# Ported from debian's sysklogd.conf + +# Journal-style logging +# Limit to no more than 2000 entries in one minute and enable the +# journal workaround to avoid duplicate entries +module(load="imjournal" StateFile="/var/log/state" + RateLimit.Interval="60" + RateLimit.Burst="2000") + +# Template for IPMI SEL messages +# " ,,,[,,]" +template(name="IPMISELTemplate" type="list") { + property(name="timereported" dateFormat="rfc3339") + constant(value=" ") + property(name="$!IPMI_SEL_RECORD_ID") + constant(value=",") + property(name="$!IPMI_SEL_RECORD_TYPE") + constant(value=",") + property(name="$!IPMI_SEL_DATA") + constant(value=",") + property(name="$!IPMI_SEL_GENERATOR_ID") + constant(value=",") + property(name="$!IPMI_SEL_SENSOR_PATH") + constant(value=",") + property(name="$!IPMI_SEL_EVENT_DIR") + constant(value="\n") +} + +# Template for Redfish messages +# " ," +template(name="RedfishTemplate" type="list") { + property(name="timereported" dateFormat="rfc3339") + constant(value=" ") + property(name="$!REDFISH_MESSAGE_ID") + constant(value=",") + property(name="$!REDFISH_MESSAGE_ARGS") + constant(value="\n") +} + +# Template for Application Crashes +# " ," +template(name="CrashTemplate" type="list") { + property(name="timereported" dateFormat="rfc3339") + constant(value=" ") + constant(value="OpenBMC.0.1.ServiceFailure") + constant(value=",") + property(name="$!UNIT") + constant(value="\n") +} + + +# If the journal entry has the IPMI SEL MESSAGE_ID, save as IPMI SEL +# The MESSAGE_ID string is generated using journalctl and must match the +# MESSAGE_ID used in IPMI to correctly find the SEL entries. +if ($!MESSAGE_ID == "b370836ccf2f4850ac5bee185b77893a") then { + action(type="omfile" file="/var/log/ipmi_sel" template="IPMISELTemplate") +} + +# If the journal entry has a Redfish MessageId, save as a Redfish event +if ($!REDFISH_MESSAGE_ID != "") then { + action(type="omfile" file="/var/log/redfish" template="RedfishTemplate") +} + +# If the journal entry has a Exit Code, save as a Redfish event +if ($!EXIT_STATUS != "" and $!EXIT_STATUS != "0") then { + action(type="omfile" file="/var/log/redfish" template="CrashTemplate") +} + +# +# Include all config files in /etc/rsyslog.d/ +# +$IncludeConfig /etc/rsyslog.d/*.conf diff --git a/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate new file mode 100644 index 000000000..a6ba28d86 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate @@ -0,0 +1,22 @@ +# /etc/logrotate.d/rsyslog - Ported from Debian + +# Keep up to four 64k files for ipmi_sel (256k total) +/var/log/ipmi_sel +{ + rotate 3 + size 64k + missingok + postrotate + systemctl reload rsyslog 2> /dev/null || true + endscript +} +# Keep up to four 64k files for redfish (256k total) +/var/log/redfish +{ + rotate 3 + size 64k + missingok + postrotate + systemctl reload rsyslog 2> /dev/null || true + endscript +} diff --git a/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend new file mode 100644 index 000000000..c42693787 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend @@ -0,0 +1,24 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://rsyslog.conf \ + file://rsyslog.logrotate \ + file://rotate-event-logs.service \ + file://rotate-event-logs.sh \ + file://rsyslog-override.conf \ +" + +FILES_${PN} += "${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf" + +PACKAGECONFIG_append = " imjournal" + +do_install_append() { + install -m 0644 ${WORKDIR}/rotate-event-logs.service ${D}${systemd_system_unitdir} + install -d ${D}${systemd_system_unitdir}/rsyslog.service.d + install -m 0644 ${WORKDIR}/rsyslog-override.conf \ + ${D}${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/rotate-event-logs.sh ${D}/${bindir}/rotate-event-logs.sh + rm ${D}${sysconfdir}/rsyslog.d/imjournal.conf +} + +SYSTEMD_SERVICE_${PN} += " rotate-event-logs.service" diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb new file mode 100755 index 000000000..20bd1bd36 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb @@ -0,0 +1,32 @@ +SUMMARY = "Intel OEM IPMI commands" +DESCRIPTION = "Intel OEM IPMI commands" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b" + +SRC_URI = "git://github.com/openbmc/intel-ipmi-oem" +SRCREV = "6d6dc7ad721268a66adecca423716ce9fcf3838b" + +S = "${WORKDIR}/git" +PV = "0.1+git${SRCPV}" + +DEPENDS = "boost phosphor-ipmi-host phosphor-logging systemd intel-dbus-interfaces libgpiod" + +inherit cmake obmc-phosphor-ipmiprovider-symlink + +EXTRA_OECMAKE="-DENABLE_TEST=0 -DYOCTO=1" + +LIBRARY_NAMES = "libzinteloemcmds.so" + +HOSTIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}" +NETIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}" + +FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}" +FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}" +FILES_${PN}_append = " ${libdir}/net-ipmid/lib*${SOLIBS}" +FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV}" + +do_install_append(){ + install -d ${D}${includedir}/intel-ipmi-oem + install -m 0644 -D ${S}/include/*.hpp ${D}${includedir}/intel-ipmi-oem +} diff --git a/meta-intel-openbmc/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb b/meta-intel-openbmc/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb new file mode 100644 index 000000000..8c0dfbf1c --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb @@ -0,0 +1,47 @@ +SUMMARY = "OpenBMC for Intel - Applications" +PR = "r1" + +inherit packagegroup + +PROVIDES = "${PACKAGES}" +PACKAGES = " \ + ${PN}-chassis \ + ${PN}-fans \ + ${PN}-flash \ + ${PN}-system \ + " + +PROVIDES += "virtual/obmc-chassis-mgmt" +PROVIDES += "virtual/obmc-fan-mgmt" +PROVIDES += "virtual/obmc-flash-mgmt" +PROVIDES += "virtual/obmc-system-mgmt" + +RPROVIDES_${PN}-chassis += "virtual-obmc-chassis-mgmt" +RPROVIDES_${PN}-fans += "virtual-obmc-fan-mgmt" +RPROVIDES_${PN}-flash += "virtual-obmc-flash-mgmt" +RPROVIDES_${PN}-system += "virtual-obmc-system-mgmt" + +SUMMARY_${PN}-chassis = "Intel Chassis" +RDEPENDS_${PN}-chassis = " \ + x86-power-control \ + obmc-host-failure-reboots \ + " + +SUMMARY_${PN}-fans = "Intel Fans" +RDEPENDS_${PN}-fans = " \ + phosphor-pid-control \ + " + +SUMMARY_${PN}-flash = "Intel Flash" +RDEPENDS_${PN}-flash = " \ + obmc-control-bmc \ + " + +SUMMARY_${PN}-system = "Intel System" +RDEPENDS_${PN}-system = " \ + bmcweb \ + entity-manager \ + intel-ipmi-oem \ + dbus-sensors \ + phosphor-webui \ + " diff --git a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb new file mode 100644 index 000000000..0399ad6c9 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "PFR Manager Service" +DESCRIPTION = "Daemon to handle all PFR functionalities" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7becf906c8f8d03c237bad13bc3dac53" +inherit cmake systemd + +SRC_URI = "git://github.com/openbmc/pfr-manager" + +PV = "0.1+git${SRCPV}" +SRCREV = "0884191b6478bdd787852ab9d290caaeb7816454" + +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.PFR.Manager.service" + +DEPENDS += " \ + sdbusplus \ + phosphor-logging \ + boost \ + i2c-tools \ + libgpiod \ + " diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb b/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb new file mode 100644 index 000000000..0d1d016fe --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb @@ -0,0 +1,11 @@ +SUMMARY="Add /com/intel namespace to phosphor-mapper" +DESCRIPTION="Add the /com/intel path namespace and \ +com.intel interface prefix to the mapper watch list." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit phosphor-mapper +inherit native + +PHOSPHOR_MAPPER_SERVICE_append = " com.intel" +PHOSPHOR_MAPPER_INTERFACE_append = " com.intel" diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb b/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb new file mode 100644 index 000000000..cdb88bbfe --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces_git.bb @@ -0,0 +1,31 @@ +SUMMARY = "Intel DBus Interfaces" +DESCRIPTION = "Generated bindings, using sdbus++, for the Intel YAML" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig +inherit python3native +inherit phosphor-dbus-yaml + +DEPENDS += "autoconf-archive-native" +DEPENDS += "${PYTHON_PN}-sdbus++-native" + +SRC_URI = "git://github.com/openbmc/intel-dbus-interfaces" +SRCREV = "b5f2dd444c5d3808d005452417e4ae2ea28624ff" + +PACKAGECONFIG ??= "libintel_dbus" +PACKAGECONFIG[libintel_dbus] = " \ + --enable-libintel_dbus, \ + --disable-libintel_dbus, \ + systemd sdbusplus, \ + libsystemd \ + " + +PACKAGECONFIG_remove_class-native = "libintel_dbus" +PACKAGECONFIG_remove_class-nativesdk = "libintel_dbus" + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend b/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend new file mode 100644 index 000000000..ef991a58b --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend @@ -0,0 +1 @@ +PHOSPHOR_MAPPER_CONFIGS_append_intel = " intel-dbus-interfaces-mapper-config-native" diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-intel-openbmc/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service new file mode 100644 index 000000000..99494717f --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service @@ -0,0 +1,12 @@ +[Unit] +Description=Phosphor-Pid-Control Margin-based Fan Control Daemon + +[Service] +Restart=always +ExecStart={bindir}/swampd +RestartSec=5 +StartLimitInterval=0 +Type=simple + +[Install] +WantedBy=basic.target diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-intel-openbmc/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend new file mode 100644 index 000000000..4521fe8f8 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend_intel := "${THISDIR}/${PN}:" + +inherit obmc-phosphor-systemd +SYSTEMD_SERVICE_${PN}_intel = "phosphor-pid-control.service" +EXTRA_OECONF_intel = "--enable-configure-dbus=yes" diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-intel-openbmc/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend new file mode 100644 index 000000000..4e24bab9e --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend @@ -0,0 +1,5 @@ +EXTRA_OEMESON += "-Dredfish-cpu-log=enabled \ + -Dredfish-raw-peci=enabled \ + -Dredfish-bmc-journal=enabled \ + -Drest=disabled" + diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend new file mode 100644 index 000000000..876567f9a --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend @@ -0,0 +1,5 @@ +do_install_append_intel(){ + install -d ${D}${includedir}/phosphor-ipmi-host + install -m 0644 -D ${S}/sensorhandler.hpp ${D}${includedir}/phosphor-ipmi-host + install -m 0644 -D ${S}/selutility.hpp ${D}${includedir}/phosphor-ipmi-host +} diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-channels.json b/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-channels.json new file mode 100644 index 000000000..cf5a28303 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-channels.json @@ -0,0 +1,16 @@ +{ + "channels": [ + { + "type": "me", + "slave-path": "/dev/ipmb-5", + "bmc-addr": 32, + "remote-addr": 44 + }, + { + "type": "ipmb", + "slave-path": "/dev/ipmb-13", + "bmc-addr": 32, + "remote-addr": 56 + } + ] +} diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend new file mode 100644 index 000000000..e8cbbe928 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend @@ -0,0 +1,8 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append = " file://ipmb-channels.json" + +do_install_append(){ + install -m 0644 -D ${WORKDIR}/ipmb-channels.json \ + ${D}/usr/share/ipmbbridge +} diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb b/meta-intel-openbmc/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb new file mode 100644 index 000000000..20df1185b --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb @@ -0,0 +1,19 @@ +SUMMARY = "Phosphor LED Group Management for Intel" +PR = "r1" + +inherit native +inherit obmc-phosphor-utils + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +PROVIDES += "virtual/phosphor-led-manager-config-native" + +SRC_URI += "file://led.yaml" +S = "${WORKDIR}" + +do_install() { + SRC=${S} + DEST=${D}${datadir}/phosphor-led-manager + install -D ${SRC}/led.yaml ${DEST}/led.yaml +} diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/leds/intel-led-manager-config/led.yaml b/meta-intel-openbmc/meta-common/recipes-phosphor/leds/intel-led-manager-config/led.yaml new file mode 100755 index 000000000..813ffbfd4 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/leds/intel-led-manager-config/led.yaml @@ -0,0 +1,36 @@ +bmc_booted: + +power_on: + +status_ok: + status_green: + Action: 'On' + status_amber: + Action: 'Off' + +status_degraded: + status_green: + Action: 'Blink' + DutyOn: 50 + Period: 1000 + status_amber: + Action: 'Off' + +status_non_critical: + status_green: + Action: 'Off' + status_amber: + Action: 'Blink' + DutyOn: 50 + Period: 1000 + +status_critical: + status_green: + Action: 'Off' + status_amber: + Action: 'On' + +enclosure_identify: + identify: + Action: 'On' + diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend b/meta-intel-openbmc/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend new file mode 100644 index 000000000..3e769e174 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend @@ -0,0 +1,2 @@ +# Enable threshold monitoring +EXTRA_OECMAKE_intel += "-DSEL_LOGGER_MONITOR_THRESHOLD_EVENTS=ON" diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/webui/phosphor-webui/config.json b/meta-intel-openbmc/meta-common/recipes-phosphor/webui/phosphor-webui/config.json new file mode 100644 index 000000000..1543a6249 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/webui/phosphor-webui/config.json @@ -0,0 +1,8 @@ +{ + "customKeyEnable": true, + "keyType" : "VT100+", + "customConsoleDisplaySize": { + "width": 100, + "height": 32 + } +} diff --git a/meta-intel-openbmc/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend b/meta-intel-openbmc/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend new file mode 100644 index 000000000..590e9e629 --- /dev/null +++ b/meta-intel-openbmc/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend @@ -0,0 +1,8 @@ +FILESEXTRAPATHS_prepend_intel := "${THISDIR}/${PN}:" + +SRC_URI_append_intel = " file://config.json" + +do_compile_prepend_intel() { + cp -r ${WORKDIR}/config.json ${S}/ +} + diff --git a/meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample b/meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample new file mode 100644 index 000000000..c208e10fc --- /dev/null +++ b/meta-intel-openbmc/meta-s2600wf/conf/bblayers.conf.sample @@ -0,0 +1,20 @@ +# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +LCONF_VERSION = "9" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-aspeed \ + ##OEROOT##/meta-intel-openbmc \ + ##OEROOT##/meta-intel-openbmc/meta-s2600wf \ +" diff --git a/meta-intel-openbmc/meta-s2600wf/conf/conf-notes.txt b/meta-intel-openbmc/meta-s2600wf/conf/conf-notes.txt new file mode 100644 index 000000000..5314bf4e6 --- /dev/null +++ b/meta-intel-openbmc/meta-s2600wf/conf/conf-notes.txt @@ -0,0 +1,4 @@ +Common targets are: + obmc-phosphor-image + virtual/kernel + phosphor-ipmi-host diff --git a/meta-intel-openbmc/meta-s2600wf/conf/layer.conf b/meta-intel-openbmc/meta-s2600wf/conf/layer.conf new file mode 100644 index 000000000..c5001beec --- /dev/null +++ b/meta-intel-openbmc/meta-s2600wf/conf/layer.conf @@ -0,0 +1,11 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "s2600wf" +BBFILE_PATTERN_s2600wf = "" +BBFILE_PRIORITY_s2600wf = "5" +LAYERSERIES_COMPAT_s2600wf = "dunfell gatesgarth" diff --git a/meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample b/meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample new file mode 100644 index 000000000..a6ac9e158 --- /dev/null +++ b/meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample @@ -0,0 +1,235 @@ +# +# This file is your local configuration file and is where all local user settings +# are placed. The comments in this file give some guide to the options a new user +# to the system might want to change but pretty much any configuration option can +# be set in this file. More adventurous users can look at local.conf.extended +# which contains other examples of configuration which can be placed in this file +# but new users likely won't need any of them initially. +# +# Lines starting with the '#' character are commented out and in some cases the +# default values are provided as comments to show people example syntax. Enabling +# the option is a question of removing the # character and making any change to the +# variable as required. + +# +# Machine Selection +# +# You need to select a specific machine to target the build with. There are a selection +# of emulated machines available which can boot and run in the QEMU emulator: +# +#MACHINE ?= "qemuarm" +#MACHINE ?= "qemuarm64" +#MACHINE ?= "qemumips" +#MACHINE ?= "qemuppc" +#MACHINE ?= "qemux86" +#MACHINE ?= "qemux86-64" +# +# There are also the following hardware board target machines included for +# demonstration purposes: +# +#MACHINE ?= "beaglebone" +#MACHINE ?= "genericx86" +#MACHINE ?= "genericx86-64" +#MACHINE ?= "mpc8315e-rdb" +#MACHINE ?= "edgerouter" +# +# This sets the default machine to be qemux86 if no other machine is selected: + +MACHINE ?= "s2600wf" + +# +# Where to place downloads +# +# During a first build the system will download many different source code tarballs +# from various upstream projects. This can take a while, particularly if your network +# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you +# can preserve this directory to speed up this part of subsequent builds. This directory +# is safe to share between multiple builds on the same machine too. +# +# The default is a downloads directory under TOPDIR which is the build directory. +# +#DL_DIR ?= "${TOPDIR}/downloads" +# +# Where to place shared-state files +# +# BitBake has the capability to accelerate builds based on previously built output. +# This is done using "shared state" files which can be thought of as cache objects +# and this option determines where those files are placed. +# +# You can wipe out TMPDIR leaving this directory intact and the build would regenerate +# from these files if no changes were made to the configuration. If changes were made +# to the configuration, only shared state files where the state was still valid would +# be used (done using checksums). +# +# The default is a sstate-cache directory under TOPDIR. +# +#SSTATE_DIR ?= "${TOPDIR}/sstate-cache" + +# +# Where to place the build output +# +# This option specifies where the bulk of the building work should be done and +# where BitBake should place its temporary files and output. Keep in mind that +# this includes the extraction and compilation of many applications and the toolchain +# which can use Gigabytes of hard disk space. +# +# The default is a tmp directory under TOPDIR. +# +#TMPDIR = "${TOPDIR}/tmp" + +# +# Default policy config +# +# The distribution setting controls which policy settings are used as defaults. +# The default value is fine for general Yocto project use, at least initially. +# Ultimately when creating custom policy, people will likely end up subclassing +# these defaults. +# +DISTRO ?= "openbmc-phosphor" +# As an example of a subclass there is a "bleeding" edge policy configuration +# where many versions are set to the absolute latest code from the upstream +# source control systems. This is just mentioned here as an example, its not +# useful to most new users. +# DISTRO ?= "poky-bleeding" + +# +# Package Management configuration +# +# This variable lists which packaging formats to enable. Multiple package backends +# can be enabled at once and the first item listed in the variable will be used +# to generate the root filesystems. +# Options are: +# - 'package_deb' for debian style deb files +# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) +# - 'package_rpm' for rpm style packages +# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" +# We default to rpm: +PACKAGE_CLASSES ?= "package_rpm" + +# +# SDK/ADT target architecture +# +# This variable specifies the architecture to build SDK/ADT items for and means +# you can build the SDK packages for architectures other than the machine you are +# running the build on (i.e. building i686 packages on an x86_64 host). +# Supported values are i686 and x86_64 +#SDKMACHINE ?= "i686" +SANITY_TESTED_DISTROS_append ?= " RedHatEnterpriseWorkstation-6.*" + +# +# Extra image configuration defaults +# +# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated +# images. Some of these options are added to certain image types automatically. The +# variable can contain the following options: +# "dbg-pkgs" - add -dbg packages for all installed packages +# (adds symbol information for debugging/profiling) +# "dev-pkgs" - add -dev packages for all installed packages +# (useful if you want to develop against libs in the image) +# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages +# (useful if you want to run the package test suites) +# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) +# "tools-debug" - add debugging tools (gdb, strace) +# "eclipse-debug" - add Eclipse remote debugging support +# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind) +# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) +# "debug-tweaks" - make an image suitable for development +# e.g. ssh root access has a blank password +# There are other application targets that can be used here too, see +# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. +# We default to enabling the debugging tweaks. +EXTRA_IMAGE_FEATURES = "debug-tweaks" + +# +# Additional image features +# +# The following is a list of additional classes to use when building images which +# enable extra features. Some available options which can be included in this variable +# are: +# - 'buildstats' collect build statistics +# - 'image-mklibs' to reduce shared library files size for an image +# - 'image-prelink' in order to prelink the filesystem image +# - 'image-swab' to perform host system intrusion detection +# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink +# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended +USER_CLASSES ?= "buildstats image-mklibs image-prelink" + +# +# Runtime testing of images +# +# The build system can test booting virtual machine images under qemu (an emulator) +# after any root filesystems are created and run tests against those images. To +# enable this uncomment this line. See classes/testimage(-auto).bbclass for +# further details. +#TEST_IMAGE = "1" +# +# Interactive shell configuration +# +# Under certain circumstances the system may need input from you and to do this it +# can launch an interactive shell. It needs to do this since the build is +# multithreaded and needs to be able to handle the case where more than one parallel +# process may require the user's attention. The default is iterate over the available +# terminal types to find one that works. +# +# Examples of the occasions this may happen are when resolving patches which cannot +# be applied, to use the devshell or the kernel menuconfig +# +# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none +# Note: currently, Konsole support only works for KDE 3.x due to the way +# newer Konsole versions behave +#OE_TERMINAL = "auto" +# By default disable interactive patch resolution (tasks will just fail instead): +PATCHRESOLVE = "noop" + +# +# Disk Space Monitoring during the build +# +# Monitor the disk space during the build. If there is less that 1GB of space or less +# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully +# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# of the build. The reason for this is that running completely out of space can corrupt +# files and damages the build in ways which may not be easily recoverable. +# It's necessary to monitor /tmp, if there is no space left the build will fail +# with very exotic errors. +BB_DISKMON_DIRS = "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" + +# +# Shared-state files from other locations +# +# As mentioned above, shared state files are prebuilt cache data objects which can +# used to accelerate build time. This variable can be used to configure the system +# to search other mirror locations for these objects before it builds the data itself. +# +# This can be a filesystem directory, or a remote url such as http or ftp. These +# would contain the sstate-cache results from previous builds (possibly from other +# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the +# cache locations to check for the shared objects. +# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH +# at the end as shown in the examples below. This will be substituted with the +# correct path within the directory structure. +#SSTATE_MIRRORS ?= "\ +#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ +#file://.* file:///some/local/dir/sstate/PATH" + +# +# Qemu configuration +# +# By default qemu will build with a builtin VNC server where graphical output can be +# seen. The two lines below enable the SDL backend too. This assumes there is a +# libsdl library available on your build system. +PACKAGECONFIG_append_pn-qemu-native = " sdl" +PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" +#ASSUME_PROVIDED += "libsdl-native" + +# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to +# track the version of this file when it was generated. This can safely be ignored if +# this doesn't mean anything to you. +CONF_VERSION = "1" diff --git a/meta-intel-openbmc/meta-s2600wf/conf/machine/s2600wf.conf b/meta-intel-openbmc/meta-s2600wf/conf/machine/s2600wf.conf new file mode 100644 index 000000000..d0ca8a3c3 --- /dev/null +++ b/meta-intel-openbmc/meta-s2600wf/conf/machine/s2600wf.conf @@ -0,0 +1,12 @@ +KMACHINE = "aspeed" +KERNEL_DEVICETREE = "${KMACHINE}-bmc-intel-s2600wf.dtb" + +require conf/machine/include/ast2500.inc +require conf/machine/include/obmc-bsp-common.inc +require conf/machine/include/intel.inc + +UBOOT_MACHINE = "ast_g5_phy_config" + +FLASH_SIZE = "32768" + +VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config" diff --git a/meta-intel-openbmc/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-intel-openbmc/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json new file mode 100644 index 000000000..b02709ec2 --- /dev/null +++ b/meta-intel-openbmc/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json @@ -0,0 +1,47 @@ +{ + "gpio_configs": { + + "power_config": { + "power_good_in": "PGOOD", + "power_up_outs": [ + {"name": "POWER_UP_PIN", "polarity": true} + ], + "reset_outs": [ + {"name": "RESET_OUT", "polarity": false} + ] + } + }, + + "gpio_definitions": [ + { + "name": "PGOOD", + "pin": "AB3", + "direction": "in" + }, + { + "name": "POWER_BUTTON", + "pin": "E2", + "direction": "both" + }, + { + "name": "POWER_UP_PIN", + "pin": "E3", + "direction": "out" + }, + { + "name": "RESET_BUTTON", + "pin": "E0", + "direction": "both" + }, + { + "name": "RESET_OUT", + "pin": "E1", + "direction": "out" + }, + { + "name": "ID_BUTTON", + "pin": "S6", + "direction": "both" + } + ] +} diff --git a/meta-intel-openbmc/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend b/meta-intel-openbmc/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend new file mode 100644 index 000000000..410b21b4a --- /dev/null +++ b/meta-intel-openbmc/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend @@ -0,0 +1 @@ +FILESEXTRAPATHS_prepend_s2600wf := "${THISDIR}/${PN}:" -- cgit v1.2.3