如何在启动时加载模块?它们在启动时加载的顺序是什么?怎么改呢?

时间:2015-02-04 11:54:18

标签: linux boot raspbian udev initrd

我正在寻找在启动时如何加载模块。

系统启动时谁将加载模块。

我正在使用raspbain os。

在升级到设备树之前,我的模块加载良好,但升级后我的模块加载方式不同。

为了避免我使用softdep以我想要的方式加载模块。

但是现在我想删除那些softdep并希望我的模块以他们加载的方式加载,而不需要设备树。

任何人都可以澄清这些疑问,说明他们在启动时加载模块的方式和顺序

1 个答案:

答案 0 :(得分:1)

有一些文件可以指示内核如何在内核模块目录(modules.*)中加载模块:/lib/modules/<kernel-version>文件。通常不应手动编辑这些文件,因为有一个名为depmod的好工具,它将分析可用模块并构建最佳加载顺序。 depmod本身查找由模块(EXPORT_SYMBOL / EXPORT_SYMBOL_GPL宏)导出的符号以及对这些符号的引用,这允许它构建正确的初始化序列。 在引导期间,可用硬件被探测,并且系统初始化脚本正在加载相应的模块(通常这在initrd中完成)。您可以在运行时使用modprobe.d目录中的配置文件指定要加载(或列入黑名单)的其他模块(请参阅modprobe.d(5)手册页)