blob: 839ccc84194110905d91eb9b7d00cc129f0eebdb [file] [log] [blame]
# Copyright 2022 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/args.gni")
import("//build/product.gni")
# This centralizes the definition of a bunch of labels and files used in the
# various //build/images/**/BUILD.gn files.
# Kernel file used to populate emu manifest
_qemu_kernel_file = ""
_qemu_kernel_target = ""
if (target_cpu == "x64") {
_qemu_kernel_file = "$root_build_dir/multiboot.bin"
_qemu_kernel_target = "//zircon/kernel/arch/x86/phys/boot-shim:multiboot-shim"
} else if (target_cpu == "arm64") {
_qemu_kernel_file = "$root_build_dir/qemu-boot-shim.bin"
_qemu_kernel_target = "//zircon/kernel/target/arm64/boot-shim:qemu"
} else {
assert(false, "Unsupported target cpu: $target_cpu")
}
recovery_is_zedboot =
get_label_info(recovery_label, "label_with_toolchain") ==
get_label_info("//build/images/zedboot", "label_with_toolchain")
flash_manifest_version = 3
# These are the common assembly-related labels.
labels = {
if (use_bringup_assembly) {
images = "//build/images/bringup"
assembly_name = "bringup"
} else {
images = "//build/images/fuchsia"
assembly_name = "fuchsia"
images_prime = "${images}:${assembly_name}_prime"
fuchsia_netboot = "${images}:netboot"
meta_packages = "${images}:fuchsia.meta_packages"
}
qemu_kernel = _qemu_kernel_target
}
supports_fastboot_fvm = fvm_partition != "" && !use_bringup_assembly
# These are the common assembly-related files.
files = {
if (!use_bringup_assembly) {
images_outdir = get_label_info(labels.images, "target_out_dir")
assembly_outdir = images_outdir + "/${labels.assembly_name}"
minfs = "${assembly_outdir}/data.blk"
blobfs = "${assembly_outdir}/blob.blk"
# TODO(fxbug.dev/82077): Remove this once clients switch to the new path
old_blobfs_path = "${root_out_dir}/obj/build/images/blob.blk"
flash_manifest = "${images_outdir}/flash_manifest/flash.json"
fvm = "${assembly_outdir}/fvm.blk"
if (supports_fastboot_fvm) {
fvm_fastboot = "${assembly_outdir}/fvm.fastboot.blk"
}
base_package_names = "$root_build_dir/base_packages.list"
cache_package_names = "$root_build_dir/cache_packages.list"
universe_package_names = "$root_build_dir/universe_packages.list"
manifests_from_metadata =
"$root_build_dir/package_manifests_from_metadata.list"
# TODO(https://fxbug.dev/98480) move these to image-relative paths along with tools' usages
base_package_manifests = "$root_build_dir/base_package_manifests.list"
cache_package_manifests = "$root_build_dir/cache_package_manifests.list"
}
_image_suffix = "zbi"
if (custom_signing_script != "" || use_vboot) {
_image_suffix = "zbi.signed"
}
# Final output image and vbmeta
final_zbi = "$root_out_dir/fuchsia.${_image_suffix}"
final_vbmeta = "$root_out_dir/fuchsia.vbmeta"
# Recovery output image and vbmeta
if (recovery_is_zedboot) {
recovery_zbi = "$root_out_dir/zedboot.${_image_suffix}"
recovery_vbmeta = "$root_out_dir/zedboot.vbmeta"
} else {
# The standard recovery image and vbmeta locations.
recovery_zbi = "$root_out_dir/recovery.${_image_suffix}"
recovery_vbmeta = "$root_out_dir/recovery.vbmeta"
}
qemu_kernel = _qemu_kernel_file
}