[FIXME] hiphi: recovery/root: Implement proper modules loading
* On different versions of ROM can be used different kernel modules, loading prebuilds can cause issues with battery, touchscreen and OTG for some users. * However, in fastbootd mode not possible to load kernel modules from current ROM, so we forced to use prebuilds for it. Of course, its not proper solution, but at least it keep situation in same state, and fixes issues for some users in normal recovery mode. Signed-off-by: 7Soldier <reg.fm4@gmail.com>
This commit is contained in:
parent
bec02b8edb
commit
0eca42009d
2 changed files with 38 additions and 5 deletions
|
@ -30,7 +30,12 @@ import /init.recovery.qcom_decrypt.rc
|
|||
on early-init
|
||||
start set_permissive
|
||||
|
||||
# Kernel modules
|
||||
on fs
|
||||
wait /dev/block/platform/soc/${ro.boot.bootdevice}
|
||||
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
|
||||
|
||||
on property:init.svc.fastbootd=running
|
||||
# Load prebuild kernel modules in fastboot mode
|
||||
insmod /vendor/lib/modules/msm_drm.ko
|
||||
insmod /vendor/lib/modules/mmi_annotate.ko
|
||||
insmod /vendor/lib/modules/mmi_info.ko
|
||||
|
@ -51,12 +56,15 @@ on early-init
|
|||
insmod /vendor/lib/modules/gpr_dlkm.ko
|
||||
insmod /vendor/lib/modules/spf_core_dlkm.ko
|
||||
insmod /vendor/lib/modules/adsp_loader_dlkm.ko
|
||||
setprop twrp.modules.loaded true
|
||||
|
||||
on fs
|
||||
wait /dev/block/platform/soc/${ro.boot.bootdevice}
|
||||
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
|
||||
on post-fs && property:init.svc.fastbootd=stopped
|
||||
# Trigger loading kernel modules in normal mode
|
||||
setprop twrp.modules.loaded true
|
||||
|
||||
# Load ADSP firmware for PMIC
|
||||
on property:twrp.modules.loaded=true
|
||||
# Load kernel modules and ADSP firmware for PMIC
|
||||
wait /sys/kernel/boot_adsp/boot
|
||||
start runatboot
|
||||
wait /sys/class/power_supply/battery
|
||||
|
||||
|
|
|
@ -1,4 +1,29 @@
|
|||
#!/system/bin/sh
|
||||
is_fastboot=$(getprop init.svc.fastbootd)
|
||||
if [ "$is_fastboot" != "running" ]; then
|
||||
mount /vendor_dlkm
|
||||
insmod /vendor_dlkm/lib/modules/msm_drm.ko
|
||||
insmod /vendor_dlkm/lib/modules/mmi_annotate.ko
|
||||
insmod /vendor_dlkm/lib/modules/mmi_info.ko
|
||||
insmod /vendor_dlkm/lib/modules/mmi_relay.ko
|
||||
insmod /vendor_dlkm/lib/modules/mmi_charger.ko
|
||||
insmod /vendor_dlkm/lib/modules/mmi_sys_temp.ko
|
||||
insmod /vendor_dlkm/lib/modules/sensors_class.ko
|
||||
insmod /vendor_dlkm/lib/modules/touchscreen_mmi.ko
|
||||
insmod /vendor_dlkm/lib/modules/stmicro_mmi.ko
|
||||
insmod /vendor_dlkm/lib/modules/goodix_brl_mmi.ko
|
||||
insmod /vendor_dlkm/lib/modules/sx937x_sar.ko
|
||||
insmod /vendor_dlkm/lib/modules/bm_adsp_ulog.ko
|
||||
insmod /vendor_dlkm/lib/modules/qti_glink_charger.ko
|
||||
insmod /vendor_dlkm/lib/modules/qpnp_adaptive_charge.ko
|
||||
insmod /vendor_dlkm/lib/modules/q6_pdr_dlkm.ko
|
||||
insmod /vendor_dlkm/lib/modules/q6_notifier_dlkm.ko
|
||||
insmod /vendor_dlkm/lib/modules/snd_event_dlkm.ko
|
||||
insmod /vendor_dlkm/lib/modules/gpr_dlkm.ko
|
||||
insmod /vendor_dlkm/lib/modules/spf_core_dlkm.ko
|
||||
insmod /vendor_dlkm/lib/modules/adsp_loader_dlkm.ko
|
||||
fi
|
||||
|
||||
mkdir /firmware
|
||||
SLOT=$(getprop ro.boot.slot_suffix)
|
||||
mount /dev/block/bootdevice/by-name/modem$SLOT /firmware -O ro
|
||||
|
|
Loading…
Reference in a new issue