diff --git a/BoardConfig.mk b/BoardConfig.mk index 7c8ccf1..4a17954 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -6,17 +6,17 @@ # DEVICE_PATH := device/mobvoi/ricefish +PLATFORM_PATH := device/mobvoi/ricefish # For building with minimal manifest +LC_ALL=C ALLOW_MISSING_DEPENDENCIES := true # Architecture TARGET_ARCH := arm TARGET_ARCH_VARIANT := armv7-a-neon -TARGET_CPU_ABI := armeabi-v7a -TARGET_CPU_ABI2 := armeabi -TARGET_CPU_VARIANT := generic -TARGET_CPU_VARIANT_RUNTIME := generic +TARGET_CPU_ABI := armeabi +TARGET_CPU_VARIANT := cortex-a15 TARGET_USES_64_BIT_BINDER := true @@ -24,8 +24,10 @@ TARGET_USES_64_BIT_BINDER := true OVERRIDE_TARGET_FLATTEN_APEX := true # Bootloader -TARGET_BOOTLOADER_BOARD_NAME := ricefish TARGET_NO_BOOTLOADER := true +TARGET_BOOTLOADER_BOARD_NAME := MSM8937 +TARGET_BOARD_PLATFORM := msm8937 +TARGET_BOARD_PLATFORM_GPU := qcom-adreno505 # Display TARGET_SCREEN_DENSITY := 280 @@ -64,8 +66,16 @@ BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 TARGET_COPY_OUT_VENDOR := vendor -# Platform -TARGET_BOARD_PLATFORM := msm8937 +# Fstab +TARGET_RECOVERY_FSTAB := $(PLATFORM_PATH)/recovery.fstab + +# Init +TARGET_INIT_VENDOR_LIB := libinit_ricefish +TARGET_RECOVERY_DEVICE_MODULES := libinit_ricefish +TARGET_PLATFORM_DEVICE_BASE := /devices/soc/ + +# QCOM Stuff +BOARD_USES_QCOM_HARDWARE := true # Recovery BOARD_INCLUDE_RECOVERY_DTBO := true @@ -88,9 +98,41 @@ PLATFORM_SECURITY_PATCH := 2099-12-31 VENDOR_SECURITY_PATCH := 2099-12-31 PLATFORM_VERSION := 16.1.0 -# TWRP Configuration -TW_THEME := portrait_hdpi +# Crypto +TW_INCLUDE_CRYPTO := true +TW_INCLUDE_CRYPTO_FBE := true +TW_INCLUDE_FBE_METADATA_DECRYPT := true +BOARD_USES_METADATA_PARTITION := true + +# TWRP Stuff +BOARD_HAS_LARGE_FILESYSTEM := true +TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888" +# TW_ROUND_SCREEN := true +TW_THEME := watch_mdpi +TW_USE_TOOLBOX := true +HAVE_SELINUX := true +RECOVERY_SDCARD_ON_DATA := true +TARGET_RECOVERY_QCOM_RTC_FIX := true +TW_BRIGHTNESS_PATH := "/sys/class/leds/lcd-backlight/brightness" +TW_NO_LEGACY_PROPS := true TW_EXTRA_LANGUAGES := true -TW_SCREEN_BLANK_ON_BOOT := true +TW_INCLUDE_NTFS_3G := true +TW_SCREEN_BLANK_ON_BOOT := false +TWRP_INCLUDE_LOGCAT := true +TW_HAS_EDL_MODE := true +TW_EXCLUDE_TWRPAPP := true +TARGET_USES_LOGD := true +TW_NO_USB_STORAGE := true +TW_EXCLUDE_DEFAULT_USB_INIT := true TW_INPUT_BLACKLIST := "hbtp_vm" -TW_USE_TOOLBOX := true +TW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID := true + + +# Show build time on the splash screen +TW_DEVICE_VERSION=$(shell date '+%Y%m%d') + +# Hack: prevent anti rollback +PLATFORM_SECURITY_PATCH := 2025-12-31 + +# Platform version +PLATFORM_VERSION := 16.1.0 diff --git a/init/Android.mk b/init/Android.mk new file mode 100644 index 0000000..70e2642 --- /dev/null +++ b/init/Android.mk @@ -0,0 +1,28 @@ +# +# Copyright (C) 2020 TeamWin 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. +# + +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := optional +LOCAL_C_INCLUDES := \ + system/core/base/include \ + system/core/init +LOCAL_SRC_FILES := init_ricefish.cpp +LOCAL_MODULE := libinit_ricefish + +include $(BUILD_STATIC_LIBRARY) diff --git a/init/init_ricefish.cpp b/init/init_ricefish.cpp new file mode 100644 index 0000000..b63a7b0 --- /dev/null +++ b/init/init_ricefish.cpp @@ -0,0 +1,58 @@ +/* + Copyright (C) 2020 The TeamWin Recovery Project + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +#include "property_service.h" +#include "log.h" + +namespace android { +namespace init { + +void load_properties(const char *model) { + property_set("ro.product.name", model); + property_set("ro.build.product", model); + property_set("ro.product.device", model); + property_set("ro.build.date", "Fri Jul 20 15:18:00 CST 2018"); + property_set("ro.build.date.utc", "1592832458"); + property_set("ro.bootimage.build.date", "1592832458"); +} + + +void vendor_load_properties() { + std::string device_region = android::base::GetProperty("ro.boot.product.cert", ""); + + load_properties("ricefish"); + +} + +} +} diff --git a/omni.dependencies b/omni.dependencies new file mode 100644 index 0000000..e159303 --- /dev/null +++ b/omni.dependencies @@ -0,0 +1,8 @@ +[ + { + "remote":"github", + "repository": "TeamWin/android_device_qcom_common", + "target_path": "device/qcom/common", + "revision":"android-9.0" + } +] diff --git a/omni_ricefish.mk b/omni_ricefish.mk index 454129c..69b21c8 100644 --- a/omni_ricefish.mk +++ b/omni_ricefish.mk @@ -19,6 +19,7 @@ PRODUCT_NAME := omni_ricefish PRODUCT_BRAND := Mobvoi PRODUCT_MODEL := TicWatch E3 PRODUCT_MANUFACTURER := mobvoi +PRODUCT_RELEASE_NAME := Mobvoi TicWatch E3 PRODUCT_GMS_CLIENTID_BASE := android-mobvoi @@ -26,3 +27,13 @@ PRODUCT_BUILD_PROP_OVERRIDES += \ PRIVATE_BUILD_DESC="ricefish-user 9 PMKB.211102.002 442 release-keys" BUILD_FINGERPRINT := Mobvoi/ricefish/ricefish:9/PMKB.211102.002/442:user/release-keys + +PRODUCT_SYSTEM_PROPERTY_BLACKLIST += \ + ro.product.device \ + ro.product.name \ + ro.build.product + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.vendor.build.security_patch=2025-12-31 \ + ro.secure=1 \ + ro.adb.secure=0 \ No newline at end of file diff --git a/recovery.fstab b/recovery.fstab index 48c72a4..752a253 100644 --- a/recovery.fstab +++ b/recovery.fstab @@ -1,8 +1,60 @@ -/ ext4 /dev/block/bootdevice/by-name/system flags=display= -/cache ext4 /dev/block/bootdevice/by-name/cache flags=display=cache -/vendor ext4 /dev/block/bootdevice/by-name/vendor flags=display=vendor -/data f2fs /dev/block/bootdevice/by-name/userdata flags=display=data -/sdcard vfat /dev/block/mmcblk1p1 flags=display=sdcard -/boot emmc /dev/block/bootdevice/by-name/boot flags=display=boot -/recovery emmc /dev/block/bootdevice/by-name/recovery flags=display=recovery -/misc emmc /dev/block/bootdevice/by-name/misc flags=display=misc +# Userdata +/data f2fs /dev/block/bootdevice/by-name/userdata flags=backup=1;wipeingui;encryptable=footer + +# Cache +/cache ext4 /dev/block/bootdevice/by-name/cache flags=backup=1;wipeingui;wipeduringfactoryreset + +# System +/system_root ext4 /dev/block/bootdevice/by-name/system flags=backup=1;wipeingui;display="System" +/system_image emmc /dev/block/bootdevice/by-name/system flags=backup=1;flashimg=1;display="System Image" + +# Boot-Aboot-Recovery +/boot emmc /dev/block/bootdevice/by-name/boot flags=backup=1;flashimg=1;display="Boot" +/recovery emmc /dev/block/bootdevice/by-name/recovery flags=backup=1;flashimg=1;display="Recovery" +/aboot emmc /dev/block/bootdevice/by-name/aboot flags=display="Bootloader";backup=1;flashimg=1 +/abootbak emmc /dev/block/bootdevice/by-name/abootbak flags=display="Bootloader Backup";backup=1;flashimg=1 + +# Vendor +/vendor ext4 /dev/block/bootdevice/by-name/vendor flags=display="Vendor";backup=1;wipeingui +/vendor_image emmc /dev/block/bootdevice/by-name/vendor flags=display="Vendor Image";flashimg=1;backup=1 + +# Modem +/firmware vfat /dev/block/bootdevice/by-name/modem flags=display="Firmware" +/firmware_image emmc /dev/block/bootdevice/by-name/modem flags=display="Firmware Image";flashimg=1;backup=1 + +# Persist +/persist ext4 /dev/block/bootdevice/by-name/persist flags=display="Persist";backup=1 +/persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist Image";flashimg=1 +/persistbak_image emmc /dev/block/bootdevice/by-name/persistbak flags=display="Persist Backup";flashimg=1 + +# EFS +/efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=backup=1;display="efs1" +/efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1;display="efs2" + +# Misc +/dsp ext4 /dev/block/bootdevice/by-name/dsp flags=display="dsp";backup=1 +/dsp_image emmc /dev/block/bootdevice/by-name/dsp flags=display="dsp";flashimg=1 +/splash emmc /dev/block/bootdevice/by-name/splash flags=display="splash";backup=1;flashimg=1 +/sbl1 emmc /dev/block/bootdevice/by-name/sbl1 flags=display="sbl1";backup=1;flashimg=1 +/rpm emmc /dev/block/bootdevice/by-name/rpm flags=display="rpm";backup=1;flashimg=1 +/tz emmc /dev/block/bootdevice/by-name/tz flags=display="tz";backup=1;flashimg=1 +/vbmeta emmc /dev/block/bootdevice/by-name/vbmeta flags=display="vbmeta";backup=1;flashimg=1 +/misc emmc /dev/block/bootdevice/by-name/misc +/keystore emmc /dev/block/bootdevice/by-name/keystore +/ssd emmc /dev/block/bootdevice/by-name/ssd +/DDR emmc /dev/block/bootdevice/by-name/DDR +/devinfo emmc /dev/block/bootdevice/by-name/devinfo flags=display="devinfo";backup=1;flashimg=1 +/fsc emmc /dev/block/bootdevice/by-name/fsc +/sec emmc /dev/block/bootdevice/by-name/sec +/fsg emmc /dev/block/bootdevice/by-name/fsg flags=display="fsg";backup=1 +/msadp emmc /dev/block/bootdevice/by-name/msadp flags=display="msadp";backup=1;flashimg=1 +/apdp emmc /dev/block/bootdevice/by-name/apdp flags=display="apdp";backup=1;flashimg=1 +/cmnlib64 emmc /dev/block/bootdevice/by-name/cmnlib64 flags=display="cmnlib64";backup=1;flashimg=1 +/cmnlib emmc /dev/block/bootdevice/by-name/cmnlib flags=display="cmnlib";backup=1;flashimg=1 +/keymaster emmc /dev/block/bootdevice/by-name/keymaster flags=display="keymaster";backup=1;flashimg=1 +/devcfg emmc /dev/block/bootdevice/by-name/devcfg flags=display="devcfg";backup=1;flashimg=1 +/mdtp emmc /dev/block/bootdevice/by-name/mdtp flags=display="mdtp";backup=1;flashimg=1 +/dtbo emmc /dev/block/bootdevice/by-name/dtbo flags=display="dtbo";backup=1;flashimg=1 +/oem ext4 /dev/block/by-name/oem flags=display="OEM" +/frp emmc /dev/block/by-name/config flags=backup=1 + diff --git a/recovery/root/init.recovery.ricefish.rc b/recovery/root/init.recovery.ricefish.rc index 71e6ce7..4be7ff3 100644 --- a/recovery/root/init.recovery.ricefish.rc +++ b/recovery/root/init.recovery.ricefish.rc @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. +# Copyright (c) 2009-2012, 2014-2015, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -25,36 +25,85 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -on init - write /sys/class/backlight/panel0-backlight/brightness 200 - - mkdir /config - mount configfs none /config - mkdir /config/usb_gadget/g1 0770 shell shell - write /config/usb_gadget/g1/bcdUSB 0x0200 - write /config/usb_gadget/g1/idVendor 0x18d1 - write /config/usb_gadget/g1/idProduct 0xd001 - mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell - write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} - write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} - write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} - mkdir /config/usb_gadget/g1/functions/ffs.adb - write /config/usb_gadget/g1/os_desc/use 1 - write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 - write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" - setprop sys.usb.configfs 1 - -on property:ro.boot.usbcontroller=* - setprop sys.usb.controller ${ro.boot.usbcontroller} - -on property:sys.usb.ffs.ready=1 - mkdir /config/usb_gadget/g1/configs/b.1 0777 shell shell - symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 - mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 - write /config/usb_gadget/g1/UDC ${sys.usb.controller} - on fs wait /dev/block/platform/soc/${ro.boot.bootdevice} symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice + export ANDROID_ROOT /system_root + chmod 0660 /dev/qseecom + chown system drmrpc /dev/qseecom + chmod 0664 /dev/ion + chown system system /dev/ion + install_keyring + +on init + mkdir /system/bin + mkdir /system/etc + symlink /system/etc /etc + symlink /sbin/busybox /system/bin/sh + symlink /vendor/manifest.xml /system/manifest.xml + + start hwservicemanager + setprop crypto.ready 1 + +# Separate copy needed to use /sbin/linker64 instead of /system/bin/linker64 +service sbinqseecomd /sbin/qseecomd + user root + group root + disabled + seclabel u:r:recovery:s0 + +service hwservicemanager /sbin/hwservicemanager + user root + group root + disabled + onrestart setprop hwservicemanager.ready false + seclabel u:r:recovery:s0 + +service servicemanager /sbin/servicemanager + user root + group root readproc + disabled + seclabel u:r:recovery:s0 + +service keystore_auth /sbin/keystore_auth + oneshot + user system + group root + disabled + seclabel u:r:recovery:s0 + +# keystore is started and stopped on demand by TWRP +service keystore /sbin/keystore /tmp/misc/keystore + user root + group root drmrpc readproc + disabled + seclabel u:r:recovery:s0 + +service gatekeeper-1-0 /sbin/android.hardware.gatekeeper@1.0-service-qti + user root + group root + disabled + seclabel u:r:recovery:s0 + +service keymaster-4-0 /sbin/android.hardware.keymaster@4.0-service-qti + user root + group root + disabled + seclabel u:r:recovery:s0 + +on boot + setprop sys.usb.config adb + +on property:crypto.ready=0 + stop sbinqseecomd + stop keymaster-4-0 + stop gatekeeper-1-0 + stop servicemanager + +on property:crypto.ready=1 + start sbinqseecomd + +on property:vendor.sys.listeners.registered=true + start keymaster-4-0 + start gatekeeper-1-0 + start servicemanager diff --git a/recovery/root/init.recovery.usb.rc b/recovery/root/init.recovery.usb.rc new file mode 100644 index 0000000..14fec8d --- /dev/null +++ b/recovery/root/init.recovery.usb.rc @@ -0,0 +1,124 @@ +# Copyright (c) 2011-2016, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +on boot + write /sys/class/android_usb/android0/iSerial ${ro.serialno} + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 + mkdir /config/usb_gadget/g2 0770 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + mkdir /config/usb_gadget/g2/strings/0x409 0770 + write /config/usb_gadget/g1/bcdUSB 0x0200 + write /config/usb_gadget/g2/bcdUSB 0x0200 + write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g2/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g2/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + write /config/usb_gadget/g2/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/mass_storage.0 + mkdir /config/usb_gadget/g1/functions/mtp.gs0 + mkdir /config/usb_gadget/g1/functions/ptp.gs1 + mkdir /config/usb_gadget/g1/functions/accessory.gs2 + mkdir /config/usb_gadget/g1/functions/audio_source.gs3 + mkdir /config/usb_gadget/g1/functions/midi.gs5 + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/diag.diag + mkdir /config/usb_gadget/g1/functions/diag.diag_mdm + mkdir /config/usb_gadget/g1/functions/cser.dun.0 + mkdir /config/usb_gadget/g1/functions/cser.nmea.1 + mkdir /config/usb_gadget/g1/functions/cser.dun.2 + mkdir /config/usb_gadget/g1/functions/gsi.rmnet + mkdir /config/usb_gadget/g1/functions/gsi.rndis + mkdir /config/usb_gadget/g1/functions/gsi.dpl + mkdir /config/usb_gadget/g1/functions/qdss.qdss + mkdir /config/usb_gadget/g1/functions/qdss.qdss_mdm + mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis + mkdir /config/usb_gadget/g1/functions/rndis.rndis + mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet + mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl + mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet_bam_dmux + mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl_bam_dmux + mkdir /config/usb_gadget/g1/functions/ncm.0 + mkdir /config/usb_gadget/g1/functions/ccid.ccid + mkdir /config/usb_gadget/g1/functions/uac2.0 + mkdir /config/usb_gadget/g1/functions/uvc.0 + mkdir /config/usb_gadget/g1/configs/b.1 0770 + mkdir /config/usb_gadget/g2/configs/b.1 0770 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 + mkdir /config/usb_gadget/g2/configs/b.1/strings/0x409 0770 + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + mkdir /dev/usb-ffs 0775 shell system + mkdir /dev/usb-ffs/adb 0770 shell system + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=1000,rmode=0770,fmode=0660 + write /sys/class/android_usb/android0/f_ffs/aliases adb + setprop vendor.usb.controller ${sys.usb.controller} + +on property:sys.usb.config=none + write /config/usb_gadget/g1/UDC "none" + stop adbd + setprop sys.usb.ffs.ready 0 + write /config/usb_gadget/g1/bDeviceClass 0 + write /config/usb_gadget/g1/bDeviceSubClass 0 + write /config/usb_gadget/g1/bDeviceProtocol 0 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,adb + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9039 + symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=adb + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee7 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} \ No newline at end of file diff --git a/recovery/root/sbin/android.hardware.gatekeeper@1.0-service-qti b/recovery/root/sbin/android.hardware.gatekeeper@1.0-service-qti new file mode 100644 index 0000000..1cce0c7 Binary files /dev/null and b/recovery/root/sbin/android.hardware.gatekeeper@1.0-service-qti differ diff --git a/recovery/root/sbin/android.hardware.keymaster@4.0-service-qti b/recovery/root/sbin/android.hardware.keymaster@4.0-service-qti new file mode 100644 index 0000000..8ddcfa2 Binary files /dev/null and b/recovery/root/sbin/android.hardware.keymaster@4.0-service-qti differ diff --git a/recovery/root/sbin/hwservicemanager b/recovery/root/sbin/hwservicemanager new file mode 100644 index 0000000..a0ac980 Binary files /dev/null and b/recovery/root/sbin/hwservicemanager differ diff --git a/recovery/root/sbin/keystore_auth b/recovery/root/sbin/keystore_auth new file mode 100644 index 0000000..2033b1c Binary files /dev/null and b/recovery/root/sbin/keystore_auth differ diff --git a/recovery/root/sbin/libbinder.so b/recovery/root/sbin/libbinder.so new file mode 100644 index 0000000..f777625 Binary files /dev/null and b/recovery/root/sbin/libbinder.so differ diff --git a/recovery/root/sbin/libhwbinder.so b/recovery/root/sbin/libhwbinder.so new file mode 100644 index 0000000..ea99ff2 Binary files /dev/null and b/recovery/root/sbin/libhwbinder.so differ diff --git a/recovery/root/sbin/libicuuc.so b/recovery/root/sbin/libicuuc.so new file mode 100644 index 0000000..eb805a6 Binary files /dev/null and b/recovery/root/sbin/libicuuc.so differ diff --git a/recovery/root/sbin/libkeymasterdeviceutils.so b/recovery/root/sbin/libkeymasterdeviceutils.so new file mode 100644 index 0000000..3d268cd Binary files /dev/null and b/recovery/root/sbin/libkeymasterdeviceutils.so differ diff --git a/recovery/root/sbin/libkeymasterutils.so b/recovery/root/sbin/libkeymasterutils.so new file mode 100644 index 0000000..375aac0 Binary files /dev/null and b/recovery/root/sbin/libkeymasterutils.so differ diff --git a/recovery/root/sbin/libxml2.so b/recovery/root/sbin/libxml2.so new file mode 100644 index 0000000..23a2cb2 Binary files /dev/null and b/recovery/root/sbin/libxml2.so differ diff --git a/recovery/root/sbin/qseecomd b/recovery/root/sbin/qseecomd new file mode 100644 index 0000000..f6dff36 Binary files /dev/null and b/recovery/root/sbin/qseecomd differ diff --git a/recovery/root/sbin/servicemanager b/recovery/root/sbin/servicemanager new file mode 100644 index 0000000..69160c9 Binary files /dev/null and b/recovery/root/sbin/servicemanager differ diff --git a/recovery/root/vendor/compatibility_matrix.xml b/recovery/root/vendor/compatibility_matrix.xml new file mode 100644 index 0000000..310482d --- /dev/null +++ b/recovery/root/vendor/compatibility_matrix.xml @@ -0,0 +1,66 @@ + + + android.frameworks.schedulerservice + 1.0 + + ISchedulingPolicyService + default + + + + android.frameworks.sensorservice + 1.0 + + ISensorManager + default + + + + android.hidl.allocator + 1.0 + + IAllocator + ashmem + + + + android.hidl.manager + 1.0 + + IServiceManager + default + + + + android.hidl.memory + 1.0 + + IMapper + ashmem + + + + android.hidl.token + 1.0 + + ITokenManager + default + + + + android.system.wifi.keystore + 1.0 + + IKeystore + default + + + + vendor.qti.hardware.wifi.keystore + 1.0 + + IKeystoreExt + default + + + diff --git a/recovery/root/vendor/etc/gpfspath_oem_config.xml b/recovery/root/vendor/etc/gpfspath_oem_config.xml new file mode 100644 index 0000000..cd7834b --- /dev/null +++ b/recovery/root/vendor/etc/gpfspath_oem_config.xml @@ -0,0 +1,59 @@ + + + + + + + /data/vendor/tzstorage/ + /mnt/vendor/persist/data/ + 2 + /data/system/users/ + /data/misc/qsee/ + diff --git a/recovery/root/vendor/lib/hw/android.hardware.gatekeeper@1.0-impl-qti.so b/recovery/root/vendor/lib/hw/android.hardware.gatekeeper@1.0-impl-qti.so new file mode 100644 index 0000000..ac64549 Binary files /dev/null and b/recovery/root/vendor/lib/hw/android.hardware.gatekeeper@1.0-impl-qti.so differ diff --git a/recovery/root/vendor/lib/libGPreqcancel.so b/recovery/root/vendor/lib/libGPreqcancel.so new file mode 100644 index 0000000..1e4af25 Binary files /dev/null and b/recovery/root/vendor/lib/libGPreqcancel.so differ diff --git a/recovery/root/vendor/lib/libGPreqcancel_svc.so b/recovery/root/vendor/lib/libGPreqcancel_svc.so new file mode 100644 index 0000000..7e80435 Binary files /dev/null and b/recovery/root/vendor/lib/libGPreqcancel_svc.so differ diff --git a/recovery/root/vendor/lib/libQSEEComAPI.so b/recovery/root/vendor/lib/libQSEEComAPI.so new file mode 100644 index 0000000..4df4618 Binary files /dev/null and b/recovery/root/vendor/lib/libQSEEComAPI.so differ diff --git a/recovery/root/vendor/lib/libStDrvInt.so b/recovery/root/vendor/lib/libStDrvInt.so new file mode 100644 index 0000000..f261d6a Binary files /dev/null and b/recovery/root/vendor/lib/libStDrvInt.so differ diff --git a/recovery/root/vendor/lib/libdiag.so b/recovery/root/vendor/lib/libdiag.so new file mode 100644 index 0000000..9aac14b Binary files /dev/null and b/recovery/root/vendor/lib/libdiag.so differ diff --git a/recovery/root/vendor/lib/libdrmfs.so b/recovery/root/vendor/lib/libdrmfs.so new file mode 100644 index 0000000..22acaeb Binary files /dev/null and b/recovery/root/vendor/lib/libdrmfs.so differ diff --git a/recovery/root/vendor/lib/libdrmtime.so b/recovery/root/vendor/lib/libdrmtime.so new file mode 100644 index 0000000..27bea25 Binary files /dev/null and b/recovery/root/vendor/lib/libdrmtime.so differ diff --git a/recovery/root/vendor/lib/libion.so b/recovery/root/vendor/lib/libion.so new file mode 100644 index 0000000..b3aea2d Binary files /dev/null and b/recovery/root/vendor/lib/libion.so differ diff --git a/recovery/root/vendor/lib/libkeymasterdeviceutils.so b/recovery/root/vendor/lib/libkeymasterdeviceutils.so new file mode 100644 index 0000000..3d268cd Binary files /dev/null and b/recovery/root/vendor/lib/libkeymasterdeviceutils.so differ diff --git a/recovery/root/vendor/lib/libkeymasterutils.so b/recovery/root/vendor/lib/libkeymasterutils.so new file mode 100644 index 0000000..375aac0 Binary files /dev/null and b/recovery/root/vendor/lib/libkeymasterutils.so differ diff --git a/recovery/root/vendor/lib/libqisl.so b/recovery/root/vendor/lib/libqisl.so new file mode 100644 index 0000000..94e6b80 Binary files /dev/null and b/recovery/root/vendor/lib/libqisl.so differ diff --git a/recovery/root/vendor/lib/libqtikeymaster4.so b/recovery/root/vendor/lib/libqtikeymaster4.so new file mode 100644 index 0000000..2e12cae Binary files /dev/null and b/recovery/root/vendor/lib/libqtikeymaster4.so differ diff --git a/recovery/root/vendor/lib/librpmb.so b/recovery/root/vendor/lib/librpmb.so new file mode 100644 index 0000000..7fdfe8c Binary files /dev/null and b/recovery/root/vendor/lib/librpmb.so differ diff --git a/recovery/root/vendor/lib/libsecureui.so b/recovery/root/vendor/lib/libsecureui.so new file mode 100644 index 0000000..2730e7a Binary files /dev/null and b/recovery/root/vendor/lib/libsecureui.so differ diff --git a/recovery/root/vendor/lib/libsecureui_svcsock.so b/recovery/root/vendor/lib/libsecureui_svcsock.so new file mode 100644 index 0000000..30dbdc8 Binary files /dev/null and b/recovery/root/vendor/lib/libsecureui_svcsock.so differ diff --git a/recovery/root/vendor/lib/libssd.so b/recovery/root/vendor/lib/libssd.so new file mode 100644 index 0000000..e012b96 Binary files /dev/null and b/recovery/root/vendor/lib/libssd.so differ diff --git a/recovery/root/vendor/lib/libtime_genoff.so b/recovery/root/vendor/lib/libtime_genoff.so new file mode 100644 index 0000000..4c2067f Binary files /dev/null and b/recovery/root/vendor/lib/libtime_genoff.so differ diff --git a/recovery/root/vendor/lib/vendor.display.config@1.0.so b/recovery/root/vendor/lib/vendor.display.config@1.0.so new file mode 100644 index 0000000..17e2fa3 Binary files /dev/null and b/recovery/root/vendor/lib/vendor.display.config@1.0.so differ diff --git a/recovery/root/vendor/lib/vendor.qti.hardware.tui_comm@1.0.so b/recovery/root/vendor/lib/vendor.qti.hardware.tui_comm@1.0.so new file mode 100644 index 0000000..eb12d1f Binary files /dev/null and b/recovery/root/vendor/lib/vendor.qti.hardware.tui_comm@1.0.so differ diff --git a/recovery/root/vendor/manifest.xml b/recovery/root/vendor/manifest.xml new file mode 100644 index 0000000..58251b0 --- /dev/null +++ b/recovery/root/vendor/manifest.xml @@ -0,0 +1,701 @@ + + + android.hardware.audio + hwbinder + 5.0 + + IDevicesFactory + default + + + + android.hardware.audio.effect + hwbinder + 5.0 + + IEffectsFactory + default + + + + android.hardware.biometrics.fingerprint + hwbinder + 2.1 + + IBiometricsFingerprint + default + + + + android.hardware.bluetooth + hwbinder + 1.0 + + IBluetoothHci + default + + + + android.hardware.camera.provider + hwbinder + 2.4 + + ICameraProvider + legacy/0 + + + + android.hardware.configstore + hwbinder + 1.1 + + ISurfaceFlingerConfigs + default + + + + android.hardware.drm + hwbinder + 1.0 + + ICryptoFactory + default + + + IDrmFactory + default + + @1.0::ICryptoFactory/default + @1.0::IDrmFactory/default + @1.2::ICryptoFactory/clearkey + @1.2::ICryptoFactory/widevine + @1.2::IDrmFactory/clearkey + @1.2::IDrmFactory/widevine + + + android.hardware.gatekeeper + hwbinder + 1.0 + + IGatekeeper + default + + + + android.hardware.gnss + hwbinder + 1.0 + + IGnss + default + + @1.0::IGnss/default + @1.0::IGnss/gnss_vendor + + + android.hardware.graphics.allocator + hwbinder + 2.0 + + IAllocator + default + + + + android.hardware.graphics.composer + hwbinder + 2.1 + + IComposer + default + + + + android.hardware.graphics.mapper + passthrough + 2.1 + + IMapper + default + + + + android.hardware.health + hwbinder + 2.0 + + IHealth + default + + + + android.hardware.ir + hwbinder + 1.0 + + IConsumerIr + default + + + + + android.hardware.keymaster + hwbinder + 4.0 + + IKeymasterDevice + default + + + + android.hardware.light + hwbinder + 2.0 + + ILight + default + + + + android.hardware.media.omx + hwbinder + 1.0 + + IOmx + default + + + IOmxStore + default + + + + android.hardware.memtrack + hwbinder + 1.0 + + IMemtrack + default + + + + android.hardware.power + hwbinder + 1.0 + + IPower + default + + + + android.hardware.radio + hwbinder + @1.4::IRadio/slot1 + @1.4::IRadio/slot2 + @1.2::ISap/slot1 + @1.2::ISap/slot2 + + + android.hardware.radio.config + hwbinder + 1.1 + + IRadioConfig + default + + + + android.hardware.renderscript + passthrough + 1.0 + + IDevice + default + + + + android.hardware.sensors + hwbinder + 1.0 + + ISensors + default + + + + android.hardware.soundtrigger + hwbinder + 2.1 + + ISoundTriggerHw + default + + + + android.hardware.tetheroffload.config + hwbinder + 1.0 + + IOffloadConfig + default + + + + android.hardware.tetheroffload.control + hwbinder + 1.0 + + IOffloadControl + default + + + + android.hardware.thermal + hwbinder + 1.0 + + IThermal + default + + + + android.hardware.usb + hwbinder + 1.0 + + IUsb + default + + + + android.hardware.vibrator + hwbinder + 1.0 + + IVibrator + default + + + + android.hardware.wifi + hwbinder + 1.3 + + IWifi + default + + + + android.hardware.wifi.hostapd + hwbinder + 1.1 + + IHostapd + default + + + + android.hardware.wifi.supplicant + hwbinder + 1.2 + + ISupplicant + default + + + + com.fingerprints.extension + hwbinder + 2.0 + + IFingerprintEngineering + default + + + IFingerprintNavigation + default + + + IFingerprintSensorTest + default + + + + com.qualcomm.qti.bluetooth_audio + hwbinder + 1.0 + + IBluetoothAudio + default + + + + com.qualcomm.qti.dpm.api + hwbinder + 1.0 + + IdpmQmi + dpmQmiService + + + + com.qualcomm.qti.imscmservice + hwbinder + 2.2 + + IImsCmService + qti.ims.connectionmanagerservice + + + + com.qualcomm.qti.uceservice + hwbinder + 2.1 + + IUceService + com.qualcomm.qti.uceservice + + + + com.qualcomm.qti.wifidisplayhal + hwbinder + 1.0 + + IDSManager + wifidisplaydshal + + + IHDCPSession + wifidisplayhdcphal + + + + vendor.display.color + hwbinder + 1.0 + + IDisplayColor + default + + + + vendor.display.config + hwbinder + 1.11 + + IDisplayConfig + default + + + + vendor.display.postproc + hwbinder + 1.0 + + IDisplayPostproc + default + + + + vendor.goodix.hardware.fingerprint + hwbinder + 1.0 + + IGoodixBiometricsFingerprint + default + + + + vendor.lineage.livedisplay + hwbinder + 2.0 + + IPictureAdjustment + default + + + + vendor.qti.data.factory + hwbinder + 2.0 + + IFactory + default + + + + vendor.qti.esepowermanager + hwbinder + 1.0 + + IEsePowerManager + default + + + + vendor.qti.gnss + hwbinder + 1.0 + + ILocHidlGnss + gnss_vendor + + + + vendor.qti.hardware.alarm + hwbinder + 1.0 + + IAlarm + default + + + + vendor.qti.hardware.bluetooth_audio + hwbinder + 2.0 + + IBluetoothAudioProvidersFactory + default + + + + vendor.qti.hardware.btconfigstore + hwbinder + 1.0 + + IBTConfigStore + default + + + + vendor.qti.hardware.cryptfshw + hwbinder + 1.0 + + ICryptfsHw + default + + + + vendor.qti.hardware.data.connection + hwbinder + 1.1 + + IDataConnection + slot1 + slot2 + + + + vendor.qti.hardware.data.latency + hwbinder + 1.0 + + ILinkLatency + default + + + + vendor.qti.hardware.fm + hwbinder + 1.0 + + IFmHci + default + + + + vendor.qti.hardware.perf + hwbinder + 2.0 + + IPerf + default + + + + vendor.qti.hardware.qdutils_disp + hwbinder + 1.0 + + IQdutilsDisp + default + + + + vendor.qti.hardware.qteeconnector + hwbinder + 1.0 + + IAppConnector + default + + + IGPAppConnector + default + + + + vendor.qti.hardware.radio.am + hwbinder + 1.0 + + IQcRilAudio + slot1 + slot2 + + + + vendor.qti.hardware.radio.ims + hwbinder + 1.5 + + IImsRadio + imsradio0 + imsradio1 + + + + vendor.qti.hardware.radio.lpa + hwbinder + 1.0 + + IUimLpa + UimLpa0 + UimLpa1 + + + + vendor.qti.hardware.radio.qcrilhook + hwbinder + 1.0 + + IQtiOemHook + oemhook0 + oemhook1 + + + + + vendor.qti.hardware.qseecom + hwbinder + 1.0 + + IQSEECom + default + + + + vendor.qti.hardware.radio.qtiradio + hwbinder + 2.3 + + IQtiRadio + slot1 + slot2 + + + + vendor.qti.hardware.radio.uim + hwbinder + 1.2 + + IUim + Uim0 + Uim1 + + + + vendor.qti.hardware.radio.uim_remote_client + hwbinder + 1.0 + + IUimRemoteServiceClient + uimRemoteClient0 + uimRemoteClient1 + + + + vendor.qti.hardware.radio.uim_remote_server + hwbinder + 1.0 + + IUimRemoteServiceServer + uimRemoteServer0 + uimRemoteServer1 + + + + vendor.qti.hardware.soter + hwbinder + 1.0 + + ISoter + default + + + + vendor.qti.hardware.tui_comm + hwbinder + 1.0 + + ITuiComm + default + + + + vendor.qti.hardware.wifi.hostapd + hwbinder + 1.1 + + IHostapdVendor + default + + + + vendor.qti.hardware.wifi.supplicant + hwbinder + 2.0 + + ISupplicantVendor + default + + + + vendor.qti.hardware.wigig.netperftuner + hwbinder + 1.0 + + INetPerfTuner + default + + + + vendor.qti.hardware.wigig.supptunnel + hwbinder + 1.0 + + ISuppTunnelProvider + default + + + + vendor.qti.ims.callinfo + hwbinder + 1.0 + + IService + default + + + + vendor.qti.imsrtpservice + hwbinder + 2.1 + + IRTPService + imsrtpservice + + +