blob: 6f63d0fc838fe4f968ff5d1c98965a5962cbbb69 [file] [log] [blame] [view]
# 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](/docs/concepts/framework/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](sysmgr-configuration.md).
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](../appmgr/README.md).
## 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.