| # Copyright 2020 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. |
| |
| import("//build/images/custom_signing.gni") |
| import("//build/images/vbmeta.gni") |
| |
| declare_args() { |
| # Use vboot images |
| use_vboot = false |
| |
| # Put the "system image" package in the BOOTFS. Hence what would |
| # otherwise be /system/... at runtime is /boot/... instead. |
| bootfs_only = false |
| |
| # List of arguments to add to /boot/config/devmgr. |
| # These come after synthesized arguments to configure blobfs and pkgfs. |
| devmgr_config = [] |
| |
| # List of kernel command line arguments to bake into the boot image. |
| # See also [kernel_cmdline](/docs/reference/kernel/kernel_cmdline.md) and |
| # [`devmgr_config`](#devmgr_config). |
| kernel_cmdline_args = [] |
| |
| # Files containing additional kernel command line arguments to bake into |
| # the boot image. The contents of these files (in order) come after any |
| # arguments directly in [`kernel_cmdline_args`](#kernel_cmdline_args). |
| # These can be GN `//` source pathnames or absolute system pathnames. |
| kernel_cmdline_files = [] |
| |
| # List of extra manifest entries for files to add to the BOOTFS. |
| # Each entry can be a "TARGET=SOURCE" string, or it can be a scope |
| # with `sources` and `outputs` in the style of a copy() target: |
| # `outputs[0]` is used as `TARGET` (see `gn help source_expansion`). |
| bootfs_extra = [] |
| |
| # (deprecated) List of kernel images to include in the update (OTA) package. |
| # If no list is provided, all built kernels are included. The names in the |
| # list are strings that must match the filename to be included in the update |
| # package. |
| update_kernels = [] |
| |
| # (deprecated) Prebuilt bootloader image to be included into update (OTA) |
| # package and paving process. |
| # |
| # See `firmware_prebuilts` instead. |
| bootloader_prebuilt = "" |
| |
| # (deprecated) HW revision of the bootloader to be included into OTA package |
| # and paving process. |
| # |
| # See `firmware_prebuilts_path_suffix` instead. |
| bootloader_hw_revision = "" |
| |
| # List of prebuilt firmware blobs to include in update packages. |
| # |
| # Each entry in the list is a scope defining `path` and `type`. A build can |
| # only have a single firmware blob of each `type`. |
| # |
| # Note that `firmware_prebuilts_path_suffix` will be automatically appended to |
| # all `path` variables, so do not include the suffix here. |
| firmware_prebuilts = [] |
| |
| # Suffix to append to all `firmware_prebuilts` paths. |
| # |
| # Typically this indicates the hardware revision, and is made available so |
| # that users can easily switch revisions using a single arg. |
| firmware_prebuilts_path_suffix = "" |
| |
| # Path to manifest file containing data to place into the initial /data |
| # partition. |
| data_partition_manifest = "" |
| |
| # Whether to build the netboot zbi by default. |
| # |
| # You can still build //build/images:netboot explicitly even if enable_netboot is false. |
| enable_netboot = false |
| |
| # A list of labels for meta packages to be included in the monolith. |
| meta_package_labels = [] |
| |
| # arguments to fx flash script |
| zircon_a_partition = "" |
| zircon_b_partition = "" |
| zircon_r_partition = "" |
| vbmeta_a_partition = "" |
| vbmeta_b_partition = "" |
| vbmeta_r_partition = "" |
| active_partition = "" |
| signed_image = false |
| fastboot_product = "" |
| pre_erase_flash = false |
| |
| # Whether to include images necessary to run Fuchsia in QEMU in build |
| # archives. |
| add_qemu_to_build_archives = false |
| |
| # Additional bootserver args to add to pave.sh. New uses of this should be |
| # added with caution, and ideally discussion. The present use case is to |
| # enable throttling of netboot when specific network adapters are combined |
| # with specific boards, due to driver and hardware challenges. |
| additional_bootserver_arguments = "" |
| |
| # Whether to perform check on the build's eligibility for production. |
| # If true, base_packages and cache_packages are checked against dependencies |
| # on //build/validate:non_production_tag, which is used to tag any |
| # non-production GN labels. Build will fail if such dependency is found. |
| check_production_eligibility = false |
| |
| # Whether to compress the blobfs image. |
| compress_blobs = true |
| |
| # Build boot images that prefer Zedboot over local boot (only for EFI). |
| always_zedboot = false |
| |
| # The allowlist file to load for /pkgfs/packages non-base packages |
| pkgfs_packages_allowlist = |
| "//src/security/policy/pkgfs_non_static_pkgs_allowlist_eng.txt" |
| |
| # Include fvm.blob.sparse.blk image into the build if set to true |
| include_fvm_blob_sparse = false |
| } |
| |
| assert(custom_signing_script == "" || !use_vboot, |
| "custom_signing_script and use_vboot cannot be used together!") |
| |
| assert( |
| !include_devmgr_config_in_vbmeta || use_vbmeta, |
| "include_devmgr_config_in_vbmeta cannot be used if use_vbmeta is not set!") |