1# 2# Copyright (C) 2014 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# This should only contain what's necessary to boot the system, support 22# ADB, and allow running command-line executable compiled against the 23# following NDK libraries: libc, libm, libstdc++, libdl, liblog 24 25# Host modules 26PRODUCT_HOST_PACKAGES += \ 27 adb \ 28 e2fsck \ 29 mke2fs \ 30 toybox \ 31 tzdata_host \ 32 tzdata_host_runtime_apex \ 33 tzlookup.xml_host_runtime_apex \ 34 tz_version_host \ 35 tz_version_host_runtime_apex \ 36 37# Device modules 38PRODUCT_PACKAGES += \ 39 adbd \ 40 bootanimation \ 41 debuggerd \ 42 debuggerd64 \ 43 dumpstate \ 44 dumpsys \ 45 e2fsck \ 46 gzip \ 47 healthd \ 48 init \ 49 init.environ.rc \ 50 init.rc \ 51 libbinder \ 52 libc \ 53 libctest \ 54 libcutils \ 55 libdl \ 56 libhardware \ 57 libhardware_legacy \ 58 liblog \ 59 libm \ 60 libstdc++ \ 61 libsysutils \ 62 libutils \ 63 linker \ 64 linker64 \ 65 logcat \ 66 logd \ 67 logwrapper \ 68 mkshrc \ 69 qemu-props \ 70 reboot \ 71 service \ 72 servicemanager \ 73 hwservicemanager \ 74 vndservice \ 75 vndservicemanager \ 76 sh \ 77 toolbox \ 78 toybox \ 79 vold 80 81# SELinux packages are added as dependencies of the selinux_policy 82# phony package. 83PRODUCT_PACKAGES += \ 84 selinux_policy \ 85 86# SELinux packages 87#PRODUCT_PACKAGES += \ 88# sepolicy \ 89# file_contexts \ 90# seapp_contexts \ 91# property_contexts \ 92# mac_permissions.xml \ 93 94PRODUCT_COPY_FILES += \ 95 system/core/rootdir/init.usb.rc:root/init.usb.rc \ 96 system/core/rootdir/init.usb.configfs.rc:root/init.usb.configfs.rc \ 97 system/core/rootdir/ueventd.rc:root/ueventd.rc \ 98 system/core/rootdir/etc/hosts:system/etc/hosts \ 99 100PRODUCT_FULL_TREBLE_OVERRIDE := true 101 102PRODUCT_COPY_FILES += \ 103 device/generic/qemu/fstab.ranchu:root/fstab.ranchu \ 104 device/generic/qemu/init.ranchu.rc:root/init.ranchu.rc \ 105 device/generic/qemu/ueventd.ranchu.rc:root/ueventd.ranchu.rc \ 106 107PRODUCT_COPY_FILES += \ 108 device/generic/goldfish/data/etc/config.ini:config.ini \ 109 device/generic/qemu/advancedFeatures.ini:advancedFeatures.ini \ 110 111#$(call inherit-product, $(SRC_TARGET_DIR)/product/core_tiny.mk) 112ifeq ($(TARGET_CORE_JARS),) 113$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) 114endif 115 116# The order matters 117PRODUCT_BOOT_JARS := \ 118 $(TARGET_CORE_JARS) \ 119 120 121 122# The set of packages we want to force 'speed' compilation on. 123PRODUCT_DEXPREOPT_SPEED_APPS := \ 124 125PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 126 ro.zygote=zygote32 127PRODUCT_COPY_FILES += \ 128 system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc 129 130PRODUCT_PROPERTY_OVERRIDES += \ 131 ro.carrier=unknown 132 133$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) 134 135