phosphor-fan-presence: srcrev bump fdfcc679e6..7072237b9a

Matthew Barth (83):
      control: Remove use of static lib JSON objects
      control: Self registering action objects framework
      control: Add all fan functionality to JSON fan object
      control: Add creating config object without a dbus object
      control: Construct events' groups
      control: Update JSON action objects to run the action
      control: Create manager object for JSON configs
      control: Split JSON and YAML based binaries
      control: Parse/add zones to manager
      control: Add fan objects to their zones
      control: Use group objects in actions
      control: Remove JSON zone object include of YAML zone object
      control: Remove references to "speed" in JSON objects
      control: Fill in `requestIncrease` method
      control: Remove ZoneHandlers from JSON zone object
      control: Use JSON zone object's dbus property methods
      control: Add zone setTarget required functions
      control: Add request target base action
      control: Add set target on missing owner action
      control: Extend actions from the config base object
      control: Add count state set target action
      control: Add net target increase action
      control: Add net target decrease action
      control: Handle adding timers and when they expire
      control: Update config loading
      control: Add zone increase & decrease timers
      control: Restore `Current` property for each zone
      control: Update zone target on startup
      control: Load JSON configured groups and events
      control: Remove `json_parser` source
      control: Handle empty profiles for configuration objects
      control: Use Group objects in events
      control: Create config key check function
      control: Add event actions
      control: Provide zones to the events
      control: Set groups & zones on event actions
      control: Group configuration inputs should be const
      control: Update base action object with zones and groups used
      control: Actions use list of groups set on base object
      control: Timers no longer need the zone and group
      control: Handle updating service states
      control: Provide pointer to manager object to events
      control: Add getBus() and getGroups() functions for triggers
      control: Add event trigger creation
      control: Add timer trigger support
      control: Remove `path` argument to add services
      control: Correct which json object used in event actions
      control: Copy everything in Group copy constructor
      Add `getManagedObjects` method call
      control: Setup to subscribe and handle signals
      control: Add signal triggers with propertiesChanged signals
      control: Add interfacesAdded signal support
      control: Add interfacesRemoved signal support
      control: Add nameOwnerChanged signal support
      control: Get property from cache and add objects
      control: Add init trigger support
      control: Extract bus object from config argument pack
      control: Switch to using static instance of bus
      control: Set owner state for all service entries
      control: Support switch to 'default_ceiling'
      control: Handle `Current` property changing
      control: Optimize loading/configuring event groups
      control: Remove JSON event precondition support
      control: Remove event `getActions()`
      control: Store/use trigger enable functions on events
      control: Remove manager parameter from create trigger function
      control: Separate zone creation from enabling
      control: DBusZone object for dbus objects
      control: Manage zones' dbus interfaces with a DBusZone object
      control: Support reloading configurations with SIGHUP
      control: Introduce `poweron_target` configuration attribute
      control: Make decrease interval optional
      control: Set fans to `poweron_target` at poweron
      control: Remove manager JSON config
      Only load compatible interface objects once
      control: Add successful configuration file loaded message
      control: Add ObjectManager interface
      json: Use a single list of compatible values
      json: Add constructor for loading a fan app's config file(s)
      control: Load config file(s) when available
      control: Store signal packages as a reference
      control: Temporarily handle starting at poweron
      control: Enhance handling exceptions restoring `Current` mode property

Change-Id: Ie4cc6f83a7e45ae706a7c10f893a8c3ef897efd6
Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com>
1 file changed
tree: 9523350d6dad530b75be9b9ee24895e1f26571f8
  1. .github/
  2. meta-alibaba/
  3. meta-amd/
  4. meta-ampere/
  5. meta-arm/
  6. meta-aspeed/
  7. meta-asrock/
  8. meta-bytedance/
  9. meta-evb/
  10. meta-facebook/
  11. meta-fii/
  12. meta-google/
  13. meta-hpe/
  14. meta-hxt/
  15. meta-ibm/
  16. meta-ingrasys/
  17. meta-inspur/
  18. meta-intel-openbmc/
  19. meta-inventec/
  20. meta-lenovo/
  21. meta-microsoft/
  22. meta-nuvoton/
  23. meta-openembedded/
  24. meta-openpower/
  25. meta-phosphor/
  26. meta-portwell/
  27. meta-qualcomm/
  28. meta-quanta/
  29. meta-raspberrypi/
  30. meta-security/
  31. meta-supermicro/
  32. meta-wistron/
  33. meta-x86/
  34. meta-xilinx/
  35. meta-yadro/
  36. poky/
  37. .gitignore
  38. .gitreview
  39. .templateconf
  40. MAINTAINERS
  41. openbmc-env
  42. OWNERS
  43. README.md
  44. setup
README.md

OpenBMC

Build Status

OpenBMC is a Linux distribution for management controllers used in devices such as servers, top of rack switches or RAID appliances. It uses Yocto, OpenEmbedded, systemd, and D-Bus to allow easy customization for your platform.

Setting up your OpenBMC project

1) Prerequisite

  • Ubuntu 14.04
sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat
  • Fedora 28
sudo dnf install -y git patch diffstat texinfo chrpath SDL-devel bitbake \
    rpcgen perl-Thread-Queue perl-bignum perl-Crypt-OpenSSL-Bignum
sudo dnf groupinstall "C Development Tools and Libraries"

2) Download the source

git clone git@github.com:openbmc/openbmc.git
cd openbmc

3) Target your hardware

Any build requires an environment set up according to your hardware target. There is a special script in the root of this repository that can be used to configure the environment as needed. The script is called setup and takes the name of your hardware target as an argument.

The script needs to be sourced while in the top directory of the OpenBMC repository clone, and, if run without arguments, will display the list of supported hardware targets, see the following example:

$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:

centriq2400-rep         f0b                     fp5280g2
gsj                     hr630                   hr855xg2
lanyang                 mihawk                  msn
neptune                 nicole                  olympus
olympus-nuvoton         on5263m5                p10bmc
palmetto                qemuarm                 quanta-q71l
romulus                 s2600wf                 stardragon4800-rep2
swift                   tiogapass               vesnin
witherspoon             witherspoon-tacoma      yosemitev2
zaius

Once you know the target (e.g. romulus), source the setup script as follows:

. setup romulus

For evb-ast2500, please use the below command to specify the machine config, because the machine in meta-aspeed layer is in a BSP layer and does not build the openbmc image.

TEMPLATECONF=meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf . openbmc-env

4) Build

bitbake obmc-phosphor-image

Additional details can be found in the docs repository.

OpenBMC Development

The OpenBMC community maintains a set of tutorials new users can go through to get up to speed on OpenBMC development out here

Build Validation and Testing

Commits submitted by members of the OpenBMC GitHub community are compiled and tested via our Jenkins server. Commits are run through two levels of testing. At the repository level the makefile make check directive is run. At the system level, the commit is built into a firmware image and run with an arm-softmmu QEMU model against a barrage of CI tests.

Commits submitted by non-members do not automatically proceed through CI testing. After visual inspection of the commit, a CI run can be manually performed by the reviewer.

Automated testing against the QEMU model along with supported systems are performed. The OpenBMC project uses the Robot Framework for all automation. Our complete test repository can be found here.

Submitting Patches

Support of additional hardware and software packages is always welcome. Please follow the contributing guidelines when making a submission. It is expected that contributions contain test cases.

Bug Reporting

Issues are managed on GitHub. It is recommended you search through the issues before opening a new one.

Questions

First, please do a search on the internet. There's a good chance your question has already been asked.

For general questions, please use the openbmc tag on Stack Overflow. Please review the discussion on Stack Overflow licensing before posting any code.

For technical discussions, please see contact info below for Discord and mailing list information. Please don't file an issue to ask a question. You'll get faster results by using the mailing list or Discord.

Features of OpenBMC

Feature List

  • Host management: Power, Cooling, LEDs, Inventory, Events, Watchdog
  • Full IPMI 2.0 Compliance with DCMI
  • Code Update Support for multiple BMC/BIOS images
  • Web-based user interface
  • REST interfaces
  • D-Bus based interfaces
  • SSH based SOL
  • Remote KVM
  • Hardware Simulation
  • Automated Testing
  • User management
  • Virtual media

Features In Progress

  • OpenCompute Redfish Compliance
  • Verified Boot

Features Requested but need help

  • OpenBMC performance monitoring

Finding out more

Dive deeper into OpenBMC by opening the docs repository.

Technical Steering Committee

The Technical Steering Committee (TSC) guides the project. Members are:

  • Brad Bishop (chair), IBM
  • Nancy Yuen, Google
  • Sai Dasari, Facebook
  • James Mihm, Intel
  • Sagar Dharia, Microsoft
  • Supreeth Venkatesh, Arm

Contact