diff --git a/Android.mk b/Android.mk index 7f1c970..2684877 100644 --- a/Android.mk +++ b/Android.mk @@ -16,7 +16,7 @@ LOCAL_PATH := $(call my-dir) -ifeq ($(TARGET_DEVICE), renoir) +ifeq ($(TARGET_DEVICE), odin) subdir_makefiles=$(call first-makefiles-under,$(LOCAL_PATH)) $(foreach mk,$(subdir_makefiles),$(info including $(mk) ...)$(eval include $(mk))) diff --git a/AndroidProducts.mk b/AndroidProducts.mk index 5971026..8adbf57 100644 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -15,4 +15,4 @@ # PRODUCT_MAKEFILES := \ - $(LOCAL_DIR)/twrp_renoir.mk + $(LOCAL_DIR)/twrp_odin.mk diff --git a/BoardConfig.mk b/BoardConfig.mk index 1fbac1c..363fc3c 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -14,7 +14,7 @@ # limitations under the License. # -DEVICE_PATH := device/xiaomi/renoir +DEVICE_PATH := device/xiaomi/odin # For building with minimal manifest ALLOW_MISSING_DEPENDENCIES := true @@ -38,7 +38,7 @@ TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a55 DEXPREOPT_GENERATE_APEX_IMAGE := true # Assert -TARGET_OTA_ASSERT_DEVICE := renoir +TARGET_OTA_ASSERT_DEVICE := odin # A/B AB_OTA_UPDATER := true @@ -85,8 +85,8 @@ BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000 KERNEL_LD := LD=ld.lld TARGET_KERNEL_ADDITIONAL_FLAGS := DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc TARGET_KERNEL_CLANG_COMPILE := true -TARGET_KERNEL_CONFIG := renoir_defconfig -TARGET_KERNEL_SOURCE := kernel/xiaomi/renoir +TARGET_KERNEL_CONFIG := vendor/odin-qgki_defconfig +TARGET_KERNEL_SOURCE := kernel/xiaomi/odin NEED_KERNEL_MODULE_RECOVERY := true # Metadata diff --git a/bootctrl/Android.bp b/bootctrl/Android.bp index eb31f66..5afeaaf 100644 --- a/bootctrl/Android.bp +++ b/bootctrl/Android.bp @@ -17,12 +17,12 @@ cc_library { name: "bootctrl.lahaina", defaults: ["bootctrl_hal_defaults"], - static_libs: ["libgptutils.renoir"], + static_libs: ["libgptutils.odin"], } cc_library_shared { name: "android.hardware.boot@1.1-impl-qti", stem: "android.hardware.boot@1.0-impl-1.1-qti", defaults: ["android.hardware.boot@1.1-impl-qti_defaults"], - static_libs: ["libgptutils.renoir"], + static_libs: ["libgptutils.odin"], } diff --git a/device.mk b/device.mk index f073293..3682228 100644 --- a/device.mk +++ b/device.mk @@ -26,7 +26,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk) # Installs gsi keys into ramdisk, to boot a developer GSI with verified boot. $(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk) -LOCAL_PATH := device/xiaomi/renoir +LOCAL_PATH := device/xiaomi/odin # API PRODUCT_SHIPPING_API_LEVEL := 30 @@ -88,6 +88,7 @@ TW_INCLUDE_RESETPROP := true TW_INCLUDE_REPACKTOOLS := true TW_INPUT_BLACKLIST := "hbtp_vm" TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness" +TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file TW_Y_OFFSET := 80 TW_H_OFFSET := -80 TWRP_INCLUDE_LOGCAT := true @@ -120,7 +121,7 @@ RECOVERY_LIBRARY_SOURCE_FILES += \ $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so PRODUCT_COPY_FILES += \ - $(OUT_DIR)/target/product/renoir/obj/SHARED_LIBRARIES/libandroidicu_intermediates/libandroidicu.so:$(TARGET_COPY_OUT_RECOVERY)/root/system/lib64/libandroidicu.so + $(OUT_DIR)/target/product/odin/obj/SHARED_LIBRARIES/libandroidicu_intermediates/libandroidicu.so:$(TARGET_COPY_OUT_RECOVERY)/root/system/lib64/libandroidicu.so PRODUCT_PACKAGES += \ qcom_decrypt \ diff --git a/gpt-utils/Android.bp b/gpt-utils/Android.bp index f9bd0a7..45a5e47 100644 --- a/gpt-utils/Android.bp +++ b/gpt-utils/Android.bp @@ -16,7 +16,7 @@ cc_library { - name: "libgptutils.renoir", + name: "libgptutils.odin", vendor: true, recovery_available: true, shared_libs: [ diff --git a/recovery.fstab b/recovery.fstab index 930d552..bcbc033 100644 --- a/recovery.fstab +++ b/recovery.fstab @@ -36,10 +36,15 @@ # system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey +system /system erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +system_ext /system_ext erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +product /product erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +vendor /vendor erofs ro wait,slotselect,avb,logical,first_stage_mount odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +odm /odm erofs ro wait,slotselect,avb,logical,first_stage_mount /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=512M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults diff --git a/recovery/root/init.recovery.usb.rc b/recovery/root/init.recovery.usb.rc index 650bf7b..d185f52 100644 --- a/recovery/root/init.recovery.usb.rc +++ b/recovery/root/init.recovery.usb.rc @@ -25,139 +25,127 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -on boot - write /sys/class/android_usb/android0/iSerial ${ro.serialno} +on early-init + setprop sys.usb.configfs 0 + +on init + mkdir /config 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 + mkdir /config/usb_gadget/g1 0770 shell shell 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/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/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/ffs.adb 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/ffs.diag - mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm - mkdir /config/usb_gadget/g1/functions/ffs.diag_mdm2 - mkdir /config/usb_gadget/g1/functions/diag.diag - mkdir /config/usb_gadget/g1/functions/diag.diag_mdm - mkdir /config/usb_gadget/g1/functions/diag.diag_mdm2 - 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/configs/b.1/MaxPower 900 + 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" - write /config/usb_gadget/g1/functions/diag.diag/serial ${ro.serialno} - 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 sys.usb.configfs 1 + +on boot + setprop sys.usb.mtp.device_type 3 + setprop vendor.usb.product_string ${ro.product.model} + write /config/usb_gadget/g1/strings/0x409/product ${vendor.usb.product_string} + write /config/usb_gadget/g2/strings/0x409/product ${vendor.usb.product_string} + +on boot && property:vendor.usb.use_ffs_mtp=1 + mkdir /config/usb_gadget/g1/functions/ffs.mtp + mkdir /dev/usb-ffs/mtp 0770 mtp mtp + mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + +on property:ro.boot.usbconfigfs=false + setprop sys.usb.configfs 0 + +on property:ro.boot.recover_usb=* + write /sys/bus/platform/devices/a600000.ssusb/mode "peripheral" + +on property:ro.boot.usbcontroller=* + setprop sys.usb.controller ${ro.boot.usbcontroller} setprop vendor.usb.controller ${sys.usb.controller} - enable vendor.qcom-usb-sh - mkdir /config/usb_gadget/g1/functions/ffs.mtp - mkdir /config/usb_gadget/g1/functions/ffs.ptp - mkdir /dev/usb-ffs/mtp 0770 mtp mtp - mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 - mkdir /dev/usb-ffs/ptp 0770 mtp mtp - mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral -on property:sys.usb.config=none - write /config/usb_gadget/g1/UDC "none" - stop adbd - setprop sys.usb.ffs.ready 0 - setprop sys.usb.ffs.mtp.ready 0 - write /config/usb_gadget/g1/bDeviceClass 0 - write /config/usb_gadget/g1/bDeviceSubClass 0 - write /config/usb_gadget/g1/bDeviceProtocol 0 - 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 - rmdir /config/usb_gadget/g1/functions/rndis.gs4 - symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 - 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 +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" - 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} -on property:sys.usb.config=mtp - write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp" +on property:sys.usb.config=mtp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 rm /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp" 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 0x2A70 - write /config/usb_gadget/g1/idProduct 0XF003 - symlink /config/usb_gadget/g1/functions/ffs.mtp /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/idVendor 0x0B05 + write /config/usb_gadget/g1/idProduct 0x7772 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} -on property:sys.usb.config=mtp,adb +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 start adbd -on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb +on property:sys.usb.config=mtp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb" + 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 0x0B05 + write /config/usb_gadget/g1/idProduct 0x7773 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "msc" 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 0x2A70 - write /config/usb_gadget/g1/idProduct 0x9011 - symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 - symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0xF000 + symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_msc" + 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 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9015 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f2 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} diff --git a/recovery/root/system/bin/postrecoveryboot.sh b/recovery/root/system/bin/postrecoveryboot.sh index 92ae8f8..457c88d 100755 --- a/recovery/root/system/bin/postrecoveryboot.sh +++ b/recovery/root/system/bin/postrecoveryboot.sh @@ -1,54 +1,45 @@ #!/system/bin/sh - # find necessary modules for touchscreen, etc. to ensure no mismatch with kernel -copy-modules() -{ - if grep -Fq twrpfastboot /proc/cmdline - then +copy-modules() { + if grep -Fq twrpfastboot /proc/cmdline; then echo "using ramdisk modules (fastboot boot)" return fi - if [ -f /lib/modules/modules.load.recovery -a -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch - then + if [ -f /lib/modules/modules.load.recovery ] && [ -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch; then echo "using vendor_boot modules" exit 0 fi suffix=$(getprop ro.boot.slot_suffix) - if [ -z "$suffix" ] - then + if [ -z "$suffix" ]; then suffix="_$(getprop ro.boot.slot)" fi echo "using vendor$suffix modules" mkdir /v - mount -t ext4 -o ro /dev/block/mapper/vendor$suffix /v + mount -t ext4 -o ro /dev/block/mapper/vendor"$suffix" /v rm -f /vendor/lib/modules/* cp -afR /v/lib/modules/* /vendor/lib/modules/ umount /v rmdir /v } -install-touch() -{ - if [ -f /lib/modules/modules.load.recovery -a -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch - then +install-touch() { + if [ -f /lib/modules/modules.load.recovery ] && [ -f /lib/modules/xiaomi_touch.ko ] && lsmod | grep -Fq xiaomi_touch; then echo "vendor_boot touchscreen modules already loaded" exit 0 fi - if [ ! -f /vendor/lib/modules/xiaomi_touch.ko ] - then + if [ ! -f /vendor/lib/modules/xiaomi_touch.ko ]; then echo "! vendor touchscreen modules not found" exit 1 fi echo "loading vendor touchscreen modules" - for module in $(modprobe -D -d /vendor/lib/modules goodix_core focaltech_touch | grep modules) - do - insmod /vendor/lib/modules/$(basename $module) + for module in $(modprobe -D -d /vendor/lib/modules msm_drm fts_touch_spi | grep modules); do + insmod /vendor/lib/modules/"$(basename "$module")" done } @@ -56,6 +47,3 @@ copy-modules install-touch exit 0 - - - diff --git a/recovery/root/system/etc/recovery.fstab b/recovery/root/system/etc/recovery.fstab index 55ecc56..95f20d9 100644 --- a/recovery/root/system/etc/recovery.fstab +++ b/recovery/root/system/etc/recovery.fstab @@ -36,10 +36,15 @@ # system /system ext4 ro,barrier=1,discard wait,slotselect +system /system erofs ro wait,slotselect system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect +system_ext /system_ext erofs ro wait,slotselect product /product ext4 ro,barrier=1,discard wait,slotselect +product /product erofs ro wait,slotselect vendor /vendor ext4 ro,barrier=1,discard wait,slotselect +vendor /vendor erofs ro wait,slotselect odm /odm ext4 ro,barrier=1,discard wait,slotselect +odm /odm erofs ro wait,slotselect /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,nodiscard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults diff --git a/recovery/root/system/etc/task_profiles.json b/recovery/root/system/etc/task_profiles.json index c4dbf8e..77a8099 100644 --- a/recovery/root/system/etc/task_profiles.json +++ b/recovery/root/system/etc/task_profiles.json @@ -15,6 +15,12 @@ "Controller": "cpuset", "File": "top-app/cpus" }, + { + "Name": "AudioAppCapacityCPUs", + "Controller": "cpuset", + "File": "audio-app/cpus" + }, + { "Name": "MemLimit", "Controller": "memory", @@ -53,7 +59,7 @@ { "Name": "FreezerState", "Controller": "freezer", - "File": "cgroup.freeze" + "File": "frozen/freezer.state" } ], @@ -79,7 +85,7 @@ "Params": { "Controller": "freezer", - "Path": "" + "Path": "frozen" } } ] @@ -92,7 +98,7 @@ "Params": { "Controller": "freezer", - "Path": "../" + "Path": "" } } ] @@ -162,6 +168,19 @@ } ] }, + { + "Name": "AudioAppPerformance", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "schedtune", + "Path": "audio-app" + } + } + ] + }, { "Name": "CpuPolicySpread", @@ -375,6 +394,46 @@ } ] }, + { + "Name": "AudioAppCapacity", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "cpuset", + "Path": "audio-app" + } + } + ] + }, + + { + "Name": "BlkIOForeground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "BlkIOBackground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "bg" + } + } + ] + }, { "Name": "LowIoPriority", @@ -538,27 +597,27 @@ ] }, { - "Name": "FreezerDisabled", + "Name": "FreezerThawed", "Actions": [ { "Name": "SetAttribute", "Params": { "Name": "FreezerState", - "Value": "0" + "Value": "THAWED" } } ] }, { - "Name": "FreezerEnabled", + "Name": "FreezerFrozen", "Actions": [ { "Name": "SetAttribute", "Params": { "Name": "FreezerState", - "Value": "1" + "Value": "FROZEN" } } ] diff --git a/recovery/root/system/etc/twrp.flags b/recovery/root/system/etc/twrp.flags index d442b4b..809a6b1 100644 --- a/recovery/root/system/etc/twrp.flags +++ b/recovery/root/system/etc/twrp.flags @@ -22,5 +22,5 @@ /persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist";flashimg=1 # Removable storage -/usbstorage vfat /dev/block/sdg1 /dev/block/sdg flags=fsflags=utf8;display="USB Storage";storage;wipeingui;removable +/usbstorage auto /dev/block/sdg1 /dev/block/sdg flags=fsflags=utf8;display="USB Storage";storage;wipeingui;removable /external_sd vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0 flags=display="MicroSD";storage;wipeingui;removable diff --git a/recovery/root/system/etc/vintf/manifest.xml b/recovery/root/system/etc/vintf/manifest.xml index 4fa9f59..baaeb3c 100644 --- a/recovery/root/system/etc/vintf/manifest.xml +++ b/recovery/root/system/etc/vintf/manifest.xml @@ -118,21 +118,6 @@ @1.0::Isigma_miracast/sigmahal - - vendor.qti.hardware.systemhelper - hwbinder - 1.0 - - ISystemEvent - default - - - ISystemResource - default - - @1.0::ISystemEvent/default - @1.0::ISystemResource/default - vendor.qti.hardware.wifi.keystore hwbinder diff --git a/recovery/root/ueventd.qcom.rc b/recovery/root/ueventd.qcom.rc index ef425ce..69fabd2 100644 --- a/recovery/root/ueventd.qcom.rc +++ b/recovery/root/ueventd.qcom.rc @@ -59,6 +59,7 @@ firmware_directories /vendor/firmware_mnt/image/ /dev/ipa_adpl 0660 system oem_2905 /dev/synx_device 0660 root camera /dev/hab 0666 system system +/dev/hgsl 0666 system system /dev/iio:device* 0664 system system #permissions for UFS RPMB BSG device node @@ -173,14 +174,37 @@ firmware_directories /vendor/firmware_mnt/image/ #qvr /dev/qvr_external_sensor_ioctl 0660 system system /sys/kernel/qvr_external_sensor/fd 0660 system system +/dev/bus/usb/001/002 0660 system system +/dev/bus/usb/001/003 0660 system system +/dev/bus/usb/001/004 0660 system system +/dev/bus/usb/001/005 0660 system system +/dev/bus/usb/002/002 0660 system system +/dev/bus/usb/002/003 0660 system system +/dev/bus/usb/002/004 0660 system system +/dev/bus/usb/002/005 0660 system system +/dev/bus/usb/003/002 0660 system system +/dev/bus/usb/003/003 0660 system system +/dev/bus/usb/003/004 0660 system system +/dev/bus/usb/003/005 0660 system system +/dev/hidraw0 0660 system system +/dev/hidraw1 0660 system system +/dev/hidraw2 0660 system system +/dev/hidraw3 0660 system system +/dev/hidraw4 0660 system system +/dev/hidraw5 0660 system system +/dev/hidraw6 0660 system system +/dev/hidraw7 0660 system system +/dev/hidraw8 0660 system system +/dev/hidraw9 0660 system system # wlan /dev/wcnss_wlan 0660 system system /dev/wcnss_ctrl 0660 system system /sys/devices/soc/a000000.qcom,wcnss-wlan/net/wlan0/queues/rx-* rps_cpus 0660 system system /sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system -/sys/devices/platform/soc/18800000.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system +/sys/devices/platform/soc/*.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system /sys/devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan*/queues/rx-* rps_cpus 0660 system system +/sys/devices/platform/soc/17a10040.qcom,wcn6750/net/wlan*/queues/rx-* rps_cpus 0660 system system /dev/spidev0.0 0660 system audio /dev/i2c-7 0660 system audio /dev/msm_camera/* 0660 system camera @@ -473,3 +497,9 @@ firmware_directories /vendor/firmware_mnt/image/ /sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_raw 0664 system system /sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale 0664 system system /sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale_available 0664 system system + +# mius iio devices +/dev/iio:device* 0660 system system +/sys/bus/iio/devices/iio:device* buffer/enable 0600 system system +/sys/bus/iio/devices/iio:device* scan_elements/in_proximity_en 0600 system system +/sys/bus/iio/devices/iio:device* scan_elements/in_timestamp_en 0600 system system diff --git a/recovery/root/vendor/etc/vintf/manifest.xml b/recovery/root/vendor/etc/vintf/manifest.xml index fbe16df..1edb4f6 100644 --- a/recovery/root/vendor/etc/vintf/manifest.xml +++ b/recovery/root/vendor/etc/vintf/manifest.xml @@ -162,22 +162,22 @@ com.qualcomm.qti.uceservice hwbinder - 2.2 + 2.3 IUceService com.qualcomm.qti.uceservice - @2.2::IUceService/com.qualcomm.qti.uceservice + @2.3::IUceService/com.qualcomm.qti.uceservice vendor.qti.data.factory hwbinder - 2.1 + 2.3 IFactory default - @2.1::IFactory/default + @2.3::IFactory/default vendor.qti.esepowermanager @@ -202,12 +202,12 @@ vendor.qti.hardware.bluetooth_audio hwbinder - 2.0 + 2.1 IBluetoothAudioProvidersFactory default - @2.0::IBluetoothAudioProvidersFactory/default + @2.1::IBluetoothAudioProvidersFactory/default vendor.qti.hardware.bluetooth_sar @@ -329,6 +329,16 @@ @2.0::IIop/default + + vendor.qti.hardware.mwqemadapter + hwbinder + 1.0 + + IMwqemAdapter + MwqemAdapter + + @1.0::IMwqemAdapter/MwqemAdapter + vendor.qti.hardware.perf hwbinder @@ -424,14 +434,6 @@ @1.0::ISoter/default - - vendor.qti.hardware.trustedui - hwbinder - @1.0::ITrustedInput/default - @1.0::ITrustedInput/qtee-vm - @1.1::ITrustedUI/default - @1.1::ITrustedUI/qtee-vm - vendor.qti.hardware.tui_comm hwbinder @@ -537,6 +539,16 @@ @1.0::ISlaService/default + + vendor.xiaomi.hardware.cameraperf + hwbinder + 1.0 + + IMiCameraPerfService + default + + @1.0::IMiCameraPerfService/default + vendor.xiaomi.hardware.campostproc hwbinder diff --git a/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so b/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so index 8de8e4b..dac8cda 100644 Binary files a/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so and b/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so differ diff --git a/recovery/root/vendor/lib64/libGPreqcancel.so b/recovery/root/vendor/lib64/libGPreqcancel.so index 97607d7..6cb0bc5 100644 Binary files a/recovery/root/vendor/lib64/libGPreqcancel.so and b/recovery/root/vendor/lib64/libGPreqcancel.so differ diff --git a/recovery/root/vendor/lib64/libGPreqcancel_svc.so b/recovery/root/vendor/lib64/libGPreqcancel_svc.so index 4d09e35..6b71422 100644 Binary files a/recovery/root/vendor/lib64/libGPreqcancel_svc.so and b/recovery/root/vendor/lib64/libGPreqcancel_svc.so differ diff --git a/recovery/root/vendor/lib64/libQSEEComAPI.so b/recovery/root/vendor/lib64/libQSEEComAPI.so index c357b1d..009c66d 100644 Binary files a/recovery/root/vendor/lib64/libQSEEComAPI.so and b/recovery/root/vendor/lib64/libQSEEComAPI.so differ diff --git a/recovery/root/vendor/lib64/libdiag.so b/recovery/root/vendor/lib64/libdiag.so index a656fa6..e9d7d25 100644 Binary files a/recovery/root/vendor/lib64/libdiag.so and b/recovery/root/vendor/lib64/libdiag.so differ diff --git a/recovery/root/vendor/lib64/libdrm.so b/recovery/root/vendor/lib64/libdrm.so index 3ce2559..f2cdacc 100644 Binary files a/recovery/root/vendor/lib64/libdrm.so and b/recovery/root/vendor/lib64/libdrm.so differ diff --git a/recovery/root/vendor/lib64/libdrmfs.so b/recovery/root/vendor/lib64/libdrmfs.so index eb5d533..c49e68a 100644 Binary files a/recovery/root/vendor/lib64/libdrmfs.so and b/recovery/root/vendor/lib64/libdrmfs.so differ diff --git a/recovery/root/vendor/lib64/libdrmtime.so b/recovery/root/vendor/lib64/libdrmtime.so index a38ed11..c940c91 100644 Binary files a/recovery/root/vendor/lib64/libdrmtime.so and b/recovery/root/vendor/lib64/libdrmtime.so differ diff --git a/recovery/root/vendor/lib64/libkeymasterdeviceutils.so b/recovery/root/vendor/lib64/libkeymasterdeviceutils.so index 4003ea7..4bb52be 100644 Binary files a/recovery/root/vendor/lib64/libkeymasterdeviceutils.so and b/recovery/root/vendor/lib64/libkeymasterdeviceutils.so differ diff --git a/recovery/root/vendor/lib64/libkeymasterprovision.so b/recovery/root/vendor/lib64/libkeymasterprovision.so index c85edea..91ca1d9 100644 Binary files a/recovery/root/vendor/lib64/libkeymasterprovision.so and b/recovery/root/vendor/lib64/libkeymasterprovision.so differ diff --git a/recovery/root/vendor/lib64/libkeymasterutils.so b/recovery/root/vendor/lib64/libkeymasterutils.so index 7050bee..27bc914 100644 Binary files a/recovery/root/vendor/lib64/libkeymasterutils.so and b/recovery/root/vendor/lib64/libkeymasterutils.so differ diff --git a/recovery/root/vendor/lib64/libops.so b/recovery/root/vendor/lib64/libops.so index e2537f7..c901b3e 100644 Binary files a/recovery/root/vendor/lib64/libops.so and b/recovery/root/vendor/lib64/libops.so differ diff --git a/recovery/root/vendor/lib64/libqcbor.so b/recovery/root/vendor/lib64/libqcbor.so index 0b0a467..016600f 100644 Binary files a/recovery/root/vendor/lib64/libqcbor.so and b/recovery/root/vendor/lib64/libqcbor.so differ diff --git a/recovery/root/vendor/lib64/libqdutils.so b/recovery/root/vendor/lib64/libqdutils.so index f092f3e..bc2b81a 100644 Binary files a/recovery/root/vendor/lib64/libqdutils.so and b/recovery/root/vendor/lib64/libqdutils.so differ diff --git a/recovery/root/vendor/lib64/libqisl.so b/recovery/root/vendor/lib64/libqisl.so index c72dfbd..a56a422 100644 Binary files a/recovery/root/vendor/lib64/libqisl.so and b/recovery/root/vendor/lib64/libqisl.so differ diff --git a/recovery/root/vendor/lib64/libqservice.so b/recovery/root/vendor/lib64/libqservice.so index 1bab682..3d0ff64 100644 Binary files a/recovery/root/vendor/lib64/libqservice.so and b/recovery/root/vendor/lib64/libqservice.so differ diff --git a/recovery/root/vendor/lib64/libqtikeymaster4.so b/recovery/root/vendor/lib64/libqtikeymaster4.so index 27bbe45..d841203 100644 Binary files a/recovery/root/vendor/lib64/libqtikeymaster4.so and b/recovery/root/vendor/lib64/libqtikeymaster4.so differ diff --git a/recovery/root/vendor/lib64/librecovery_updater_msm.so b/recovery/root/vendor/lib64/librecovery_updater_msm.so index fdce85f..df5e44d 100644 Binary files a/recovery/root/vendor/lib64/librecovery_updater_msm.so and b/recovery/root/vendor/lib64/librecovery_updater_msm.so differ diff --git a/recovery/root/vendor/lib64/librpmb.so b/recovery/root/vendor/lib64/librpmb.so index d2f5de5..9f62d01 100644 Binary files a/recovery/root/vendor/lib64/librpmb.so and b/recovery/root/vendor/lib64/librpmb.so differ diff --git a/recovery/root/vendor/lib64/libsecureui_svcsock.so b/recovery/root/vendor/lib64/libsecureui_svcsock.so index feb59ee..d8996ca 100644 Binary files a/recovery/root/vendor/lib64/libsecureui_svcsock.so and b/recovery/root/vendor/lib64/libsecureui_svcsock.so differ diff --git a/recovery/root/vendor/lib64/libspcom.so b/recovery/root/vendor/lib64/libspcom.so index 3ceddd6..60ef97e 100644 Binary files a/recovery/root/vendor/lib64/libspcom.so and b/recovery/root/vendor/lib64/libspcom.so differ diff --git a/recovery/root/vendor/lib64/libspl.so b/recovery/root/vendor/lib64/libspl.so index d43d60c..56df414 100644 Binary files a/recovery/root/vendor/lib64/libspl.so and b/recovery/root/vendor/lib64/libspl.so differ diff --git a/recovery/root/vendor/lib64/libssd.so b/recovery/root/vendor/lib64/libssd.so index 7f15710..10fc065 100644 Binary files a/recovery/root/vendor/lib64/libssd.so and b/recovery/root/vendor/lib64/libssd.so differ diff --git a/recovery/root/vendor/lib64/libtime_genoff.so b/recovery/root/vendor/lib64/libtime_genoff.so index 5b6223a..0d748e1 100644 Binary files a/recovery/root/vendor/lib64/libtime_genoff.so and b/recovery/root/vendor/lib64/libtime_genoff.so differ diff --git a/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so b/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so index 3501c97..af310e1 100644 Binary files a/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so and b/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so differ diff --git a/twrp.dependencies b/twrp.dependencies index ddbcff7..1a1e918 100644 --- a/twrp.dependencies +++ b/twrp.dependencies @@ -10,5 +10,11 @@ "target_path" : "hardware/qcom-caf/bootctrl", "remote" : "LineageOS", "revision" : "lineage-18.1-caf" + }, + { + "repository" : "imjyotiraditya/msm-5.4-odin", + "target_path" : "kernel/xiaomi/odin", + "remote" : "github", + "revision" : "android-11" } ] diff --git a/twrp_renoir.mk b/twrp_odin.mk similarity index 85% rename from twrp_renoir.mk rename to twrp_odin.mk index 4c63a35..d6733c1 100644 --- a/twrp_renoir.mk +++ b/twrp_odin.mk @@ -18,15 +18,15 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk) -# Inherit from renoir device -$(call inherit-product, device/xiaomi/renoir/device.mk) +# Inherit from odin device +$(call inherit-product, device/xiaomi/odin/device.mk) # Inherit some common TWRP stuff. $(call inherit-product, vendor/twrp/config/common.mk) # Device identifier. This must come after all inclusions -PRODUCT_DEVICE := renoir -PRODUCT_NAME := twrp_renoir +PRODUCT_DEVICE := odin +PRODUCT_NAME := twrp_odin PRODUCT_BRAND := Xiaomi -PRODUCT_MODEL := Mi 11 Lite 5G +PRODUCT_MODEL := Mi Mix 4 PRODUCT_MANUFACTURER := Xiaomi