| { |
| children: [ |
| { |
| name: "driver_manager", |
| url: "fuchsia-boot:///#meta/driver_manager.cm", |
| }, |
| { |
| name: "fshost", |
| url: "fuchsia-boot:///#meta/fshost.cm", |
| environment: "#fshost-env", |
| }, |
| { |
| 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", |
| ], |
| rights: [ "rx*" ], |
| }, |
| { |
| protocol: [ |
| "/svc/fuchsia.boot.FactoryItems", |
| "/svc/fuchsia.boot.ReadOnlyLog", |
| "/svc/fuchsia.boot.RootJob", |
| "/svc/fuchsia.boot.RootJobForInspect", |
| "/svc/fuchsia.kernel.Stats", |
| ], |
| from: "realm", |
| to: [ "#driver_manager" ], |
| }, |
| { |
| protocol: "/svc/fuchsia.boot.RootResource", |
| from: "realm", |
| to: [ |
| "#console", |
| "#driver_manager", |
| "#sysinfo", |
| ], |
| }, |
| { |
| protocol: [ |
| "/svc/fuchsia.boot.Arguments", |
| "/svc/fuchsia.boot.Items", |
| "/svc/fuchsia.cobalt.LoggerFactory", |
| "/svc/fuchsia.process.Launcher", |
| "/svc/fuchsia.tracing.provider.Registry", |
| ], |
| from: "realm", |
| to: [ |
| "#driver_manager", |
| "#fshost", |
| ], |
| }, |
| { |
| protocol: [ "/svc/fuchsia.boot.WriteOnlyLog" ], |
| from: "realm", |
| to: [ |
| "#console", |
| "#driver_manager", |
| "#fshost", |
| "#ptysvc", |
| "#sysinfo", |
| ], |
| }, |
| { |
| protocol: [ "/svc/fuchsia.security.resource.Vmex" ], |
| from: "realm", |
| to: [ "#fshost" ], |
| }, |
| { |
| // TODO(fxb/34633): DEPRECATED. Do not add new dependencies on the fshost |
| // loader service! |
| protocol: "/svc/fuchsia.fshost.Loader", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/dev", |
| from: "#driver_manager", |
| to: [ |
| "#fshost", |
| "#sysinfo", |
| ], |
| }, |
| { |
| directory: "/minfs", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/pkgfs", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/system-delayed", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/system", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/blob", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/volume", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/install", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/tmp", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "/bin", |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| |
| // Offer the kernel serial console to the driver_manager |
| { |
| protocol: "/svc/fuchsia.hardware.pty.Device", |
| from: "#console", |
| as: "/svc/console", |
| to: [ "#driver_manager" ], |
| }, |
| |
| // Offer the pty service to the driver_manager |
| { |
| protocol: "/svc/fuchsia.hardware.pty.Device", |
| from: "#ptysvc", |
| to: [ "#driver_manager" ], |
| }, |
| |
| // driver_manager needs the v1 hub for the serial console |
| { |
| directory: "/hub", |
| from: "realm", |
| to: [ "#driver_manager" ], |
| }, |
| { |
| protocol: "/svc/fuchsia.sysinfo.SysInfo", |
| from: "#sysinfo", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| |
| // Offer the ELF runner to children. |
| { |
| runner: "elf", |
| from: "realm", |
| to: [ |
| "#console", |
| "#driver_manager", |
| "#fshost", |
| "#ptysvc", |
| "#sysinfo", |
| ], |
| }, |
| |
| // Non-zircon services for svchost |
| { |
| protocol: [ |
| "/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: "realm", |
| to: [ "#driver_manager" ], |
| }, |
| { |
| protocol: [ |
| "/svc/fuchsia.fshost.Admin", |
| "/svc/fuchsia.fshost.Filesystems", |
| "/svc/fuchsia.fshost.Registry", |
| ], |
| from: "#fshost", |
| to: [ "#driver_manager" ], |
| dependency: "weak_for_migration", |
| }, |
| ], |
| expose: [ |
| // This handle is used by component manager to resolve packages from the |
| // base package set. |
| { |
| directory: "/pkgfs-delayed", |
| from: "#fshost", |
| }, |
| { |
| directory: "/dev", |
| from: "#driver_manager", |
| }, |
| { |
| directory: "/config/data", |
| from: "#fshost", |
| }, |
| { |
| directory: "/minfs", |
| from: "#fshost", |
| }, |
| { |
| directory: "/pkgfs", |
| from: "#fshost", |
| }, |
| { |
| directory: "/system", |
| from: "#fshost", |
| }, |
| { |
| directory: "/blob", |
| from: "#fshost", |
| }, |
| { |
| directory: "/tmp", |
| from: "#fshost", |
| }, |
| { |
| directory: "/bin", |
| from: "#fshost", |
| }, |
| { |
| 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.kernel.Counter", |
| "/svc/fuchsia.kernel.DebugBroker", |
| "/svc/fuchsia.paver.Paver", |
| "/svc/fuchsia.scheduler.ProfileProvider", |
| "/svc/fuchsia.virtualconsole.SessionManager", |
| ], |
| from: "#driver_manager", |
| }, |
| { |
| protocol: "/svc/fuchsia.hardware.pty.Device", |
| from: "#ptysvc", |
| }, |
| { |
| protocol: "/svc/fuchsia.sysinfo.SysInfo", |
| from: "#sysinfo", |
| }, |
| ], |
| environments: [ |
| { |
| name: "fshost-env", |
| extends: "realm", |
| |
| // 20 minutes |
| __stop_timeout_ms: 1200000, |
| }, |
| ], |
| } |