1#
2# Copyright (C) 2018-2019 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16# This file contains the definitions needed for a _really_ minimal system
17# image to be run under emulation under upstream QEMU (www.qemu.org), once
18# it supports a few Android virtual devices. Note that this is _not_ the
19# same as running under the Android emulator.
20
21$(call inherit-product, $(SRC_TARGET_DIR)/product/default_art_config.mk)
22$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
23
24$(call inherit-product, packages/modules/Virtualization/apex/product_packages.mk)
25
26PRODUCT_SOONG_NAMESPACES += device/generic/goldfish
27
28PRODUCT_PACKAGES += \
29    com.android.adbd \
30    com.android.virt \
31    adbd_system_api \
32    android.hardware.confirmationui@1.0-service.trusty \
33    android.hidl.allocator@1.0-service \
34    android.system.suspend-service \
35    apexd \
36    cgroups.json \
37    com.android.art \
38    com.android.i18n \
39    com.android.os.statsd \
40    com.android.runtime \
41    com.android.sdkext \
42    dhcpclient \
43    etc_hosts \
44    gatekeeperd \
45    hwservicemanager \
46    init_system \
47    init_vendor \
48    init.environ.rc \
49    keymaster_soft_wrapped_attestation_keys.xml \
50    keystore2 \
51    libandroid_servers \
52    libc.bootstrap \
53    libdl.bootstrap \
54    libdl_android.bootstrap \
55    libm.bootstrap \
56    linker \
57    linker64 \
58    logcat \
59    logd \
60    logwrapper \
61    mediaserver \
62    mdnsd \
63    odsign \
64    reboot \
65    securedpud \
66    servicemanager \
67    sh \
68    su \
69    system-build.prop \
70    toolbox \
71    toybox \
72    vdc \
73    vndservicemanager \
74    vold \
75
76# VINTF stuff for system and vendor (no product / odm / system_ext / etc.)
77PRODUCT_PACKAGES += \
78    system_compatibility_matrix.xml \
79    system_manifest.xml \
80    vendor_compatibility_matrix.xml \
81    vendor_manifest.xml \
82
83# Devices that inherit from build/make/target/product/base.mk always have
84# /system/system_ext/etc/vintf/manifest.xml generated. And build-time VINTF
85# checks assume that. Since we don't inherit from base.mk, add the dependency
86# here manually.
87PRODUCT_PACKAGES += \
88    system_ext_manifest.xml \
89
90# Skip VINTF checks for kernel configs
91PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
92
93# Ensure boringssl NIAP check won't reboot us
94PRODUCT_PACKAGES += \
95    com.android.conscrypt \
96    boringssl_self_test \
97
98# SELinux packages are added as dependencies of the selinux_policy
99# phony package.
100PRODUCT_PACKAGES += \
101    selinux_policy \
102
103PRODUCT_HOST_PACKAGES += \
104    adb \
105    e2fsdroid \
106    make_f2fs \
107    mke2fs \
108    sload_f2fs \
109    toybox \
110
111PRODUCT_PACKAGES += init.usb.rc init.usb.configfs.rc
112
113PRODUCT_FULL_TREBLE_OVERRIDE := true
114
115PRODUCT_COPY_FILES += \
116    device/generic/trusty/fstab.trusty:$(TARGET_COPY_OUT_RAMDISK)/fstab.qemu_trusty \
117    device/generic/trusty/fstab.trusty:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.qemu_trusty \
118    device/generic/trusty/init.qemu_trusty.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.qemu_trusty.rc \
119    device/generic/trusty/ueventd.qemu_trusty.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \
120    system/core/libprocessgroup/profiles/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json \
121
122PRODUCT_COPY_FILES += \
123    device/generic/goldfish/data/etc/config.ini:config.ini \
124    device/generic/trusty/advancedFeatures.ini:advancedFeatures.ini \
125
126# for Trusty
127$(call inherit-product, system/core/trusty/trusty-base.mk)
128$(call inherit-product, system/core/trusty/trusty-storage.mk)
129$(call inherit-product, system/core/trusty/trusty-test.mk)
130
131# Test Utilities
132PRODUCT_PACKAGES += \
133    binderRpcToTrustyTest \
134    tipc-test \
135    trusty-coverage-controller \
136    trusty-ut-ctrl \
137    trusty_stats_test \
138    VtsAidlKeyMintTargetTest \
139    VtsHalConfirmationUIV1_0TargetTest \
140    VtsHalGatekeeperTargetTest \
141    VtsHalGatekeeperV1_0TargetTest \
142    VtsHalKeymasterV3_0TargetTest \
143    VtsHalKeymasterV4_0TargetTest \
144    VtsHalRemotelyProvisionedComponentTargetTest \
145
146PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
147    ro.adb.secure=0