13

我有一個使用bitbake做一些構建的OpenEmbedded環境。我想得到一些「互動」的東西,在那裏bitbake會暫停並要求輸入,然後繼續構建,但我發現這是不可能的。是否可以將命令行變量傳遞給bitbake構建?

因爲我不能這樣做,我正在尋找一些方法來傳遞構建的額外標誌。有沒有辦法將標誌傳遞給像gcc的-D選項那樣的bitbake構建?

即:

bitbake -Dfoo=bar oe-myimage 

因此期間的oe-myimage可變foo構建過程將被設置爲bar

回答

2

不,我不相信這樣的機制存在。但你可以做類似

​​

不確定這會解決您的特定問題與否。此外,本地站點範圍的變量還有一個機制:如果您的主目錄下有一個名爲「.oe」的目錄中有一個「site.conf」文件,則bitbake將讀取該文件並將這些變量應用於全局環境。也許這會有所幫助?你沒有具體說明你想要解決什麼問題,可能有更好的方法。

14
bitbake -Dfoo=bar oe-myimage 

-D標誌不被bitbake識別。所以,使用上述方法將無法工作。相反,您可以使用以下步驟從命令行指定標誌 -

假設您要導出變量foo並期望它能被bitbake識別。

export foo="foobar" 

您需要導出這個和採購OE-INIT-集結ENV之後通過BB_ENV_EXTRAWHITE變量bitbake的通知。這意味着

. oe-init-build-env 
export foo="foobar" 
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE foo"  

此白名單變量'foo'用於bitbake,因此在構建期間使其對任何配方和子流程都可見。

這之後,您可以通過類似的表達調用使用bitbake的內部變量foo的任何bitbake的操作 -

${foo} 
4

,你可以這樣做:

export foo="bar" 
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE foo" 
bitbake oe-myimage 
3

雖然沒有什麼錯bitbake的做其他的答案接受 - 如文件here所記錄的 - 這意味着您可以根據需要寫入儘可能多的bitbake變量來創建一些臨時配置文件,並通過在命令行中指定文件的名稱在bitbake.conf之後讀取它。例如:

bitbake --read=./extra.conf 

我個人覺得這比處理環境變量更方便。

相關問題