android_recovery_motorola_o.../recovery/root/system/bin/postrecoveryboot.sh
Jyotiraditya Panda 5a04596287 odin: postrecoveryboot: Fix TWRP not flashing as recovery
(Advanced > Flash current TWRP)

Signed-off-by: Jyotiraditya Panda <jyotiraditya@aospa.co>
2021-10-05 09:23:44 +05:30

49 lines
1.4 KiB
Bash
Executable file

#!/system/bin/sh
# find necessary modules for touchscreen, etc. to ensure no mismatch with kernel
copy-modules() {
if grep -Fq twrpfastboot /proc/cmdline; then
echo "using ramdisk modules (fastboot boot)"
return
fi
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
suffix="_$(getprop ro.boot.slot)"
fi
echo "using vendor$suffix modules"
mkdir /v
mount -t erofs -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 ] && [ -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
echo "! vendor touchscreen modules not found"
exit 1
fi
echo "loading vendor touchscreen modules"
for module in $(modprobe -D -d /vendor/lib/modules msm_drm fts_touch_spi | grep modules); do
insmod /vendor/lib/modules/"$(basename "$module")"
done
}
copy-modules
install-touch
exit 0