无法看到通过 k_vendor_module.rc 加载的内核模块创建的任何 /sys/devices/xx 接口

问题描述 投票:0回答:0

尝试将第三方内核供应商模块集成到我们的 android 堆栈中。因为这个模块不需要作为早期初始化的一部分,所以决定不把它放在 BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD 下,它首先起作用。

现在我正在创建一个 .rc 文件来加载它们。

.rc 文件如下所示:

on boot
    start xx_module_insmod_sh

service xx_module_insmod_sh /vendor/etc/xx_modules_run.sh sys.all.boot.ready
    class main
    user root
    group root system
    disabled
    oneshot

xx_modules_run.sh

#!/system/bin/sh
insmod /vendor/lib/modules/xyz.ko
setprop $1 1

当我在目标中运行它们时,lsmod 列出了节点 xyz.ko,但没有创建 /sys/devices/virtual/inxx。我可以在 /vendor/etc/init/* 路径中的目标中看到 .rc 和 .sh 文件。

但是如果我从 adb shell 手动 insmod 它,我可以看到 /sys/devices/virtual/inxx。

很难调试,因为启动时没有可用的 dmesg 日志。任何帮助表示赞赏。

android-source device-driver android-kernel
© www.soinside.com 2019 - 2024. All rights reserved.