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