| # Copyright 2019 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/board.gni") |
| import("//build/images/assemble_system.gni") |
| import("//build/images/recovery/recovery_args.gni") |
| import("//build/images/ta.gni") |
| import("//build/images/zedboot/zedboot_args.gni") |
| import("//build/testing/host_test_data.gni") |
| |
| group("recovery") { |
| testonly = true |
| public_deps = [ |
| ":recovery-eng", |
| ":recovery-fdr", |
| ] |
| } |
| |
| recovery_packages = [ |
| "//build/info:build-info", |
| "//garnet/bin/network_time_service", |
| "//garnet/bin/sysmgr", |
| "//garnet/packages/prod:sysmem_connector", |
| "//garnet/packages/prod:broadcom", |
| "//src/connectivity/management:network_config_default", |
| "//src/connectivity/network:config", |
| "//src/connectivity/wlan/config:default", |
| "//src/connectivity/wlan/wlancfg", |
| "//src/connectivity/wlan/wlanstack", |
| "//src/recovery/system", |
| "//src/recovery/system:config", |
| "//src/security/root_ssl_certificates", |
| "//src/sys/appmgr", |
| "//src/sys/appmgr:appmgr_scheme_config", |
| "//src/sys/core", |
| "//src/sys/pkg:recovery", |
| "//src/sys/stash", |
| "//src/sys/timekeeper", |
| "//src/connectivity/network/http_client", |
| ] |
| |
| recovery_eng_packages = |
| recovery_packages + [ |
| # So components can be launched: |
| "//src/sys/tools/run", |
| |
| # Basic command-line tools: |
| "//garnet/packages/prod:sbase", |
| |
| # Command-line interface to wlan stack: |
| "//src/connectivity/wlan/wlancfg/tool:donut", |
| |
| # Device side of zxdb & fidlcat, including required policies: |
| "//src/developer/debug/debug_agent", |
| "//src/security/policy:appmgr_root_job_allowlist_eng", |
| |
| # The SWD stack for OTAs. |
| "//src/sys/pkg/lib/isolated-ota:isolated-swd", |
| |
| # Eng allowlists for SWD (for OTAs): |
| "//src/security/policy:appmgr_package_cache_allowlist_eng", |
| "//src/security/policy:appmgr_package_resolver_allowlist_eng", |
| ] |
| |
| assemble_system("recovery-eng") { |
| base_packages = recovery_eng_packages |
| |
| # We avoid compressing blobs in the blobfs image so that they can be more |
| # effectively compressed by the ZBI compressor that is tuned to zstd max. |
| compress_blobs = false |
| netboot = true |
| devmgr_config = [ "virtcon.disable=true" ] + zedboot_devmgr_config |
| cmdline = [ |
| "console.shell=true", |
| "netsvc.disable=false", |
| "kernel.enable-debugging-syscalls=true", |
| "kernel.enable-serial-syscalls=true", |
| ] + zedboot_cmdline_args + board_zedboot_cmdline_args |
| cmdline_inputs = zedboot_cmdline_files |
| |
| # XXX(comfoltey): Disable bootfs_allowlist_recovery while build |
| # unification is in progress |
| bootfs_allowlist = [] |
| ta_uuids = recovery_ta_uuids |
| sysmgr_golden = "sysmgr-eng-golden.json" |
| } |
| |
| assemble_system("recovery-fdr") { |
| base_packages = recovery_packages |
| |
| # We avoid compressing blobs in the blobfs image so that they can be more |
| # effectively compressed by the ZBI compressor that is tuned to zstd max. |
| compress_blobs = false |
| netboot = true |
| devmgr_config = [ "virtcon.disable=true" ] |
| cmdline = [] |
| |
| # XXX(comfoltey): Disable bootfs_allowlist_recovery while build |
| # unification is in progress |
| bootfs_allowlist = [] |
| ta_uuids = recovery_ta_uuids |
| sysmgr_golden = "sysmgr-fdr-golden.json" |
| } |
| |
| if (is_host) { |
| host_test_data("test_data") { |
| out_dir = get_label_info(":anything($target_toolchain)", "target_out_dir") |
| sources = [ |
| "${out_dir}/recovery-eng.zbi", |
| "${out_dir}/recovery-fdr.zbi", |
| ] |
| deps = [ |
| ":recovery-eng($target_toolchain)", |
| ":recovery-fdr($target_toolchain)", |
| ] |
| } |
| } |