我目前正在尝试在引导过程结束时插入内核模块,因此我在 init.rc 中创建了以下条目:
on post_late_start
start myscript
on nonencrypted
class_start late_start
trigger post_late_start
on property:void.decrypt=trigger_restart_framework
class_start main
class_start late_start
trigger post_late_start
service myscript /data/my_sh.sh
disabled
oneshot
Run Code Online (Sandbox Code Playgroud)
然后在我的 /data 目录中 my_sh.sh 有以下内容:
#!/system/bin/sh
log -t mytag -p V "Hello World!"
insmod mymodule.ko mod_parameter=arg
Run Code Online (Sandbox Code Playgroud)
但是当我运行时——有时我在 logcat -s“mytag”时看不到“Hello World”标签,当然,也没有安装 insmodded 模块。
延迟插入内核模块的正确方法是什么(它需要在网络启动并挂载 /data 后插入)。更进一步 - 我如何将 insmod 的输出输入到日志中以便我可以调试?任何帮助表示赞赏,如有必要,我可以发布更多详细信息。