diff --git a/BoardConfig.mk b/BoardConfig.mk index f3cdec3..2ca7efc 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -21,13 +21,18 @@ TARGET_CPU_VARIANT_RUNTIME := kryo300 # Board TARGET_BOARD_INFO_FILE := $(DEVICE_PATH)/board-info.txt +# Boot +BOARD_BOOT_HEADER_VERSION := 4 +BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) +BOARD_RAMDISK_USE_LZ4 := true + # Bootloader TARGET_BOOTLOADER_BOARD_NAME := pineapple TARGET_NO_BOOTLOADER := true # Display TARGET_SCREEN_DENSITY := 450 -TARGET_USES_VULKAN := true +TARGET_GRALLOC_HANDLE_HAS_UBWCP_FORMAT = true # DTB / DTBO BOARD_INCLUDE_DTB_IN_BOOTIMG := true @@ -72,16 +77,16 @@ TARGET_KERNEL_CONFIG := \ oem/e3q-lego.config # Kernel modules -BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.system_dlkm)) -BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(DEVICE_PATH)/modules/modules.blocklist -BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load)) +BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.system_dlkm)) +BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(DEVICE_PATH)/modules.blocklist +BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load)) BOARD_VENDOR_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE) -BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.vendor_boot)) -BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.recovery)) -BOOT_KERNEL_MODULES := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.recovery $(DEVICE_PATH)/modules/modules.include.vendor_ramdisk)) -SYSTEM_KERNEL_MODULES := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.include.system_dlkm)) -BOARD_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.recovery)) -BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules/modules.load.recovery)) +BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.vendor_boot)) +BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery)) +BOOT_KERNEL_MODULES := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery $(DEVICE_PATH)/modules.include.vendor_ramdisk)) +SYSTEM_KERNEL_MODULES := $(strip $(shell cat $(DEVICE_PATH)/modules.include.system_dlkm)) +BOARD_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery)) +BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery)) RECOVERY_KERNEL_MODULES := $(BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD) TARGET_KERNEL_EXT_MODULE_ROOT := kernel/samsung/sm8650-modules @@ -183,6 +188,9 @@ BOARD_RECOVERY_MKBOOTIMG_ARGS := --header_version 2 TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 TARGET_USERIMAGES_USE_F2FS := true +# Releasetools +TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH) + # Security patch level VENDOR_SECURITY_PATCH := 2024-10-01 diff --git a/configs/vintf/compatibility_matrix.device.xml b/configs/vintf/compatibility_matrix.device.xml index 063ae0f..aee417d 100644 --- a/configs/vintf/compatibility_matrix.device.xml +++ b/configs/vintf/compatibility_matrix.device.xml @@ -31,6 +31,7 @@ Changes from Qualcomm Innovation Center are provided under the following license Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear. --> + vendor.qti.hardware.scve.panorama @@ -479,7 +480,7 @@ SPDX-License-Identifier: BSD-3-Clause-Clear. vendor.qti.hardware.radio.ims - 1-15 + 1-16 IImsRadio imsradio0 @@ -559,7 +560,7 @@ SPDX-License-Identifier: BSD-3-Clause-Clear. vendor.qti.hardware.radio.qtiradioconfig - 1-4 + 1-6 IQtiRadioConfig default @@ -980,7 +981,7 @@ SPDX-License-Identifier: BSD-3-Clause-Clear. - + vendor.qti.hardware.display.allocator 1.0 @@ -1000,6 +1001,14 @@ SPDX-License-Identifier: BSD-3-Clause-Clear. default + + android.hardware.graphics.allocator + 1 + + IAllocator + default + + vendor.qti.hardware.display.mapper 2.0 @@ -1022,14 +1031,14 @@ SPDX-License-Identifier: BSD-3-Clause-Clear. - + vendor.qti.qspmhal @@ -1359,7 +1368,7 @@ SPDX-License-Identifier: BSD-3-Clause-Clear. vendor.qti.hardware.ListenSoundModel hwbinder - 1.0 + 1.0-2 IListenSoundModel default diff --git a/configs/vintf/compatibility_matrix.samsung.xml b/configs/vintf/compatibility_matrix.samsung.xml index d688cd8..1258da7 100644 --- a/configs/vintf/compatibility_matrix.samsung.xml +++ b/configs/vintf/compatibility_matrix.samsung.xml @@ -279,4 +279,12 @@ SPDX-License-Identifier: Apache-2.0 default + diff --git a/configs/vintf/compatibility_matrix.xml b/configs/vintf/compatibility_matrix.xml index c0c43f7..3761397 100644 --- a/configs/vintf/compatibility_matrix.xml +++ b/configs/vintf/compatibility_matrix.xml @@ -34,6 +34,14 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. default + + android.hidl.allocator + 1.0 + + IAllocator + ashmem + + android.hidl.manager 1.0 diff --git a/configs/vintf/manifest_pineapple.xml b/configs/vintf/manifest_pineapple.xml index ec4438a..025b499 100644 --- a/configs/vintf/manifest_pineapple.xml +++ b/configs/vintf/manifest_pineapple.xml @@ -78,11 +78,32 @@ SPDX-License-Identifier: BSD-3-Clause-Clear default - + + + + + + + com.qualcomm.qti.dpm.api + hwbinder + 1.0 + + IdpmQmi + dpmQmiService + + @@ -249,7 +270,7 @@ SPDX-License-Identifier: BSD-3-Clause-Clear default - + diff --git a/device.mk b/device.mk index 1af272f..2dfe417 100644 --- a/device.mk +++ b/device.mk @@ -4,23 +4,32 @@ # SPDX-License-Identifier: Apache-2.0 # +# Enable project quotas and casefolding for emulated storage without sdcardfs +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) + +# Enforce generic ramdisk allow list +$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk) + +# Dalvik +$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk) + # Enable updating of APEXes $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) +# Add common definitions for Qualcomm +$(call inherit-product, hardware/qcom-caf/common/common.mk) + # API levels PRODUCT_SHIPPING_API_LEVEL := 34 +# DebugFS +PRODUCT_SET_DEBUGFS_RESTRICTIONS := true + # fastbootd PRODUCT_PACKAGES += \ android.hardware.fastboot@1.1-impl-mock \ fastbootd -# Health -PRODUCT_PACKAGES += \ - android.hardware.health@2.1-impl \ - android.hardware.health@2.1-impl.recovery \ - android.hardware.health@2.1-service - # Overlays PRODUCT_ENFORCE_RRO_TARGETS := * @@ -88,11 +97,14 @@ PRODUCT_PACKAGES += \ init.recovery.samsung.rc \ PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_RAMDISK)/fstab.qcom + $(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.qcom # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ - $(LOCAL_PATH) + $(LOCAL_PATH) \ + hardware/samsung \ + kernel/samsung/sm8650 \ + kernel/samsung/sm8650-modules # Inherit the proprietary files $(call inherit-product, vendor/samsung/e3q/e3q-vendor.mk) diff --git a/modules/modules.blocklist b/modules.blocklist similarity index 100% rename from modules/modules.blocklist rename to modules.blocklist diff --git a/modules/modules.include.system_dlkm b/modules.include.system_dlkm similarity index 100% rename from modules/modules.include.system_dlkm rename to modules.include.system_dlkm diff --git a/modules/modules.include.vendor_ramdisk b/modules.include.vendor_ramdisk similarity index 100% rename from modules/modules.include.vendor_ramdisk rename to modules.include.vendor_ramdisk diff --git a/modules/modules.load b/modules.load similarity index 100% rename from modules/modules.load rename to modules.load diff --git a/modules/modules.load.recovery b/modules.load.recovery similarity index 100% rename from modules/modules.load.recovery rename to modules.load.recovery diff --git a/modules/modules.load.system_dlkm b/modules.load.system_dlkm similarity index 100% rename from modules/modules.load.system_dlkm rename to modules.load.system_dlkm diff --git a/modules/modules.load.vendor_boot b/modules.load.vendor_boot similarity index 100% rename from modules/modules.load.vendor_boot rename to modules.load.vendor_boot diff --git a/proprietary-files.txt b/proprietary-files.txt index 431d929..00dce6c 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -759,7 +759,6 @@ vendor/lib64/vendor.qti.hardware.dpmservice@1.0.so vendor/lib64/vendor.qti.hardware.dpmservice@1.1.so # DRM -vendor/apex/com.google.android.widevine.nonupdatable.apex vendor/bin/hw/android.hardware.drm-service.clearkey vendor/etc/init/android.hardware.drm-service.clearkey.rc vendor/lib64/mediacas/libclearkeycasplugin.so @@ -1170,7 +1169,7 @@ vendor/bin/hw/android.hardware.security.keymint-service vendor/bin/hw/android.hardware.security.keymint-service-spu-qti vendor/etc/init/android.hardware.security.keymint-service-spu-qti.rc vendor/etc/init/android.hardware.security.keymint-service.rc -vendor/etc/vintf/manifest/android.hardware.security.keymint-service-spu-qti.xml +#vendor/etc/vintf/manifest/android.hardware.security.keymint-service-spu-qti.xml vendor/lib64/libcppbor_external.so vendor/lib64/libhermes_cred.so vendor/lib64/libkeymaster4_1support.so @@ -1312,9 +1311,6 @@ vendor/bin/hostapd_cli vendor/bin/wpa_cli vendor/etc/init/android.hardware.wifi-service.rc vendor/etc/init/android.hardware.wifi.supplicant-service.rc -vendor/etc/vintf/manifest/android.hardware.wifi-service.xml -vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml -vendor/etc/vintf/manifest/android.hardware.wifi.supplicant.xml vendor/lib64/libkeystore-engine-wifi-hidl.so vendor/lib64/libkeystore-wifi-hidl.so vendor/lib64/libpasn.so @@ -1600,7 +1596,6 @@ vendor/etc/init/init.audio.samsung.rc vendor/etc/init/init.embmssl_server.rc vendor/etc/init/init.fingerprint.rc vendor/etc/init/init.nfc.samsung.rc -vendor/etc/init/init.qccvendor.rc vendor/etc/init/init.qlm-service.rc vendor/etc/init/init.qti.fm.rc vendor/etc/init/init.qti.media.rc @@ -1846,17 +1841,13 @@ vendor/etc/vintf/manifest/face-default-sec.xml vendor/etc/vintf/manifest/hyper-default-sec.xml vendor/etc/vintf/manifest/iweaver_aidl_v2_manifest.xml vendor/etc/vintf/manifest/khdm-default-sec.xml -vendor/etc/vintf/manifest/lights-default-sec.xml vendor/etc/vintf/manifest/manifest_non_qmaa.xml vendor/etc/vintf/manifest/manifest_non_qmaa_extn.xml vendor/etc/vintf/manifest/memtrack_qti.xml vendor/etc/vintf/manifest/mpos-default-sec.xml -vendor/etc/vintf/manifest/mppserver.xml -vendor/etc/vintf/manifest/nfc-service-nxp.xml vendor/etc/vintf/manifest/power-samsung.xml vendor/etc/vintf/manifest/qms-saidl.xml vendor/etc/vintf/manifest/sec_c2_manifest_default0_1_2.xml -vendor/etc/vintf/manifest/secure_element-service-nxp.xml vendor/etc/vintf/manifest/vendor.qti.camera.aon-impl.xml vendor/etc/vintf/manifest/vendor.qti.camera.offlinecamera-impl.xml vendor/etc/vintf/manifest/vendor.qti.camera.postproc-impl.xml @@ -1867,13 +1858,11 @@ vendor/etc/vintf/manifest/vendor.samsung.hardware.authfw-manifest.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.biometrics.fingerprint-service.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.camera.provider-service.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.frcmc-service.xml -vendor/etc/vintf/manifest/vendor.samsung.hardware.health-service.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.radio.exclude.qcom.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.radio_manifest_2_34.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.security.engmode-manifest.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.security.fkeymaster-service.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.security.hdcp.keyprovisioning-default.xml -vendor/etc/vintf/manifest/vendor.samsung.hardware.security.hdcp.wifidisplay-default.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.security.hermes.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.security.rtts-manifest.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.security.sem@1.0-manifest.xml @@ -1882,8 +1871,6 @@ vendor/etc/vintf/manifest/vendor.samsung.hardware.security.vaultkeeper-manifest. vendor/etc/vintf/manifest/vendor.samsung.hardware.security.widevine.keyprov-service.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.security.wsm.service-manifest.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.sehradio_manifest_2_34.xml -vendor/etc/vintf/manifest/vendor.samsung.hardware.snap-default.xml -vendor/etc/vintf/manifest/vendor.samsung.hardware.sysinput-default.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.thermal-default.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.tlc.ddar-default.xml vendor/etc/vintf/manifest/vendor.samsung.hardware.tlc.iccc@1.0-manifest.xml @@ -1927,7 +1914,6 @@ vendor/etc/libuwb-countrycode.conf vendor/etc/libuwb-feature.conf vendor/etc/libuwb-nxp.conf vendor/etc/libuwb-uci.conf -vendor/etc/linker.config.pb vendor/etc/mem_logger_config.xml vendor/etc/mercury.json vendor/etc/mercury_hv.json diff --git a/releasetools.py b/releasetools.py new file mode 100644 index 0000000..08c6d9f --- /dev/null +++ b/releasetools.py @@ -0,0 +1,44 @@ +# Copyright (C) 2009 The Android Open Source Project +# Copyright (c) 2011, The Linux Foundation. All rights reserved. +# Copyright (C) 2017-2018 The LineageOS Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import common +import re + +def FullOTA_InstallEnd(info): + OTA_InstallEnd(info) + return + +def IncrementalOTA_InstallEnd(info): + OTA_InstallEnd(info) + return + +def AddImage(info, basename, dest): + path = "IMAGES/" + basename + if path not in info.input_zip.namelist(): + return + + data = info.input_zip.read(path) + common.ZipWriteStr(info.output_zip, basename, data) + info.script.AppendExtra('package_extract_file("%s", "%s");' % (basename, dest)) + +def OTA_InstallEnd(info): + info.script.Print("Patching firmware images...") + AddImage(info, "dtbo.img", "/dev/block/bootdevice/by-name/dtbo") + AddImage(info, "init_boot.img", "/dev/block/bootdevice/by-name/init_boot") + AddImage(info, "vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta") + AddImage(info, "vbmeta_system.img", "/dev/block/bootdevice/by-name/vbmeta_system") + AddImage(info, "vendor_boot.img", "/dev/block/bootdevice/by-name/vendor_boot") + return diff --git a/rootdir/etc/fstab.qcom b/rootdir/etc/fstab.qcom index 1a6f1c1..85c1901 100644 --- a/rootdir/etc/fstab.qcom +++ b/rootdir/etc/fstab.qcom @@ -52,6 +52,8 @@ odm /odm e /dev/block/bootdevice/by-name/efs /mnt/vendor/efs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check /dev/block/bootdevice/by-name/sec_efs /efs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check /dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait +/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults,first_stage_mount +/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults,first_stage_mount /dev/block/bootdevice/by-name/vendor_boot /vendor_boot emmc defaults defaults,first_stage_mount /dev/block/bootdevice/by-name/init_boot /init_boot emmc defaults defaults,first_stage_mount /dev/block/bootdevice/by-name/vm-bootsys /product/vm-system ext4 ro,nosuid,nodev,barrier=1 defaults diff --git a/rootdir/etc/init.e3q.rc b/rootdir/etc/init.e3q.rc index bcefbe2..95a02b9 100644 --- a/rootdir/etc/init.e3q.rc +++ b/rootdir/etc/init.e3q.rc @@ -38,13 +38,6 @@ on post-fs on late-fs on post-fs-data -# Samsung Pay - mkdir /efs/pfw_data 0760 vendor_spay vendor_spay - -# MST/NFC Switch - chown vendor_spay system /dev/mst_ctrl - chmod 0660 /dev/mst_ctrl - #mAFPC mkdir /efs/afc 0760 system system exec - system system -- /system/bin/mafpc_write diff --git a/rootdir/etc/init.samsung.rc b/rootdir/etc/init.samsung.rc index 3dc864a..f301066 100644 --- a/rootdir/etc/init.samsung.rc +++ b/rootdir/etc/init.samsung.rc @@ -114,11 +114,3 @@ service factory_ssc /vendor/bin/factory.ssc on property:sys.boot_completed=1 setprop ro.factory.sensor.delay.init 1 - -on property:sys.dexopt.ctrl=true - setprop dalvik.vm.dex2oat-cpu-set "0,1,5,6" - setprop dalvik.vm.dex2oat-threads 4 - -on property:sys.dexopt.ctrl=false - setprop dalvik.vm.dex2oat-cpu-set "" - set_dex2oat_threads ctrl