我编写了一个 Linux 内核模块,我将其包含在从 kernel.org 下载的内核中。我修改了我的模块所在目录的 Kconfig 文件,以将其包含在配置菜单中。
但是当我运行时make menuconfig
,我只能选择它作为内置,我不能让它作为一个模块运行。是什么决定了一个程序是仅是内置的还是仅是模块的,或两者兼而有之?
我编写了一个 Linux 内核模块,我将其包含在从 kernel.org 下载的内核中。我修改了我的模块所在目录的 Kconfig 文件,以将其包含在配置菜单中。
但是当我运行时make menuconfig
,我只能选择它作为内置,我不能让它作为一个模块运行。是什么决定了一个程序是仅是内置的还是仅是模块的,或两者兼而有之?
我已经想好怎么做了。
对于要“仅模块”编译的内核程序,它必须依赖于“m”。举例:
config FOO
depends on m
这会将 FOO 限制为模块 (=m) 或禁用 (=n)。
更多信息: http ://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt