blob: 3527a18c256a0df382ffc0936e7841d9d5dfdccb [file] [log] [blame]
# 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("common/x64-common.gni")
# BoardInformation for Product Assembly
board_information_for_assembly =
"//boards/chromebook-x64/board_information.json5"
# userspace PCI migration flags (Chromebook needs more testing)
# fxbug.dev/32978
platform_enable_user_pci = false
board_name = "chromebook-x64"
update_kernels = [ "zbi.signed" ]
use_vboot = true
use_vbmeta = true
avb_key =
"//third_party/android/platform/external/avb/test/data/testkey_atx_psk.pem"
avb_atx_metadata =
"//third_party/android/platform/external/avb/test/data/atx_metadata.bin"
# Bind the nand-broker to the NAND flash on the device, so the flashmap component can access it.
fshost_watch_for_nand = true
_common_bootfs_deps = [
"//boards/kernel_cmdline:chromebook-x64",
"//src/devices/mcu/drivers/chromiumos-ec-core",
"//src/devices/mcu/drivers/chromiumos-ec-lpc",
"//src/devices/misc/drivers/chromeos-acpi",
"//src/devices/nand/drivers/intel-spi-flash",
"//src/devices/nand/drivers/intel-spi-flash",
"//src/devices/tpm/drivers/cr50-spi",
"//src/devices/tpm/drivers/cr50-spi",
"//src/firmware/bin/vboot-fwparam:bootfs",
"//src/firmware/bin/vboot-fwparam/client:cros-nvtool",
"//src/media/audio/drivers/codecs/da7219:component",
"//src/security/bin/cr50_agent:bootfs",
"//src/storage/flashmap:bootfs",
]
board_bootfs_labels += _common_bootfs_deps
board_zedboot_bootfs_labels += _common_bootfs_deps
board_recovery_bootfs_labels += _common_bootfs_deps
# Some users leave a USB key (containing zedboot) plugged into their
# device at all times. To avoid unintentionally breaking remote workflows,
# we permit multiple GPT devices.
board_fshost_config.gpt_all = true
board_zedboot_fshost_config.gpt_all = true
# Storage is budgeted as follows:
# FVM: 56GiB
# Guest partition: 40GiB (not enforced here)
# /blob: 4GiB
# /data: 4GiB
# <the rest is available for /account and future use>
# These limits are intentionally conservative since we can increase them later, but it's hard to
# decrease them (it requires resetting the disk state, which for /blob requires a re-pave).
# We could be tying FVM's size to the actual disk size but the paver isn't smart enough to do that
# yet.
board_fshost_config.blobfs_max_bytes = 4294967296
board_fshost_config.data_max_bytes = 4294967296
# data_max_bytes is also used to size the data partition during paving.
board_zedboot_fshost_config.data_max_bytes = 4294967296
board_bootfs_labels -= [ "//src/power/power-manager:base_config" ]
board_bootfs_labels += [ "//src/power/power-manager:chromebook_config" ]
board_package_labels += [
"//src/power/thermd",
"//src/ui/scenic/config:chromebook",
"//src/media/audio/config:chromebook",
]
board_core_realm_shards += [ "//src/power/thermd:thermd-core-shard" ]
# Partitions for fx flash to flash.
zircon_a_partition = "zircon_a"
zircon_b_partition = "zircon_b"
zircon_r_partition = "zircon_r"
vbmeta_a_partition = "vbmeta_a"
vbmeta_b_partition = "vbmeta_b"
vbmeta_r_partition = "vbmeta_r"
fvm_partition = "fvm"
# TODO(fxbug.dev/81718): don't hardcode slot d. We should instead hardcode
# slot a and have the bootloader translate correctly into the underlying
# chromebook partition.
active_partition = "d"
# TODO(fxbug.dev/78185): don't hardcode the expected size, we should instead
# inflate to whatever the FVM partition size is at runtime.
#
# For now just hardcode 16GiB which is the minimum FVM partition size defined
# in the chromebook-x64 paver:
# http://cs/fuchsia/src/storage/lib/paver/chromebook-x64.cc?l=124
#
# This also assumes we are not using raw NAND but that's a safer assumption.
# In this case "emmc" is a misnomer, it really just means "not raw NAND".
fvm_emmc_partition_size = 17179869184
# Depthcharge does not currently support FVM compression.
fvm_fastboot_compression = "none"
firmware_prebuilts = [
{
type = "ap"
path = "//prebuilt/third_party/firmware/atlas/fuchsia_image.dev.bin"
# TODO(fxbug.dev/83462): support flashing firmware over fastboot.
#partition = "bootloader"
},
]
images_config_label = "//boards/images:chromebook-x64"
zedboot_images_config_label = "//boards/images:zedboot_chromebook-x64"
partitions_config_label = "//boards/partitions:chromebook-x64"
partitions_config_contents +=
[ "//prebuilt/third_party/firmware/atlas/fuchsia_image.dev.bin" ]