tree: a0ac5a0d9afd41d5f173c7b9f0096be158000c03 [path history] [tgz]
  1. BUILD.gn
  2. OWNERS
  3. README.md
  4. app.cc
  5. app.h
  6. config.cc
  7. config.h
  8. config/
  9. integration_tests/
  10. main.cc
  11. meta/
  12. package_updating_loader.cc
  13. package_updating_loader.h
  14. sysmgr-configuration.md
  15. test/
src/sys/sysmgr/README.md

sysmgr

Reviewed on: 2019-07-22

This directory contains sysmgr, an application which is responsible for setting up an environment which provides access to global system services.

This application runs quite early in the Fuchsia boot process. See the boot sequence for more information.

sysmgr is designed to be fairly robust. If any of the services dies, they will be restarted automatically the next time an application attempts to connect to that service.

By default, sysmgr reads all configuration files from /config/data/sysmgr/, which have one of the formats detailed here.

Additional configurations can be contributed to sysmgr using the config_data() template defined in //build/config.gni.

Building

This project is typically included in Fuchsia builds by default, but it can be added to a build by adding --with //src/sys/sysmgr to the fx set invocation.

Running

Sysmgr will be running on any system with appmgr.

Testing

Config unit tests are available in the sysmgr_tests package.

$ fx run-test sysmgr_tests

Integration tests are available in the sysmgr_integration_tests package.

$ fx run-test sysmgr_integration_tests

Source layout

The entrypoint is located in main.cc, and all code lives in top-level .cc and .h files.