【发布时间】:2023-03-14 12:28:01
【问题描述】:
我正在使用 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'
如果有人可以帮助我,我真的很感激。
谢谢。
【问题讨论】:
-
正如你所说的“.config 不包含 CONFIG_VIDEOBUF2_CORE=y'”,显然编译会失败。你能提供你正在遵循的编译步骤吗?这些步骤中必须缺少某些点,否则 .config 应该包含该标签。
-
这也取决于 MEDIA_SUPPORT。请首先使用 menuconfig 启用它。搜索 menuconfig 上的依赖选项
-
我有 MEDIA_SUPPORT,我在生成的 .config 中看到 CONFIG_MEDIA_SUPPORT=y。我不知道如何使用菜单配置。我正在做'make myconfig'和make。我只需要在 myconfig 中添加新配置。
-
“我不知道如何使用 menuconfig。” -- 试试
make menuconfig。不鼓励手动编辑 .config 文件。
标签: linux-kernel linux-device-driver