在编译内核模块时需要帮助以启用配置

时间:2014-01-10 02:25:13

标签: linux-kernel linux-device-driver

我正在使用3.10.x内核树。我的内核模块需要配置VIDEOBUF2。

在drivers / media / v4l2-core / Kconfig中定义:

# Used by drivers that need Videobuf2 modules
config VIDEOBUF2_CORE
    select DMA_SHARED_BUFFER
    tristate

所以我把'CONFIG_VIDEOBUF2_CORE = y'放在我的内核配置文件中 编译。从Kconfig它有CONFIG_VIDEOBUF2_CORE没有 依赖,我想在我的内核中添加CONFIG_VIDEOBUF2_CORE = y 配置应该工作。我正在修改正确的内核配置文件 设置其他标志,如CONFIG_VIDEO_DEV = y,并且有效。

生成的.config不包含'CONFIG_VIDEOBUF2_CORE = y'

并且编译因一堆

而失败
undefined reference to `vb2_buffer_done'
undefined reference to `vb2_buffer_done'
undefined reference to `vb2_buffer_done'
undefined reference to `vb2_buffer_done'

如果有人可以帮助我,我真的很感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

我不能直接评论这个主题,因为它需要50个声誉来获得这个特权。你可以这样做:make ARCH = target_architecture CROSS_COMPILE = toolchain defconfig_file。此命令执行将在内核源的主目录中创建.config文件。此文件将包含目标SOC上的外围设备的默认配置(我假设您具有与defconfig文件相关的知识)。现在,如果你想操作它并希望添加你的设备支持:make menuconfig你可以通过在你的情况下选择VIDEOBUF2_CORE之类的配置来添加你的设备支持,然后你的内核就可以编译了/交叉编译。 PS:避免手动编辑.config文件。