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 26 PRODUCT_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 38 PRODUCT_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. 83 PRODUCT_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 94 PRODUCT_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 100 PRODUCT_FULL_TREBLE_OVERRIDE := true 101 102 PRODUCT_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 107 PRODUCT_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) 112 ifeq ($(TARGET_CORE_JARS),) 113 $(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) 114 endif 115 116 # The order matters 117 PRODUCT_BOOT_JARS := \ 118 $(TARGET_CORE_JARS) \ 119 120 121 122 # The set of packages we want to force 'speed' compilation on. 123 PRODUCT_DEXPREOPT_SPEED_APPS := \ 124 125 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 126 ro.zygote=zygote32 127 PRODUCT_COPY_FILES += \ 128 system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc 129 130 PRODUCT_PROPERTY_OVERRIDES += \ 131 ro.carrier=unknown 132 133 $(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) 134 135