Starting with Android R launched devices, debugfs cannot be mounted in production builds. In order to avoid accidental debugfs dependencies from creeping in during development with userdebug/eng builds, the build flag PRODUCT_SET_DEBUGFS_RESTRICTIONS can be set by vendors to enforce additional debugfs restrictions for userdebug/eng builds. The same flag will be used to enable sepolicy neveallow statements to prevent new permissions added for debugfs access. Test: build, boot Bug: 184381659 Change-Id: I45e6f20c886d467a215c9466f3a09965ff897d7e
365 lines
15 KiB
Makefile
365 lines
15 KiB
Makefile
#
|
|
# Copyright (C) 2024 The LineageOS Project
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
DEVICE_PATH := device/xiaomi/fleur
|
|
|
|
# Dalvik
|
|
$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
|
|
|
|
# Project ID Quota
|
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
|
|
|
|
# Inherit virtual_ab_ota product
|
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
|
|
|
|
# Inherit common MediaTek IMS
|
|
$(call inherit-product, vendor/mediatek/ims/ims.mk)
|
|
|
|
# Strip the local variable table and the local variable type table to reduce
|
|
# the size of the system image. This has no bearing on stack traces, but will
|
|
# leave less information available via JDWP.
|
|
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
|
|
|
|
# A/B
|
|
PRODUCT_PACKAGES += \
|
|
com.android.hardware.boot \
|
|
android.hardware.boot-service.default_recovery
|
|
|
|
PRODUCT_PACKAGES += \
|
|
create_pl_dev \
|
|
create_pl_dev.recovery
|
|
|
|
PRODUCT_PACKAGES += \
|
|
update_engine \
|
|
update_engine_sideload \
|
|
update_verifier
|
|
|
|
PRODUCT_PACKAGES_DEBUG += \
|
|
update_engine_client
|
|
|
|
AB_OTA_POSTINSTALL_CONFIG += \
|
|
RUN_POSTINSTALL_system=true \
|
|
POSTINSTALL_PATH_system=system/bin/otapreopt_script \
|
|
FILESYSTEM_TYPE_system=ext4 \
|
|
POSTINSTALL_OPTIONAL_system=true
|
|
|
|
PRODUCT_PACKAGES += \
|
|
otapreopt_script
|
|
|
|
# Boot animation
|
|
TARGET_SCREEN_HEIGHT := 2400
|
|
TARGET_SCREEN_WIDTH := 1080
|
|
|
|
# DebugFS
|
|
PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
|
|
|
|
# Dynamic Partitions
|
|
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
|
PRODUCT_BUILD_SUPER_PARTITION := false
|
|
|
|
# Sku properties
|
|
PRODUCT_COPY_FILES += \
|
|
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/sku/,$(TARGET_COPY_OUT_ODM)/etc)
|
|
|
|
# Shipping API level
|
|
PRODUCT_SHIPPING_API_LEVEL := 30
|
|
|
|
# Audio
|
|
TARGET_EXCLUDES_AUDIOFX := true
|
|
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.audio.service \
|
|
android.hardware.audio@7.0-impl:32 \
|
|
android.hardware.audio.effect@7.0-impl:32 \
|
|
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.bluetooth.audio-impl:32 \
|
|
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.soundtrigger@2.3-impl:32
|
|
|
|
PRODUCT_PACKAGES += \
|
|
audio.bluetooth.default:32 \
|
|
audio.usb.default:32 \
|
|
audio_policy.stub:32 \
|
|
audio.primary.default:64
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
|
|
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
$(call find-copy-subdir-files,*,$(DEVICE_PATH)/configs/audio/,$(TARGET_COPY_OUT_VENDOR)/etc) \
|
|
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
|
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
|
|
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
|
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
|
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
|
|
|
|
# Bluetooth
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.bluetooth-service.mediatek
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
|
|
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
|
|
|
|
# Camera
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
|
|
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
|
|
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
|
|
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml
|
|
|
|
# Configstore
|
|
PRODUCT_PACKAGES += \
|
|
disable_configstore
|
|
|
|
# Control groups/Task profiles
|
|
PRODUCT_COPY_FILES += \
|
|
system/core/libprocessgroup/profiles/cgroups.json:$(TARGET_COPY_OUT_VENDOR)/etc/cgroups.json \
|
|
system/core/libprocessgroup/profiles/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
|
|
|
|
# ConsumerIR
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.ir-service.example
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.consumerir.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.consumerir.xml
|
|
|
|
# Display
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.graphics.composer@2.3-service \
|
|
android.hardware.memtrack-service.mediatek-mali
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
$(LOCAL_PATH)/configs/display_id_4627039422300187648.xml:$(TARGET_COPY_OUT_VENDOR)/etc/displayconfig/display_id_4627039422300187648.xml
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
|
|
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
|
|
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \
|
|
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.xml \
|
|
frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
|
|
frameworks/native/data/etc/android.software.opengles.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
|
|
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
|
|
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \
|
|
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml
|
|
|
|
PRODUCT_AAPT_CONFIG := normal
|
|
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
|
|
|
|
# DRM
|
|
PRODUCT_PACKAGES += \
|
|
com.android.hardware.drm.clearkey
|
|
|
|
# Fastbootd
|
|
PRODUCT_PACKAGES += \
|
|
fastbootd
|
|
|
|
# Fingerprint
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.biometrics.fingerprint-service.xiaomi
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \
|
|
$(LOCAL_PATH)/configs/keylayout/uinput-fpc.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-fpc.kl \
|
|
$(LOCAL_PATH)/configs/keylayout/uinput-goodix.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-goodix.kl
|
|
|
|
# Gatekeeper
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.gatekeeper@1.0-impl \
|
|
android.hardware.gatekeeper@1.0-service
|
|
|
|
# GNSS
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
|
|
|
|
# Health
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.health-service.mediatek \
|
|
android.hardware.health-service.mediatek-recovery
|
|
|
|
# IFAA
|
|
PRODUCT_PACKAGES += \
|
|
IFAAService
|
|
|
|
# Init
|
|
PRODUCT_PACKAGES += \
|
|
init.connectivity.rc \
|
|
init.modem.rc \
|
|
init.mt6781.rc \
|
|
init.mt6781.power.rc \
|
|
init.mt6781.thermal.rc \
|
|
init.mt6781.usb.rc \
|
|
init.nfc.fleur.rc \
|
|
init.project.rc \
|
|
init.sensor_1_0.rc \
|
|
init.zram.rc \
|
|
init.recovery.mt6781.rc \
|
|
ueventd.mt6781.rc \
|
|
fstab.mt6781 \
|
|
fstab.mt6781.ramdisk \
|
|
fstab.zram
|
|
|
|
# Kernel
|
|
PRODUCT_ENABLE_UFFD_GC := true
|
|
|
|
# Keymaster
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.hardware_keystore.km41.xml
|
|
|
|
# Light
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.light-service.lineage
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml
|
|
|
|
# Media
|
|
PRODUCT_COPY_FILES += \
|
|
$(call find-copy-subdir-files,*,$(DEVICE_PATH)/configs/media,$(TARGET_COPY_OUT_VENDOR)/etc)
|
|
|
|
# NFC
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.nfc-service.st \
|
|
com.android.nfc_extras \
|
|
Tag
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
$(call find-copy-subdir-files,*,$(DEVICE_PATH)/configs/nfc,$(TARGET_COPY_OUT_VENDOR)/etc)
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleur/android.hardware.nfc.hcef.xml \
|
|
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleur/android.hardware.nfc.hce.xml \
|
|
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleur/android.hardware.nfc.uicc.xml \
|
|
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleur/android.hardware.nfc.xml \
|
|
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleur/android.hardware.se.omapi.uicc.xml
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleurp/android.hardware.nfc.hcef.xml \
|
|
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleurp/android.hardware.nfc.hce.xml \
|
|
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleurp/android.hardware.nfc.uicc.xml \
|
|
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleurp/android.hardware.nfc.xml \
|
|
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_fleurp/android.hardware.se.omapi.uicc.xml
|
|
|
|
# Overlays
|
|
PRODUCT_ENFORCE_RRO_TARGETS := *
|
|
|
|
PRODUCT_PACKAGES += \
|
|
FrameworkOverlayFleur \
|
|
TetheringConfigOverlay \
|
|
SettingsOverlayFleur \
|
|
SystemUIOverlayFleur \
|
|
WifiOverlay
|
|
|
|
PRODUCT_PACKAGES += \
|
|
NcmTetheringOverlay
|
|
|
|
DEVICE_PACKAGE_OVERLAYS += \
|
|
$(LOCAL_PATH)/overlay-lineage
|
|
|
|
# Permissions
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
|
|
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
|
|
|
|
# Power
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.power-service.pixel-libperfmgr \
|
|
vendor.mediatek.hardware.mtkpower@1.2-service.stub
|
|
|
|
PRODUCT_PACKAGES += \
|
|
libmtkperf_client_vendor
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
$(DEVICE_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
|
|
|
|
# Power-off Alarm
|
|
PRODUCT_PACKAGES += \
|
|
PowerOffAlarm
|
|
|
|
# Public Libraries
|
|
PRODUCT_COPY_FILES += \
|
|
$(DEVICE_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
|
|
|
|
# Radio
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.radio-service.compat
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
|
|
frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \
|
|
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
|
|
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml
|
|
|
|
# Sensors
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.sensors-service.xiaomi-multihal \
|
|
android.hardware.sensors@2.0-subhal-impl-1.0:64 \
|
|
sensors.dynamic_sensor_hal:64
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
$(DEVICE_PATH)/configs/hals.conf:$(TARGET_COPY_OUT_ODM)/etc/sensors/hals.conf \
|
|
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.dynamic.head_tracker.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.dynamic.head_tracker.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
|
|
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
|
|
|
|
# Thermal
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.thermal-service.mediatek
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
$(LOCAL_PATH)/configs/thermal_info_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
|
|
|
|
# Vibrator
|
|
PRODUCT_PACKAGES += \
|
|
vendor.qti.hardware.vibrator.service.fleur
|
|
|
|
# VINTF
|
|
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
|
|
|
|
# Soong namespaces
|
|
PRODUCT_SOONG_NAMESPACES += \
|
|
$(DEVICE_PATH) \
|
|
hardware/mediatek \
|
|
hardware/mediatek/libmtkperf_client \
|
|
hardware/xiaomi \
|
|
hardware/google/pixel \
|
|
hardware/google/interfaces
|
|
|
|
# USB
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.usb-service.mediatek \
|
|
android.hardware.usb.gadget-service.mediatek
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
|
|
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
|
|
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
|
|
|
|
# Wi-Fi
|
|
PRODUCT_PACKAGES += \
|
|
android.hardware.wifi-service \
|
|
wpa_supplicant \
|
|
hostapd \
|
|
libwifi-hal-wrapper:64
|
|
|
|
PRODUCT_COPY_FILES += \
|
|
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/wifi/,$(TARGET_COPY_OUT_VENDOR)/etc/wifi) \
|
|
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
|
|
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
|
|
frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \
|
|
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml
|
|
|
|
# Inherit the proprietary files
|
|
$(call inherit-product, vendor/xiaomi/fleur/fleur-vendor.mk)
|