| # |
| # Copyright 2022 The Android Open-Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| # FIXME: Split up and merge back in with shared/BoardConfig.mk |
| |
| TARGET_KERNEL_USE ?= 6.1 |
| TARGET_KERNEL_ARCH ?= $(TARGET_ARCH) |
| TARGET_KERNEL_PATH ?= kernel/prebuilts/$(TARGET_KERNEL_USE)/$(TARGET_KERNEL_ARCH)/kernel-$(TARGET_KERNEL_USE) |
| KERNEL_MODULES_PATH ?= \ |
| kernel/prebuilts/common-modules/virtual-device/$(TARGET_KERNEL_USE)/$(subst _,-,$(TARGET_KERNEL_ARCH)) |
| PRODUCT_COPY_FILES += $(TARGET_KERNEL_PATH):kernel |
| |
| # The list of modules strictly/only required either to reach second stage |
| # init, OR for recovery. Do not use this list to workaround second stage |
| # issues. |
| RAMDISK_KERNEL_MODULES := \ |
| failover.ko \ |
| net_failover.ko \ |
| virtio_blk.ko \ |
| virtio_console.ko \ |
| virtio_net.ko \ |
| virtio_pci.ko \ |
| virtio_pci_modern_dev.ko \ |
| virtio-rng.ko \ |
| vmw_vsock_virtio_transport.ko \ |
| |
| BOARD_VENDOR_RAMDISK_KERNEL_MODULES := \ |
| $(patsubst %,$(KERNEL_MODULES_PATH)/%,$(RAMDISK_KERNEL_MODULES)) |
| |
| # GKI >5.15 will have and require virtio_pci_legacy_dev.ko |
| BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(wildcard $(KERNEL_MODULES_PATH)/virtio_pci_legacy_dev.ko) |
| # GKI >6.4 will have an required vmw_vsock_virtio_transport_common.ko and vsock.ko |
| BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \ |
| $(wildcard $(KERNEL_MODULES_PATH)/vmw_vsock_virtio_transport_common.ko) \ |
| $(wildcard $(KERNEL_MODULES_PATH)/vsock.ko) |
| |
| TARGET_NO_RECOVERY := true |
| |
| BOARD_VENDOR_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := \ |
| device/google/cuttlefish/shared/modules.blocklist |
| |
| TARGET_BOOTLOADER_BOARD_NAME := cutf |
| |
| BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 |
| BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 |
| |
| # Disable sparse on all filesystem images |
| # This will prevent sparsing of super.img |
| TARGET_USERIMAGES_SPARSE_EROFS_DISABLED ?= true |
| TARGET_USERIMAGES_SPARSE_EXT_DISABLED ?= true |
| TARGET_USERIMAGES_SPARSE_F2FS_DISABLED ?= true |
| |
| # FIXME: Not needed for minidroid, but needs fixes to CF assembler |
| BOARD_USERDATAIMAGE_PARTITION_SIZE := 67108864 |
| BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 |
| TARGET_USERIMAGES_USE_EXT4 := true |
| |
| BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864 |
| BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 8388608 |
| BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 67108864 |
| |
| BOARD_AVB_ENABLE := true |
| BOARD_AVB_ALGORITHM := SHA256_RSA4096 |
| BOARD_AVB_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem |
| |
| BOARD_AVB_VBMETA_SYSTEM := system |
| BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem |
| BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096 |
| BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) |
| BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 |
| |
| BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem |
| BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096 |
| BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) |
| BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2 |
| |
| BOARD_AVB_INIT_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem |
| BOARD_AVB_INIT_BOOT_ALGORITHM := SHA256_RSA4096 |
| BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) |
| BOARD_AVB_INIT_BOOT_ROLLBACK_INDEX_LOCATION := 3 |
| |
| TARGET_AVB_SYSTEM_HASHTREE_ALGORITHM ?= sha256 |
| BOARD_AVB_SYSTEM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm $(TARGET_AVB_SYSTEM_HASHTREE_ALGORITHM) |
| |
| BOARD_MALLOC_ALIGNMENT := 16 |
| |
| BOARD_USES_GENERIC_KERNEL_IMAGE := true |
| |
| PRODUCT_COPY_FILES += \ |
| device/google/cuttlefish/dtb.img:dtb.img \ |
| device/google/cuttlefish/required_images:required_images \ |
| |
| BOARD_BOOTLOADER_IN_UPDATE_PACKAGE := true |
| BOARD_RAMDISK_USE_LZ4 := true |
| |
| # Default to minidroid, if not set. |
| LOCAL_ANDROIDBOOT_HARDWARE ?= minidroid |
| # Default to minidroid's primary init .rc, if not set. |
| LOCAL_ANDROIDBOOT_INIT_RC ?= /system/etc/init/hw/init.minidroid.rc |
| |
| BOARD_KERNEL_CMDLINE += printk.devkmsg=on |
| BOARD_KERNEL_CMDLINE += audit=1 |
| BOARD_KERNEL_CMDLINE += panic=-1 |
| BOARD_KERNEL_CMDLINE += 8250.nr_uarts=1 |
| BOARD_KERNEL_CMDLINE += cma=0 |
| BOARD_KERNEL_CMDLINE += firmware_class.path=/vendor/etc/ |
| BOARD_KERNEL_CMDLINE += loop.max_part=7 |
| BOARD_KERNEL_CMDLINE += init=/init |
| BOARD_BOOTCONFIG += androidboot.hardware=$(LOCAL_ANDROIDBOOT_HARDWARE) |
| BOARD_BOOTCONFIG += \ |
| androidboot.init_rc=$(LOCAL_ANDROIDBOOT_INIT_RC) |
| BOARD_BOOTCONFIG += kernel.mac80211_hwsim.radios=0 |
| BOARD_BOOTCONFIG += \ |
| kernel.vmw_vsock_virtio_transport_common.virtio_transport_max_vsock_pkt_buf_size=16384 |
| BOARD_BOOTCONFIG += \ |
| androidboot.microdroid.debuggable=1 \ |
| androidboot.adb.enabled=1 |
| |
| BOARD_INCLUDE_DTB_IN_BOOTIMG := true |
| BOARD_BOOT_HEADER_VERSION := 4 |
| BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) |
| BOARD_INIT_BOOT_HEADER_VERSION := 4 |
| BOARD_MKBOOTIMG_INIT_ARGS += --header_version $(BOARD_INIT_BOOT_HEADER_VERSION) |
| |
| BOARD_GOOGLE_SYSTEM_DYNAMIC_PARTITIONS_PARTITION_LIST := system vendor |
| # reserve 256MiB for dynamic partition metadata |
| BOARD_GOOGLE_SYSTEM_DYNAMIC_PARTITIONS_SIZE := 268435456 |
| |
| # 1MiB bigger than the dynamic partition to make build happy... |
| BOARD_SUPER_PARTITION_SIZE := 269484032 |
| BOARD_SUPER_PARTITION_GROUPS := google_system_dynamic_partitions |
| BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT := true |
| BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE := true |
| |
| TARGET_SKIP_OTA_PACKAGE := true |
| TARGET_SKIP_OTATOOLS_PACKAGE := true |
| |
| BOARD_VENDOR_SEPOLICY_DIRS += device/google/cuttlefish/shared/sepolicy/vendor/seriallogging |