| // Copyright 2024 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| { |
| children: [ |
| { |
| name: "fshost", |
| url: "fuchsia-boot:///fshost#meta/fshost.cm", |
| environment: "#fshost-env", |
| on_terminate: "reboot", |
| }, |
| ], |
| offer: [ |
| { |
| directory: "boot", |
| from: "parent", |
| to: "#fshost", |
| rights: [ "rx*" ], |
| }, |
| { |
| protocol: [ |
| "fuchsia.boot.Arguments", |
| "fuchsia.boot.Items", |
| "fuchsia.boot.WriteOnlyLog", |
| "fuchsia.feedback.CrashReporter", |
| "fuchsia.kernel.VmexResource", |
| "fuchsia.metrics.MetricEventLoggerFactory", |
| "fuchsia.process.Launcher", |
| ], |
| from: "parent", |
| to: "#fshost", |
| }, |
| { |
| protocol: [ |
| "fuchsia.memorypressure.Provider", |
| "fuchsia.tracing.provider.Registry", |
| ], |
| from: "parent", |
| to: "#fshost", |
| availability: "optional", |
| }, |
| { |
| protocol: "fuchsia.scheduler.RoleManager", |
| from: "#role_manager", |
| to: [ "#fshost" ], |
| }, |
| { |
| directory: "dev-topological", |
| from: "#devfs", |
| to: [ "#fshost" ], |
| }, |
| { |
| service: "fuchsia.hardware.block.volume.Service", |
| from: "#boot-drivers", |
| to: "#fshost", |
| }, |
| { |
| dictionary: "diagnostics", |
| from: "self", |
| to: "#fshost", |
| }, |
| { |
| config: [ |
| "fuchsia.fshost.Blobfs", |
| "fuchsia.fshost.BlobfsInitialInodes", |
| "fuchsia.fshost.BlobfsMaxBytes", |
| "fuchsia.fshost.BlobfsUseDeprecatedPaddedFormat", |
| "fuchsia.fshost.BootPart", |
| "fuchsia.fshost.CheckFilesystems", |
| "fuchsia.fshost.Data", |
| "fuchsia.fshost.DataFilesystemFormat", |
| "fuchsia.fshost.DataMaxBytes", |
| "fuchsia.fshost.DisableBlockWatcher", |
| "fuchsia.fshost.Factory", |
| "fuchsia.fshost.FormatDataOnCorruption", |
| "fuchsia.fshost.Fvm", |
| "fuchsia.fshost.FvmSliceSize", |
| "fuchsia.fshost.FxfsBlob", |
| "fuchsia.fshost.FxfsCryptUrl", |
| "fuchsia.fshost.Gpt", |
| "fuchsia.fshost.GptAll", |
| "fuchsia.fshost.InlineCrypto", |
| "fuchsia.fshost.Mbr", |
| "fuchsia.fshost.MergeSuperAndUserdata", |
| "fuchsia.fshost.Nand", |
| "fuchsia.fshost.NoZxcrypt", |
| "fuchsia.fshost.ProvisionFxfs", |
| "fuchsia.fshost.RamdiskImage", |
| "fuchsia.fshost.StarnixVolumeName", |
| "fuchsia.fshost.StorageHost", |
| "fuchsia.fshost.UseDiskMigration", |
| ], |
| from: "parent", |
| to: "#fshost", |
| }, |
| { |
| config: [ |
| "fuchsia.blobfs.CacheEvictionPolicy", |
| "fuchsia.blobfs.WriteCompressionAlgorithm", |
| "fuchsia.fshost.DisableAutomount", |
| ], |
| from: "parent", |
| to: "#fshost", |
| availability: "optional", |
| }, |
| { |
| dictionary: "tee_key_management", |
| from: "parent", |
| to: "#fshost", |
| availability: "optional", |
| }, |
| ], |
| expose: [ |
| { |
| directory: [ |
| "blob", |
| "block", |
| "data", |
| "factory", |
| "tmp", |
| "volumes", |
| ], |
| from: "#fshost", |
| }, |
| { |
| directory: "debug_block", |
| from: "#fshost", |
| availability: "optional", |
| }, |
| { |
| protocol: [ |
| "fuchsia.fs.startup.Volumes", |
| "fuchsia.fshost.Admin", |
| "fuchsia.fxfs.BlobReader", |
| "fuchsia.update.verify.ComponentOtaHealthCheck", |
| ], |
| from: "#fshost", |
| }, |
| { |
| protocol: [ |
| "fuchsia.fshost.Recovery", |
| "fuchsia.fshost.StarnixVolumeProvider", |
| "fuchsia.fxfs.FileBackedVolumeProvider", |
| "fuchsia.storage.partitions.PartitionsManager", |
| ], |
| from: "#fshost", |
| availability: "optional", |
| }, |
| { |
| service: "fuchsia.storage.partitions.PartitionService", |
| from: "#fshost", |
| availability: "optional", |
| }, |
| |
| // TODO(https://fxbug.dev/391474592): Remove after per-container volumes land. |
| { |
| protocol: "fuchsia.fxfs.CryptManagement", |
| from: "void", |
| availability: "optional", |
| }, |
| ], |
| environments: [ |
| { |
| name: "fshost-env", |
| extends: "realm", |
| |
| // 20 minutes |
| __stop_timeout_ms: 1200000, |
| }, |
| ], |
| } |