Skip loading kernel modules for 16K mode
For boot options, 16K kernel modules are all stored under vendor_boot.
So we can skip loading modules from vendor_dlkm/system_dlkm
if device is in 16K mode and boot option is enabled.
Bug: 293313353
Change-Id: I46c440a7ce67dfbd0cce83dadbd908dff144c583
diff --git a/insmod/insmod.sh b/insmod/insmod.sh
index 8cac37e..f15ebbc 100755
--- a/insmod/insmod.sh
+++ b/insmod/insmod.sh
@@ -11,6 +11,17 @@
system_modules_dir=
vendor_modules_dir=
+pagesize=$(getconf PAGESIZE)
+bootoption=$(getprop ro.product.build.16k_page.enabled)
+if [ "$pagesize" != "4096" ] && [ "$bootoption" == "true" ]; then
+ echo "Device has page size $pagesize , skip loading modules from vendor_dlkm/system_dlkm because all modules are stored on vendor_boot"
+ setprop vendor.common.modules.ready 1
+ setprop vendor.device.modules.ready 1
+ setprop vendor.all.modules.ready 1
+ setprop vendor.all.devices.ready 1
+ return 0
+fi
+
for dir in system vendor; do
for f in /${dir}/lib/modules/*/modules.dep /${dir}/lib/modules/modules.dep; do
if [[ -f "$f" ]]; then
@@ -52,10 +63,10 @@
else
# Set property even if there is no insmod config
# to unblock early-boot trigger
- setprop vendor.common.modules.ready
- setprop vendor.device.modules.ready
- setprop vendor.all.modules.ready
- setprop vendor.all.devices.ready
+ setprop vendor.common.modules.ready 1
+ setprop vendor.device.modules.ready 1
+ setprop vendor.all.modules.ready 1
+ setprop vendor.all.devices.ready 1
exit 1
fi