android内核中未显示内核模块

android内核中未显示内核模块,android,linux-kernel,embedded-linux,android-source,kernel-module,Android,Linux Kernel,Embedded Linux,Android Source,Kernel Module,您好,我对android/Linux内核模块的创建非常陌生,我一直在尝试使用以下指南获得一个简单的hello模块: 据我所知,我已经能够用aosp正确编译模块。 但是,当我查看adb shell上的/system/lib/modules/时,我没有看到任何驱动程序模块,而是有: optee.ko readme.txt rk29-ipp.ko.3.0.101+ optee_armtz.ko rk29-ipp.ko rk29-ipp.ko.3.0.36+ 我的猜测是,模块正在被压缩

您好,我对android/Linux内核模块的创建非常陌生,我一直在尝试使用以下指南获得一个简单的hello模块:

据我所知,我已经能够用aosp正确编译模块。 但是,当我查看adb shell上的/system/lib/modules/时,我没有看到任何驱动程序模块,而是有:

optee.ko       readme.txt  rk29-ipp.ko.3.0.101+ 
optee_armtz.ko rk29-ipp.ko rk29-ipp.ko.3.0.36+
我的猜测是,模块正在被压缩成android内核使用的包。 是否有防止这种情况发生的配置? 或 我走错方向了吗

im使用的板是带有arm64处理器的rk3399

尝试将模块(hello.c)保存在内核中的另一个目录中,如drivers/misc。然后将
obj-m+=hello.o
添加到内核目录中的驱动程序/misc/Makefile。运行一个干净的构建,并在刷新新的system.img时告诉我板上的/system/lib/modules/中是否存在.ko


您必须在/system/core/rootdir/init.rc文件中包含
insmod/system/lib/modules/hello.ko
,以便在板启动时自动加载模块。

lsmod给您提供了什么?空列表:使用的模块大小by@Dan当你输入驱动程序时会发生什么?如果lsmod给你一个空列表,没有插入内核模块。要么您没有插入它们(使用insmod或modprobe),要么它们初始化失败。再次尝试插入它们,并使用dmesg查看日志消息。insmod模块工作正常。也许我不清楚。我试图用AOSP的其余部分编译这个模块。我试图找出所有这些驱动程序的编译和保存/运行位置。这并没有回答实际问题。在您发布此响应的四天前,询问者在评论中解释说,他们已经能够手动加载模块。问题是如何将模块包含在系统映像中并自动加载。编辑了用于将模块包含在系统映像中并自动加载的答案