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
21PRODUCT_SOONG_NAMESPACES += device/generic/goldfish
22
23PRODUCT_PACKAGES += \
24    com.android.adbd \
25    adbd_system_api \
26    android.hardware.confirmationui@1.0-service.trusty \
27    android.hidl.allocator@1.0-service \
28    apexd \
29    com.android.art \
30    com.android.i18n \
31    com.android.runtime \
32    dhcpclient \
33    gatekeeperd \
34    hwservicemanager \
35    init_system \
36    init_vendor \
37    init.environ.rc \
38    libc.bootstrap \
39    libdl.bootstrap \
40    libdl_android.bootstrap \
41    libm.bootstrap \
42    linker \
43    linker64 \
44    linkerconfig \
45    logcat \
46    logd \
47    logwrapper \
48    mdnsd \
49    reboot \
50    servicemanager \
51    sh \
52    su \
53    toolbox \
54    toybox \
55    vndservicemanager \
56    vold \
57
58# VINTF stuff for system and vendor (no product / odm / system_ext / etc.)
59PRODUCT_PACKAGES += \
60    system_compatibility_matrix.xml \
61    system_manifest.xml \
62    vendor_compatibility_matrix.xml \
63    vendor_manifest.xml \
64
65# Devices that inherit from build/make/target/product/base.mk always have
66# /system/system_ext/etc/vintf/manifest.xml generated. And build-time VINTF
67# checks assume that. Since we don't inherit from base.mk, add the dependency
68# here manually.
69PRODUCT_PACKAGES += \
70    system_ext_manifest.xml \
71
72# Skip VINTF checks for kernel configs
73PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
74
75# Ensure boringssl NIAP check won't reboot us
76PRODUCT_PACKAGES += \
77    com.android.conscrypt \
78    boringssl_self_test \
79
80# SELinux packages are added as dependencies of the selinux_policy
81# phony package.
82PRODUCT_PACKAGES += \
83    selinux_policy \
84
85PRODUCT_HOST_PACKAGES += \
86    adb \
87    e2fsdroid \
88    make_f2fs \
89    mdnsd \
90    mke2fs \
91    sload_f2fs \
92    toybox \
93
94PRODUCT_COPY_FILES += \
95    system/core/rootdir/init.usb.rc:system/etc/init/hw/init.usb.rc \
96    system/core/rootdir/init.usb.configfs.rc:system/etc/init/hw/init.usb.configfs.rc \
97    system/core/rootdir/etc/hosts:system/etc/hosts \
98
99PRODUCT_FULL_TREBLE_OVERRIDE := true
100
101PRODUCT_COPY_FILES += \
102    device/generic/trusty/fstab.ranchu:root/fstab.qemu_trusty \
103    device/generic/trusty/init.qemu_trusty.rc:root/init.qemu_trusty.rc \
104    device/generic/trusty/ueventd.qemu_trusty.rc:root/ueventd.qemu_trusty.rc \
105
106PRODUCT_COPY_FILES += \
107    device/generic/goldfish/data/etc/config.ini:config.ini \
108    device/generic/trusty/advancedFeatures.ini:advancedFeatures.ini \
109
110# for Trusty
111$(call inherit-product, system/core/trusty/trusty-base.mk)
112$(call inherit-product, system/core/trusty/trusty-storage.mk)
113$(call inherit-product, system/core/trusty/trusty-test.mk)
114
115# Test Utilities
116PRODUCT_PACKAGES += \
117    tipc-test \
118    trusty-ut-ctrl \
119    VtsHalConfirmationUIV1_0TargetTest \
120    VtsHalGatekeeperV1_0TargetTest \
121    VtsHalKeymasterV3_0TargetTest \
122    VtsHalKeymasterV4_0TargetTest \
123
124PRODUCT_BOOT_JARS := \
125    $(ART_APEX_JARS) \
126    ext \
127    com.android.i18n:core-icu4j \
128    framework-minus-apex \
129    telephony-common \
130    voip-common \
131    ims-common \
132    android.test.base \
133
134PRODUCT_UPDATABLE_BOOT_JARS := \
135    com.android.conscrypt:conscrypt \
136    com.android.tethering:framework-tethering \
137
138