blob: 994f661ac1c1b81b9b1fd3c7b35e2a939563e714 [file] [log] [blame]
{
"children": [
{
"name": "driver_manager",
"url": "fuchsia-boot:///#meta/driver_manager.cm",
},
{
"name": "fshost",
"url": "fuchsia-boot:///#meta/fshost.cm",
},
{
"name": "appmgr",
"url": "fuchsia-pkg://fuchsia.com/appmgr#meta/appmgr.cm",
"startup": "eager",
},
{
"name": "console",
"url": "fuchsia-boot:///#meta/console.cm",
},
{
"name": "ptysvc",
"url": "fuchsia-boot:///#meta/ptysvc.cm",
},
{
"name": "sysinfo",
"url": "fuchsia-boot:///#meta/sysinfo.cm",
},
],
"offer": [
{
"directory": "/boot",
"from": "realm",
"to": [ "#driver_manager", "#fshost", "#appmgr" ],
"rights": ["rx*"],
},
// Services routed from "realm" at the root are either provided by
// bootsvc through component_manager's namespace or by component_manager
// itself as a builtin service
{
"protocol": [
"/svc/fuchsia.boot.FactoryItems",
"/svc/fuchsia.boot.ReadOnlyLog",
"/svc/fuchsia.boot.RootJob",
"/svc/fuchsia.boot.RootJobForInspect",
"/svc/fuchsia.boot.WriteOnlyLog",
"/svc/fuchsia.kernel.Stats",
],
"from": "realm",
"to": [ "#driver_manager", "#appmgr" ],
},
{
"protocol": "/svc/fuchsia.boot.RootResource",
"from": "realm",
"to": [ "#appmgr", "#driver_manager", "#console", "#sysinfo" ],
},
{
"protocol": [
"/svc/fuchsia.boot.Arguments",
"/svc/fuchsia.boot.Items",
],
"from": "realm",
"to": [ "#driver_manager", "#fshost" ],
},
{
"protocol": "/svc/fuchsia.process.Launcher",
"from": "realm",
"to": [ "#driver_manager", "#fshost", "#appmgr" ],
},
// ...and the rest of these are services provided by components for each other
{
// TODO(fxb/34633): DEPRECATED. Do not add new dependencies on the fshost
// loader service!
"protocol": "/svc/fuchsia.fshost.Loader",
"from": "#fshost",
"to": [ "#driver_manager" ],
},
{
"directory": "/dev",
"from": "#driver_manager",
"to": [ "#fshost", "#appmgr", "#sysinfo" ],
},
{
"directory": "/minfs",
"from": "#fshost",
"to": [ "#appmgr", "#driver_manager" ],
},
{
"directory": "/pkgfs",
"from": "#fshost",
"to": [ "#appmgr", "#driver_manager" ],
},
{
"directory": "/system-delayed",
"from": "#fshost",
"to": [ "#driver_manager" ],
},
{
"directory": "/system",
"from": "#fshost",
"to": [ "#appmgr", "#driver_manager" ],
},
{
"directory": "/blob",
"from": "#fshost",
"to": [ "#appmgr", "#driver_manager" ],
},
{
"directory": "/volume",
"from": "#fshost",
"to": [ "#driver_manager" ],
},
{
"directory": "/install",
"from": "#fshost",
"to": [ "#driver_manager" ],
},
{
"directory": "/tmp",
"from": "#fshost",
"to": [ "#appmgr", "#driver_manager" ],
},
{
"directory": "/bin",
"from": "#fshost",
"to": [ "#driver_manager" ],
},
{
"protocol": [
"/svc/fuchsia.device.NameProvider",
"/svc/fuchsia.device.manager.Administrator",
"/svc/fuchsia.device.manager.DebugDumper",
"/svc/fuchsia.kernel.Counter",
"/svc/fuchsia.kernel.DebugBroker",
"/svc/fuchsia.paver.Paver",
"/svc/fuchsia.scheduler.ProfileProvider",
"/svc/fuchsia.virtualconsole.SessionManager",
],
"from": "#driver_manager",
"to": [ "#appmgr" ],
},
{
"protocol": [
"/svc/fuchsia.cobalt.LoggerFactory",
"/svc/fuchsia.tracing.provider.Registry",
],
"from": "#appmgr",
"to": [ "#driver_manager", "#fshost" ],
},
// Offer the kernel serial console to the driver_manager
{
"protocol": "/svc/fuchsia.hardware.pty.Device",
"from": "#console",
"to": [ "#driver_manager" ],
"as": "/svc/console",
},
// Offer the pty service to appmgr
{
"protocol": "/svc/fuchsia.hardware.pty.Device",
"from": "#ptysvc",
"to": [
"#appmgr",
"#driver_manager",
],
},
// driver_manager needs the v1 hub for the serial console
{
"directory": "/hub",
"from": "#appmgr",
"to": [ "#driver_manager" ],
},
{
"protocol": "/svc/fuchsia.sysinfo.SysInfo",
"from": "#sysinfo",
"to": [ "#appmgr", "#driver_manager" ],
},
// Offer the ELF runner to children.
{
"runner": "elf",
"from": "realm",
"to": [
"#appmgr",
"#console",
"#driver_manager",
"#fshost",
"#ptysvc",
"#sysinfo",
],
},
// Non-zircon services for svchost
{
"protocol": [
"/svc/fuchsia.amber.Control",
"/svc/fuchsia.devicesettings.DeviceSettingsManager",
"/svc/fuchsia.exception.Handler",
"/svc/fuchsia.logger.Log",
"/svc/fuchsia.logger.LogSink",
"/svc/fuchsia.net.NameLookup",
"/svc/fuchsia.net.stack.Log",
"/svc/fuchsia.net.stack.Stack",
"/svc/fuchsia.netstack.Netstack",
"/svc/fuchsia.pkg.PackageResolver",
"/svc/fuchsia.pkg.RepositoryManager",
"/svc/fuchsia.pkg.rewrite.Engine",
"/svc/fuchsia.posix.socket.Provider",
"/svc/fuchsia.process.Resolver",
"/svc/fuchsia.sys.Environment",
"/svc/fuchsia.sys.Launcher",
"/svc/fuchsia.tracing.controller.Controller",
"/svc/fuchsia.wlan.service.Wlan",
],
"from": "#appmgr",
"to": [ "#driver_manager" ],
},
{
"protocol": [
"/svc/fuchsia.fshost.Admin",
"/svc/fuchsia.fshost.Filesystems",
"/svc/fuchsia.fshost.Registry",
],
"from": "#fshost",
"to": [ "#driver_manager" ],
},
],
"expose": [
// This handle is used by component manager to resolve packages from the
// base package set.
{ "directory": "/pkgfs-delayed", "from": "#fshost", "as": "/pkgfs" },
]
}