一、insmod 遇到签名问题:
Required key not available
key文件路径:out/target/product/msm8953_64/obj/kernel/msm-3.18
sign-file路径:kernel/msm-3.18/scripts
模块路径:out/target/product/msm8953_64/obj/kernel/msm-3.18/driver
举例如下:
perl /kernel/msm-3.18/scripts/sign-file sha512 signing_key.priv signing_key.x509 ~/asix.ko
二、开机自动加载模块
diff --git a/qcom/msm8953_64/init.target.rc b/qcom/msm8953_64/init.target.rc
index c6caf93..0f14ef9 100755
--- a/qcom/msm8953_64/init.target.rc
+++ b/qcom/msm8953_64/init.target.rc
@@ -164,6 +164,8 @@ on boot
insmod /system/lib/modules/adsprpc.ko
# access permission for secure touch
chmod 0777 /system/bin/uartd
+ chmod 0777 /system/lib/modules/asix.ko
+ insmod /system/lib/modules/asix.ko
三、增加selinux权限
type=1400 audit(15.489:5): avc: denied { module_load } for pid=1 comm="init" path="/system/lib/modules/asix.ko" dev="mmcblk0p24" ino=2289 scontext=u:r:init:s0 tcontext=u:object_r:system_file:s0 tclass=system permissive=0
开机过程需要增加selinux权限
allow secontext tcontext:class 许可 ;
secontext指的是scontext=u:r:init:s0的init,tcontext 指的是 tcontext=u:object_r:system_file:s0 中的system_file, class指的是“tclass=system”中的system,许可指的是“denied { module_load }”中的module_load,
diff --git a/qcom/sepolicy/common/init.te b/qcom/sepolicy/common/init.te
index 7e82a94..7c17d97 100644
--- a/qcom/sepolicy/common/init.te
+++ b/qcom/sepolicy/common/init.te
@@ -37,4 +37,4 @@ allow init uartd_exec:file getattr;
#dontaudit non configfs usb denials
dontaudit init sysfs:dir write;
+allow init system_file:system module_load;
来源:CSDN
作者:jlgcumt
链接:https://blog.csdn.net/jlgcumt/article/details/103974690