2014-01-10 89 views
0

我正在使用3.10.x內核樹。我的內核模塊需要配置VIDEOBUF2。編譯內核模塊時需要啓用配置幫助

即在驅動程序/媒體/用v412核心/的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

正如你所說的「.config不包含CONFIG_VIDEOBUF2_CORE = y'」,顯然編譯將會失敗。你能提供你正在遵循的編譯步驟嗎?這些步驟中必須缺少一些點,否則.config應包含該標籤。 – pratik

+0

也取決於MEDIA_SUPPORT。請先使用menuconfig .search for for options選項啓用menuconfig – user2760375

+0

我有MEDIA_SUPPORT,並且在生成的.config文件中看到CONFIG_MEDIA_SUPPORT = y。我不知道如何使用menuconfig。我正在做'make myconfig'並且make。我只需要將新配置添加到myconfig。 – michael

回答

0

我不能直接評論這個問題,因爲它需要50個聲望纔有這個特權。你可以這樣做:make ARCH = target_architecture CROSS_COMPILE = toolchain defconfig_file。該命令的執行將在你的內核源代碼的主目錄中創建一個.config文件。這個文件將包含目標SOC上外設的默認配置(我假設你有關於defconfig文件的知識)。現在,如果你想操縱它並想添加你的設備支持,你可以:make menuconfig,你可以通過選擇配置來添加你的設備支持,比如VIDEOBUF2_CORE,然後你的內核可以編譯/交叉編譯。 PS:避免手動編輯.config文件。