I'm trying to add TWRP support for a Xiaomi Pad 7 Pro. This is proving very difficult, as I'm having trouble wrapping my mind around the numerous Android abstraction layers.
I know I need to load 4 services to get encryption working:
> android.hardware.gatekeeper-service-qti.rc\
> android.hardware.secure_element-service.qti.rc\
> android.hardware.security.keymint-service-qti.rc\
> qseecomd.rc
Now, this works. I can boot TWRP and see decrypted files. However the touch screen doesn't work. I'm missing a driver. OK, I load 'xiaomi_touch.ko' and also 'nt36532_touch.ko', found in partitions on my device. Well, the touch still doesn't work, I guess there is a service to load?
Now my question: What is the relationship between the
/odm
and /vendor
and /vendor_dlkm
partitions and TWRP. There already are /system
and /vendor
provided by TWRP, at some point are the partitions mounted and then the services (etc/init/*.rc) loaded from the mounted partitions, or is this never done, and the TWRP expects all the files to be copied into the ramdisk folders /odm /vendor /system
without touching the partitions.
When I "adb shell" into the device, these partitions are not mounted, should they be?
Complicating matters, some drivers do '**dlopen()**'s so they can't be reorganized around between different partitions.
Any tips on this?
Asked by overscore
(1 rep)
Aug 6, 2025, 05:34 PM
Last activity: Aug 7, 2025, 02:59 AM
Last activity: Aug 7, 2025, 02:59 AM