我正在使用Yocto Linux(1.3版)開發一個項目的內核模塊。我想使用我的Yocto項目中的內核頭文件和編譯器以及庫,但是無需每次都運行bitbake來開發內核模塊。我最初的解決方案,這是爲了執行開發人員專用殼層任務,並使用這樣的提取環境變量:如何在Yocto中構建食譜時提取使用的環境變量?
bitbake mykernel -c devshell
然後在新的xterm窗口bitbake的爲我打開:
env | sed 's/\=\(.*\)/\="\1"/' > buildenv #put quotes around r-values in env listing
^D #(I leave the devshell)
然後把它複製到我開發目錄和源在運行make其所有的選項
KERNEL_PATH=/mypathto/build/tmp/sysroots/socfpga_cyclone5/usr/src/kernel
source ./buildenv && make -C $KERNEL_PATH V=1 M=`pwd` \
ARCH=arm CROSS-COMPILE=arm-linux-gnueabihf- \
KERNEL_VERSION=3.13.0-00298-g3c7cbb9 \
CC="arm-linux-gnueabihf-gcc -mno-thumb-interwork -marm" \
LD=arm-linux-gnueabihf-ld AR=arm-linux-gnueabihf-ar
現在我的問題之前:
我該說這個完全錯誤嗎?交叉開發內核模塊的推薦方式是什麼?我這樣做是因爲我不想打開一個bitbake devshell,並且每次都在那裏做我的代碼開發。
這類作品(我可以編譯工作模塊),但化妝劇本給我一個錯誤消息說核心配置是無效的。我也嘗試過將KERNEL_PATH設置爲內核包git目錄(build/tmp/work /// git(它包含什麼看起來是一個有效的.config文件),並且我得到了類似的錯誤。
如何在無需打開devshell的情況下提取env?我想編寫一個腳本來提取它,以便我的同事不必手動執行它。devshell命令將打開一個完全獨立的Xterm窗口,從而減少其可腳本化...
是的,這似乎是我想要的,除了我找不到任何關於如何將CMake添加到SDK中的文檔。 – benf 2015-01-20 19:06:46