在编译时将参数传递给内置内核模块

时间:2014-02-26 07:56:17

标签: linux linux-kernel linux-device-driver

有没有办法在编译linux内核时将参数传递给内置内核模块?如果有,你能解释一下吗? 我想将max_bonds的值传递给我的内核中内置模块的绑定驱动程序。

Linux内核版本 - 2.6

2 个答案:

答案 0 :(得分:4)

您可以使用两个内核功能来完成此任务:

  • 您可以通过内核命令行将模块参数值传递给内置模块,作为“modulename.param = value”。因此,在您的情况下,您需要在内核命令行中使用“bonding.max_bonds = 50”。
  • 从2.6.28左右开始(希望你的内核不早于此),内核支持在编译时通过CONFIG_CMDLINE_BOOL(“内置内核命令行”)和CONFIG_CMDLINE设置默认命令行。设置CONFIG_CMDLINE_BOOL = y,然后将CONFIG_CMDLINE设置为内核命令行中的任何内容(例如,“bonding.max_bonds = 50”)。引导加载程序传递给内核的任何其他命令行选项将附加到您在内核配置中设置的默认命令行。

通过使用这两个功能,我认为你可以得到你想要的东西,而无需修改任何内核源代码,只需调整配置文件。

答案 1 :(得分:0)

我认为可以通过更改模块源来实现。每个模块参数都有其默认值在源代码中编码 - 只需修改它。

相关问题