首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找出谁加载了特定的Linux内核模块?

如何找出谁加载了特定的Linux内核模块?
EN

Stack Overflow用户
提问于 2021-11-09 10:28:22
回答 1查看 79关注 0票数 0

我为Linux构建了一个特定的驱动程序作为模块(m),即恩智浦的spi-imx。然而,Linux在引导时会探测这个驱动程序。我正在努力找出是什么进程/其他模块/驱动程序请求这个spi-imx驱动程序。depmod不会显示spi-imx和其他模块之间的任何依赖关系(除了spidev as子模块)。

经过一些研究,我发现Linux会自动(?)当检测到新设备时,调用modprobe。那么Linux真的会因为ecSPI在设备树中的状态为“as”而调用modprobe吗?如果是这样,我如何才能防止这种情况发生?我想通过modprobe从用户空间应用程序动态加载spi-imx。它背后的故事是:协处理器在Linux引导过程中并行使用这条SPI行。这当然会干扰并中断协处理器对SPI线的使用。当协处理器通过SPI (也是一种引导机制)完成传输时,它应该将SPI行移交给Linux。

我非常感谢任何关于这方面的提示、链接、提示和评论。

EN

回答 1

Stack Overflow用户

发布于 2021-11-10 14:07:04

非常感谢你的回答。正如你们所提到的,我还发现Linux本身会探测设备是否存在(“if”)。

一种可能的解决方案是通过在*.conf文件中输入类似于"install spi-imx /bin/false“的条目来完全切断modprobe调用。但是,对于Linux和用户空间,这使得通过modprobe加载驱动程序是不可能的。

位于/etc/modprobe.d/的*.conf中的“黑名单spi-imx”是防止Linux在启动时探测驱动程序的方法。在此之后,来自用户空间的modprobe可以成功加载驱动程序。

再次感谢&致以最良好的敬意

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69896505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档