blob: a781380796fbecf941d8f9c66fe3fd14cbc6a23c [file] [log] [blame]
{
children: [
{
name: "bootstrap",
url: "fuchsia-boot:///#meta/bootstrap.cm",
},
{
name: "core",
url: "fuchsia-pkg://fuchsia.com/core#meta/core.cm",
startup: "eager",
},
],
offer: [
// Capabilities 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
{
directory: "/boot",
from: "realm",
to: [
"#bootstrap",
"#core",
],
rights: [ "rx*" ],
},
{
protocol: [
"/svc/fuchsia.boot.Arguments",
"/svc/fuchsia.boot.FactoryItems",
"/svc/fuchsia.boot.ReadOnlyLog",
"/svc/fuchsia.boot.RootJob",
"/svc/fuchsia.boot.RootJobForInspect",
"/svc/fuchsia.boot.RootResource",
"/svc/fuchsia.boot.WriteOnlyLog",
"/svc/fuchsia.kernel.Stats",
"/svc/fuchsia.process.Launcher",
],
from: "realm",
to: [
"#bootstrap",
"#core",
],
},
{
protocol: [
"/svc/fuchsia.boot.Items",
"/svc/fuchsia.security.resource.Vmex",
],
from: "realm",
to: [ "#bootstrap" ],
},
// ...and the rest of these are services provided by components for each other
{
directory: "/dev",
from: "#bootstrap",
to: [ "#core" ],
},
{
directory: "/minfs",
from: "#bootstrap",
to: [ "#core" ],
},
{
directory: "/pkgfs",
from: "#bootstrap",
to: [ "#core" ],
},
{
directory: "/config/data",
from: "#bootstrap",
to: [ "#core" ],
},
{
directory: "/system",
from: "#bootstrap",
to: [ "#core" ],
},
{
directory: "/blob",
from: "#bootstrap",
to: [ "#core" ],
},
{
directory: "/tmp",
from: "#bootstrap",
to: [ "#core" ],
},
{
protocol: [
"/svc/fuchsia.device.manager.Administrator",
"/svc/fuchsia.device.manager.BindDebugger",
"/svc/fuchsia.device.manager.DebugDumper",
"/svc/fuchsia.device.NameProvider",
"/svc/fuchsia.hardware.power.statecontrol.Admin",
"/svc/fuchsia.hardware.pty.Device",
"/svc/fuchsia.kernel.Counter",
"/svc/fuchsia.kernel.DebugBroker",
"/svc/fuchsia.paver.Paver",
"/svc/fuchsia.scheduler.ProfileProvider",
"/svc/fuchsia.sysinfo.SysInfo",
"/svc/fuchsia.virtualconsole.SessionManager",
],
from: "#bootstrap",
to: [ "#core" ],
},
// Non-zircon services for svchost
{
protocol: [
"/svc/fuchsia.amber.Control",
"/svc/fuchsia.cobalt.LoggerFactory",
"/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.tracing.provider.Registry",
"/svc/fuchsia.wlan.service.Wlan",
],
from: "#core",
to: [ "#bootstrap" ],
dependency: "weak_for_migration",
},
// driver_manager needs the v1 hub for the serial console
{
directory: "/hub",
from: "#core",
to: [ "#bootstrap" ],
dependency: "weak_for_migration",
},
// Offer the ELF runner to children.
{
runner: "elf",
from: "realm",
to: [
"#bootstrap",
"#core",
],
},
],
expose: [
// This handle is used by component manager to resolve packages from the
// base package set.
{
directory: "/pkgfs-delayed",
from: "#bootstrap",
as: "/pkgfs",
},
],
}