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    toolbox \
70    toybox \
71    vdc \
72    vndservicemanager \
73    vold \
74
75# VINTF stuff for system and vendor (no product / odm / system_ext / etc.)
76PRODUCT_PACKAGES += \
77    system_compatibility_matrix.xml \
78    system_manifest.xml \
79    vendor_compatibility_matrix.xml \
80    vendor_manifest.xml \
81
82# Devices that inherit from build/make/target/product/base.mk always have
83# /system/system_ext/etc/vintf/manifest.xml generated. And build-time VINTF
84# checks assume that. Since we don't inherit from base.mk, add the dependency
85# here manually.
86PRODUCT_PACKAGES += \
87    system_ext_manifest.xml \
88
89# Skip VINTF checks for kernel configs
90PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
91
92# Ensure boringssl NIAP check won't reboot us
93PRODUCT_PACKAGES += \
94    com.android.conscrypt \
95    boringssl_self_test \
96
97# SELinux packages are added as dependencies of the selinux_policy
98# phony package.
99PRODUCT_PACKAGES += \
100    selinux_policy \
101
102PRODUCT_HOST_PACKAGES += \
103    adb \
104    e2fsdroid \
105    make_f2fs \
106    mke2fs \
107    sload_f2fs \
108    toybox \
109
110PRODUCT_PACKAGES += init.usb.rc init.usb.configfs.rc
111
112PRODUCT_FULL_TREBLE_OVERRIDE := true
113
114PRODUCT_COPY_FILES += \
115    device/generic/trusty/fstab.ranchu:root/fstab.qemu_trusty \
116    device/generic/trusty/init.qemu_trusty.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.qemu_trusty.rc \
117    device/generic/trusty/ueventd.qemu_trusty.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \
118    system/core/libprocessgroup/profiles/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json \
119
120PRODUCT_COPY_FILES += \
121    device/generic/goldfish/data/etc/config.ini:config.ini \
122    device/generic/trusty/advancedFeatures.ini:advancedFeatures.ini \
123
124# for Trusty
125$(call inherit-product, system/core/trusty/trusty-base.mk)
126$(call inherit-product, system/core/trusty/trusty-storage.mk)
127$(call inherit-product, system/core/trusty/trusty-test.mk)
128
129# Test Utilities
130PRODUCT_PACKAGES += \
131    binderRpcToTrustyTest \
132    tipc-test \
133    trusty-coverage-controller \
134    trusty-ut-ctrl \
135    trusty_stats_test \
136    VtsAidlKeyMintTargetTest \
137    VtsHalConfirmationUIV1_0TargetTest \
138    VtsHalGatekeeperTargetTest \
139    VtsHalGatekeeperV1_0TargetTest \
140    VtsHalKeymasterV3_0TargetTest \
141    VtsHalKeymasterV4_0TargetTest \
142    VtsHalRemotelyProvisionedComponentTargetTest \
143
144PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
145    ro.adb.secure=0