• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2017 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
17# Enable updating of APEXes
18$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
19
20PRODUCT_COPY_FILES += device/google/cuttlefish_kernel/4.14-x86_64/kernel:kernel
21
22PRODUCT_SHIPPING_API_LEVEL := 29
23PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
24
25DISABLE_RILD_OEM_HOOK := true
26
27# Properties that are not vendor-specific. These will go in the product
28# partition, instead of the vendor partition, and do not need vendor
29# sepolicy
30PRODUCT_PRODUCT_PROPERTIES := \
31    persist.adb.tcp.port=5555 \
32    persist.traced.enable=1 \
33    persist.heapprofd.enable=1 \
34    ro.com.google.locationfeatures=1 \
35
36# Explanation of specific properties:
37#   debug.hwui.swap_with_damage avoids boot failure on M http://b/25152138
38#   ro.opengles.version OpenGLES 3.0
39PRODUCT_PROPERTY_OVERRIDES += \
40    tombstoned.max_tombstone_count=500 \
41    bt.rootcanal_test_console=off \
42    debug.hwui.swap_with_damage=0 \
43    ro.carrier=unknown \
44    ro.com.android.dataroaming=false \
45    ro.hardware.virtual_device=1 \
46    ro.logd.size=1M \
47    ro.opengles.version=196608 \
48    wifi.interface=wlan0 \
49
50# Below is a list of properties we probably should get rid of.
51PRODUCT_PROPERTY_OVERRIDES += \
52    wlan.driver.status=ok
53
54#
55# Packages for various cuttlefish-specific tests
56#
57PRODUCT_PACKAGES += \
58    vsoc_guest_region_e2e_test \
59    vsoc_managed_region_e2e_test \
60    vsoc_driver_test
61
62#
63# Packages for various GCE-specific utilities
64#
65PRODUCT_PACKAGES += \
66    audiotop \
67    dhcpcd_wlan0 \
68    gce_fs_monitor \
69    socket_forward_proxy \
70    socket_vsock_proxy \
71    usbforward \
72    VSoCService \
73    wpa_supplicant.vsoc.conf \
74    vsoc_input_service \
75    vport_trigger \
76    rename_netiface \
77    ip_link_add \
78    setup_wifi \
79    vsock_logcat \
80
81#
82# Packages for AOSP-available stuff we use from the framework
83#
84PRODUCT_PACKAGES += \
85    dhcpcd-6.8.2 \
86    dhcpcd-6.8.2.conf \
87    e2fsck \
88    ip \
89    network \
90    perf \
91    scp \
92    sleep \
93    tcpdump \
94    wpa_supplicant \
95    wificond \
96
97#
98# Packages for the OpenGL implementation
99#
100
101# SwiftShader provides a software-only implementation that is not thread-safe
102PRODUCT_PACKAGES += \
103    libEGL_swiftshader \
104    libGLESv1_CM_swiftshader \
105    libGLESv2_swiftshader
106
107DEVICE_PACKAGE_OVERLAYS := device/google/cuttlefish/shared/overlay
108PRODUCT_AAPT_CONFIG := normal large xlarge hdpi xhdpi
109# PRODUCT_AAPT_PREF_CONFIG is intentionally not set to pick up every density resources.
110
111#
112# General files
113#
114PRODUCT_COPY_FILES += \
115    device/google/cuttlefish/shared/config/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \
116    device/google/cuttlefish/shared/config/camera_v3.json:$(TARGET_COPY_OUT_VENDOR)/etc/config/camera.json \
117    device/google/cuttlefish/shared/config/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.common.rc \
118    device/google/cuttlefish/shared/config/init.cutf_ivsh.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.cutf_ivsh.rc \
119    device/google/cuttlefish/shared/config/init.cutf_cvm.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.cutf_cvm.rc \
120    device/google/cuttlefish/shared/config/init.product.rc:$(TARGET_COPY_OUT_PRODUCT)/etc/init/init.rc \
121    device/google/cuttlefish/shared/config/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
122    device/google/cuttlefish/shared/config/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
123    device/google/cuttlefish/shared/config/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
124    device/google/cuttlefish/shared/config/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
125    device/google/cuttlefish/shared/config/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
126    frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
127    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
128    frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
129    frameworks/av/services/audiopolicy/config/audio_policy_configuration_generic.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
130    frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
131    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
132    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
133    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
134    frameworks/av/services/audiopolicy/config/surround_sound_configuration_5_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/surround_sound_configuration_5_0.xml \
135    frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
136    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
137    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
138    frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \
139    frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
140    frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
141    frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \
142    frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
143    frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
144    frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
145    frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
146    frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
147    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
148    frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
149    frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
150    frameworks/native/data/etc/android.hardware.touchscreen.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.xml \
151    frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
152    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
153    frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
154    system/bt/vendor_libs/test_vendor_lib/data/controller_properties.json:vendor/etc/bluetooth/controller_properties.json \
155
156
157#
158# The fstab requires special handling. For system-as-root builds, we *must*
159# retrieve the vendor partition mount options from DTB, as system must be
160# "pristine" to support GSI. For builds with an initrd, we prefer not to
161# rely on DTB, and *must* retrieve the partition mount options from an fstab
162# in the initrd instead. (In either case, the fstab *must also* be installed to
163# /vendor/etc)
164#
165ifeq ($(TARGET_BUILD_SYSTEM_ROOT_IMAGE),true)
166PRODUCT_COPY_FILES += \
167    device/google/cuttlefish/shared/config/fstab.dtb:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.cutf_ivsh \
168    device/google/cuttlefish/shared/config/fstab.dtb:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.cutf_cvm \
169
170else ifeq ($(TARGET_USE_DYNAMIC_PARTITIONS),true)
171PRODUCT_COPY_FILES += \
172    device/google/cuttlefish/shared/config/fstab.initrd-dynamic-partitions:$(TARGET_COPY_OUT_RAMDISK)/fstab.cutf_ivsh \
173    device/google/cuttlefish/shared/config/fstab.initrd-dynamic-partitions:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.cutf_ivsh \
174    device/google/cuttlefish/shared/config/fstab.initrd-dynamic-partitions:$(TARGET_COPY_OUT_RAMDISK)/fstab.cutf_cvm \
175    device/google/cuttlefish/shared/config/fstab.initrd-dynamic-partitions:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.cutf_cvm \
176
177else
178PRODUCT_COPY_FILES += \
179    device/google/cuttlefish/shared/config/fstab.initrd:$(TARGET_COPY_OUT_RAMDISK)/fstab.cutf_ivsh \
180    device/google/cuttlefish/shared/config/fstab.initrd:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.cutf_ivsh \
181    device/google/cuttlefish/shared/config/fstab.initrd:$(TARGET_COPY_OUT_RAMDISK)/fstab.cutf_cvm \
182    device/google/cuttlefish/shared/config/fstab.initrd:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.cutf_cvm \
183
184endif
185
186
187#
188# USB Specific
189#
190PRODUCT_COPY_FILES += \
191    device/google/cuttlefish/shared/config/init.hardware.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.cutf_ivsh.usb.rc
192
193# Packages for HAL implementations
194
195#
196# Atrace HAL
197#
198PRODUCT_PACKAGES += \
199    android.hardware.atrace@1.0-service
200
201#
202# Authsecret HAL
203#
204PRODUCT_PACKAGES += \
205    android.hardware.authsecret@1.0-service
206
207#
208# Hardware Composer HAL
209#
210PRODUCT_PACKAGES += \
211    hwcomposer.drm_minigbm \
212    hwcomposer.cutf_ivsh \
213    hwcomposer.cutf_cvm \
214    hwcomposer-stats \
215    android.hardware.graphics.composer@2.1-impl \
216    android.hardware.graphics.composer@2.1-service
217
218#
219# Gralloc HAL
220#
221PRODUCT_PACKAGES += \
222    gralloc.minigbm \
223    gralloc.cutf \
224    android.hardware.graphics.mapper@2.0-impl-2.1 \
225    android.hardware.graphics.allocator@2.0-impl \
226    android.hardware.graphics.allocator@2.0-service
227
228#
229# Bluetooth HAL and Compatibility Bluetooth library (for older revs).
230#
231PRODUCT_PACKAGES += \
232    android.hardware.bluetooth@1.0-service.sim \
233    android.hardware.bluetooth.audio@2.0-impl
234
235#
236# Audio HAL
237#
238PRODUCT_PACKAGES += \
239    audio.primary.cutf \
240    audio.r_submix.default \
241    android.hardware.audio@5.0-impl:32 \
242    android.hardware.audio.effect@5.0-impl:32 \
243    android.hardware.audio@2.0-service \
244    android.hardware.soundtrigger@2.0-impl \
245
246#
247# Drm HAL
248#
249PRODUCT_PACKAGES += \
250    android.hardware.drm@1.2-service.clearkey
251
252#
253# Dumpstate HAL
254#
255PRODUCT_PACKAGES += \
256    android.hardware.dumpstate@1.0-service.cuttlefish
257
258#
259# Camera
260#
261PRODUCT_PACKAGES += \
262    camera.cutf \
263    camera.cutf.jpeg \
264    camera.device@3.2-impl \
265    android.hardware.camera.provider@2.4-impl \
266    android.hardware.camera.provider@2.4-service
267
268#
269# Gatekeeper
270#
271PRODUCT_PACKAGES += \
272    gatekeeper.cutf \
273    android.hardware.gatekeeper@1.0-impl \
274    android.hardware.gatekeeper@1.0-service
275
276#
277# GPS
278#
279PRODUCT_PACKAGES += \
280    android.hardware.gnss@2.0-service
281
282# Health
283PRODUCT_PACKAGES += \
284    android.hardware.health@2.0-service.cuttlefish
285
286# Health Storage
287PRODUCT_PACKAGES += \
288    android.hardware.health.storage@1.0-service.cuttlefish
289
290# Input Classifier HAL
291PRODUCT_PACKAGES += \
292    android.hardware.input.classifier@1.0-service.default
293
294#
295# Sensors
296#
297PRODUCT_PACKAGES += \
298    android.hardware.sensors@2.0-service.mock
299#
300# Thermal (mock)
301#
302PRODUCT_PACKAGES += \
303    android.hardware.thermal@2.0-service.mock
304
305#
306# Lights
307#
308PRODUCT_PACKAGES += \
309    lights.cutf \
310    android.hardware.light@2.0-impl \
311    android.hardware.light@2.0-service
312
313#
314# Keymaster HAL
315#
316PRODUCT_PACKAGES += \
317     android.hardware.keymaster@4.0-impl \
318     android.hardware.keymaster@4.0-service
319
320#
321# Power HAL
322#
323PRODUCT_PACKAGES += \
324    power.cutf \
325    android.hardware.power@1.0-impl \
326    android.hardware.power@1.0-service
327
328
329#
330# PowerStats HAL
331#
332PRODUCT_PACKAGES += \
333    android.hardware.power.stats@1.0-service.mock
334
335#
336# NeuralNetworks HAL
337#
338PRODUCT_PACKAGES += \
339    android.hardware.neuralnetworks@1.2-service-sample-all \
340    android.hardware.neuralnetworks@1.2-service-sample-float-fast \
341    android.hardware.neuralnetworks@1.2-service-sample-float-slow \
342    android.hardware.neuralnetworks@1.2-service-sample-minimal \
343    android.hardware.neuralnetworks@1.2-service-sample-quant
344
345#
346# USB
347PRODUCT_PACKAGES += \
348    android.hardware.usb@1.0-service
349
350# Vibrator HAL
351PRODUCT_PACKAGES += \
352    android.hardware.vibrator@1.3-service.example
353
354PRODUCT_PACKAGES += \
355    cuttlefish_dtb
356
357# WLAN driver configuration files
358PRODUCT_COPY_FILES += \
359    $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
360
361# Recovery mode
362ifneq ($(TARGET_NO_RECOVERY),true)
363
364PRODUCT_COPY_FILES += \
365    device/google/cuttlefish/shared/config/init.recovery.common.rc:recovery/root/init.recovery.common.rc \
366    device/google/cuttlefish/shared/config/init.recovery.cutf_ivsh.rc:recovery/root/init.recovery.cutf_ivsh.rc \
367    device/google/cuttlefish/shared/config/init.recovery.cutf_cvm.rc:recovery/root/init.recovery.cutf_cvm.rc \
368
369endif
370
371# Host packages to install
372PRODUCT_HOST_PACKAGES += socket_forward_proxy socket_vsock_proxy
373