OpenPOWER: Add support for Hostboot dump.

Hostboot dump is a dump created during the boot failure
on OpenPOWER based systems.
The dump get extracted from Self Boot Engine(SBE) with
the openpower-dump-manager application.
That application will call into phosphor-dump-manager
to create a dump with the data collected from each
SBE in the system.

Role of phosphor-debug-collector hostboot dump manager

 - Create the hostboot dump package directory
 - Create hostboot dump entry
 - Implement notify interface to get notified when the
   collection is completed
 - Once notified collect each file from the predefined
   location and package it into a dump.
 - Update the hostboot dump entry with details once
   dump packaging is completed.

Tested:
- Create a dump entry with busctl
- create a dummy file in search path
- Call notify with busctl

Signed-off-by: Dhruvaraj Subhshchandran <dhruvaraj@in.ibm.com>
Change-Id: I2dab3b7ca976ed33184f770722cca00b1b02c075
9 files changed
tree: f151d9986d3b8f6f281af437d9f7a7fb6744b5bd
  1. dump-extensions/
  2. host-transport-extensions/
  3. subprojects/
  4. test/
  5. tools/
  6. xyz/
  7. .clang-format
  8. .gitignore
  9. .shellcheck-ignore
  10. bmc_dump_entry.hpp
  11. bmcstored_dump_entry.cpp
  12. bmcstored_dump_entry.hpp
  13. core_manager.cpp
  14. core_manager.hpp
  15. core_manager_main.cpp
  16. dump-extensions.hpp
  17. dump_entry.cpp
  18. dump_entry.hpp
  19. dump_internal.hpp
  20. dump_manager.cpp
  21. dump_manager.hpp
  22. dump_manager_bmc.cpp
  23. dump_manager_bmc.hpp
  24. dump_manager_bmcstored.cpp
  25. dump_manager_bmcstored.hpp
  26. dump_manager_faultlog.cpp
  27. dump_manager_faultlog.hpp
  28. dump_manager_main.cpp
  29. dump_offload.cpp
  30. dump_offload.hpp
  31. dump_serialize.cpp
  32. dump_serialize.hpp
  33. dump_utils.cpp
  34. dump_utils.hpp
  35. elog_watch.cpp
  36. elog_watch.hpp
  37. errors_map.mako.hpp
  38. errors_map_gen.py
  39. example_errors_watch.yaml
  40. faultlog_dump_entry.cpp
  41. faultlog_dump_entry.hpp
  42. ffdc
  43. host_transport_exts.hpp
  44. LICENSE
  45. meson.build
  46. meson_options.txt
  47. OWNERS
  48. ramoops_manager.cpp
  49. ramoops_manager.hpp
  50. ramoops_manager_main.cpp
  51. README.md
  52. watch.cpp
  53. watch.hpp
README.md

phosphor-debug-collector

Phosphor Debug Collector provides mechanisms to collect various log files and system parameters. Used to troubleshoot problems in OpenBMC based systems.

One such mechanism is dreport, a script that collects debug data and packages it into an archive file.

To Build

To build this package with meson, do the following steps:

    1. meson builddir
    2. ninja -C builddir

To clean the built files run ninja -C builddir clean.

To run unit tests

Tests can be run in the CI docker container, refer local-ci-build

or with an OpenBMC x86 sdk(see below for x86 steps).

meson -Dtests=enabled build
ninja -C build test