| # sysmgr | |
| Reviewed on: 2020-03-19 | |
| sysmgr is one of the two major pieces of the v1 Component Runtime (appmgr being | |
| the other). It is responsible for hosting the 'sys' realm/environment that | |
| contains 'global' system services. Most components on Fuchsia today still run | |
| under the 'sys' realm (until they are migrated to the newer v2 Component | |
| Runtime) though there are many components run in child realms under 'sys', such | |
| as components launched and managed by the Modular framework. | |
| This application runs quite early in the Fuchsia boot process. See the [boot | |
| sequence](/docs/concepts/framework/boot_sequence.md) | |
| 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/`. The | |
| configuration format as well as instructions for adding to the sysmgr | |
| configuration are [documented here](sysmgr-configuration.md). | |
| ## 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](../appmgr/README.md). | |
| ## Testing | |
| Config unit tests are available in the `sysmgr_tests` package. | |
| ``` | |
| $ fx test sysmgr_tests | |
| ``` | |
| Integration tests are available in the `sysmgr-integration-tests` package. | |
| ``` | |
| $ fx test sysmgr-integration-tests | |
| ``` | |
| ## Source layout | |
| The entrypoint is located in `main.cc`, and all code lives in top-level `.cc` | |
| and `.h` files. |