启动时如何加载模块?它们在启动时加载的顺序是什么?怎么改?
How the modules are loaded at boot time? And what is the order in which they loaded at boot time? How to change it?
我正在寻找模块在启动时是如何加载的。
谁来加载系统启动时的模块。
我正在使用 raspbain os。
在升级到设备树之前,我的模块加载良好,但升级后我的模块加载不同。
为了避免这种情况,我使用 softdep 以我想要的方式加载模块。
但现在我想删除 those softdep 并希望我的模块以它们在没有设备树的情况下加载的方式加载。
任何人都可以澄清这个关于他们加载的方式和顺序以及谁将在启动时加载模块的疑问
指示内核如何加载模块的文件很少:内核模块目录 (/lib/modules/<kernel-version>
) 中的 modules.*
个文件。通常不应手动编辑这些文件,因为有一个名为 depmod
的好工具,它将分析可用模块并构建最佳加载顺序。 depmod
本身查看由模块(EXPORT_SYMBOL
/EXPORT_SYMBOL_GPL
宏)导出的符号以及对这些符号的引用,这允许它构建正确的初始化序列。
在启动期间,可用硬件被探测,相应的模块被系统初始化脚本加载(通常这在 initrd 中完成)。您可以使用 modprobe.d
目录中的配置文件指定要在运行时加载(或列入黑名单)的其他模块(请参阅 modprobe.d(5)
手册页)
我正在寻找模块在启动时是如何加载的。
谁来加载系统启动时的模块。
我正在使用 raspbain os。
在升级到设备树之前,我的模块加载良好,但升级后我的模块加载不同。
为了避免这种情况,我使用 softdep 以我想要的方式加载模块。
但现在我想删除 those softdep 并希望我的模块以它们在没有设备树的情况下加载的方式加载。
任何人都可以澄清这个关于他们加载的方式和顺序以及谁将在启动时加载模块的疑问
指示内核如何加载模块的文件很少:内核模块目录 (/lib/modules/<kernel-version>
) 中的 modules.*
个文件。通常不应手动编辑这些文件,因为有一个名为 depmod
的好工具,它将分析可用模块并构建最佳加载顺序。 depmod
本身查看由模块(EXPORT_SYMBOL
/EXPORT_SYMBOL_GPL
宏)导出的符号以及对这些符号的引用,这允许它构建正确的初始化序列。
在启动期间,可用硬件被探测,相应的模块被系统初始化脚本加载(通常这在 initrd 中完成)。您可以使用 modprobe.d
目录中的配置文件指定要在运行时加载(或列入黑名单)的其他模块(请参阅 modprobe.d(5)
手册页)