我正在寻找如何在启动时加载模块。
系统启动时谁将加载模块。
我正在使用raspbain os。
在升级到设备树之前,我的模块加载得很好,但升级后我的模块的加载有所不同。
为了避免这种情况,我使用softdep以我想要的方式加载模块。
但现在我想删除那些softdep,并希望我的模块以没有设备树的方式加载。
有人能澄清关于他们如何加载以及以何种顺序加载以及谁将在引导时加载模块的疑问吗?
有几个文件指示内核如何加载模块:内核模块目录(/lib/modules/<kernel-version>
)中的modules.*
文件。通常不应该手动编辑这些文件,因为有一个名为depmod
的好工具,它可以分析可用的模块并构建最佳加载顺序。depmod
本身查看由模块(EXPORT_SYMBOL
/EXPORT_SYMBOL_GPL
宏)导出的符号以及对这些符号的引用,这使它能够构建正确的初始化序列。在引导期间,系统初始化脚本会探测可用硬件,并加载相应的模块(通常在initrd中完成)。您可以使用modprobe.d
目录中的配置文件指定运行时要加载(或列入黑名单)的其他模块(请参阅modprobe.d(5)
手册页)