# Copyright 2018 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.

bootfs_only = true

kernel_cmdline_args = [
  "blobfs.cache-eviction-policy=NEVER_EVICT",
  "console.shell=true",
  "devmgr.log-to-debuglog=true",
  "kernel.enable-debugging-syscalls=true",
  "kernel.enable-serial-syscalls=true",
  "kernel.oom.behavior=jobkill",
  "netsvc.all-features=true",
  "netsvc.disable=false",
]

product_bootfs_labels = [
  "//build/info:bootfs",
  "//bundles:bootstrap",
  "//bundles:debugging",
  "//bundles/bringup:manual_testing",
  "//bundles/drivers:bootstrap",
  "//bundles/drivers:bootstrap-eng",
  "//bundles/drivers:usb-host-stack",
  "//bundles/drivers:usb-peripheral-stack",
  "//bundles/drivers:utils",
]

# TODO(fxbug.dev/56988): We shouldn't need runtests, but right now it's used by profile
# builders, so include it here until we remove that dependency.
product_bootfs_labels += [ "//src/testing/runtests" ]

# Component manager configuration.
product_bootfs_labels +=
    [ "//src/sys/component_manager:component_manager_bootfs_config" ]

meta_package_labels = []

base_package_labels = []

cache_package_labels = []

universe_package_labels = [ "//tools/net/device-finder:host" ]

host_labels = [ "//tools/devshell:fx" ]
