13

मेरे पास कुछ बिल्ड करने के लिए बिटबेक का उपयोग करके एक ओपनएम्बेड वातावरण है। मैं कुछ "इंटरैक्टिव" प्राप्त करना चाहता था जहां बिटकबेक रुक जाएगा और इनपुट मांगेगा, फिर निर्माण के साथ जारी रहेगा लेकिन मुझे पता चला है कि यह संभव नहीं है।क्या बिटबैक निर्माण में कमांड लाइन वैरिएबल में पास करना संभव है?

चूंकि मैं ऐसा नहीं कर सकता क्योंकि मैं निर्माण के लिए अतिरिक्त झंडे में जाने के लिए कुछ रास्ता ढूंढ रहा हूं। क्या बिटबैक बनाने के लिए झंडे को पास करने का कोई तरीका है जीसीसी के -D विकल्प की तरह?

अर्थात्:

bitbake -Dfoo=bar oe-myimage 

इस प्रकार oe-myimage चर foo के निर्माण की प्रक्रिया के दौरान bar करने के लिए सेट कर दिया जाएगा।

उत्तर

2

नहीं, मुझे विश्वास नहीं है कि इस तरह की एक तंत्र मौजूद है। लेकिन आप

"echo "foo = \"bar\"" >local.conf 

कुछ ऐसा नहीं कर सकते हैं जो आपकी विशेष समस्या को हल करेगा या नहीं। साथ ही, स्थानीय साइट-व्यापी चर के लिए एक तंत्र है: यदि आपके पास .o नामक निर्देशिका के तहत आपकी होम निर्देशिका में 'site.conf' फ़ाइल है, तो बिटबेक इसे पढ़ेगा और प्रत्येक निर्माण के लिए वैश्विक वातावरण में उन चर को लागू करेगा। शायद वह मदद करेगा? आपने यह निर्दिष्ट नहीं किया कि आप किस समस्या को हल करने की कोशिश कर रहे हैं, बेहतर तरीके हो सकते हैं।

14
bitbake -Dfoo=bar oe-myimage 

-D ध्वज बिटबेक द्वारा पहचाना नहीं गया है। तो, उपरोक्त विधि का उपयोग काम नहीं करेगा। इसके बजाय आप निम्न चरणों का उपयोग करके कमांड लाइन से झंडे निर्दिष्ट कर सकते हैं -

कहें कि आप परिवर्तनीय foo निर्यात करना चाहते हैं और उम्मीद है कि यह बिटबेक द्वारा पहचाना जाए।

export foo="foobar" 

आप इस निर्यात और BB_ENV_EXTRAWHITE चर के माध्यम से bitbake सूचित सोर्सिंग ँ-init-निर्माण env के बाद की आवश्यकता होगी। यह

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

इस श्वेतसूची bitbake के लिए चर 'foo' का अर्थ है और इस तरह यह निर्माण के दौरान किसी भी नुस्खा और उपप्रक्रिया को दिखाई पड़ता है।

इस के बाद आप की तरह भाव के माध्यम से bitbake भीतर चर foo उपयोग कर किसी भी bitbake संचालन आह्वान कर सकते हैं -

${foo} 
4

आप कर सकते हैं:

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

जबकि वहाँ अन्य उत्तर bitbake करता है के साथ कुछ भी गलत नहीं है here दस्तावेज के रूप में एक पोस्टस्ट्रेड तर्क स्वीकार करें। इसका अर्थ यह है कि आप कुछ बिटबैक वैरिएबल लिख सकते हैं क्योंकि आप कुछ अस्थायी कॉन्फ़िगरेशन फ़ाइल चाहते हैं और इसे कमांड लाइन पर फ़ाइल का नाम निर्दिष्ट करके bitbake.conf के बाद पढ़ा है। उदाहरण के लिए:

bitbake --read=./extra.conf 

मुझे व्यक्तिगत रूप से पर्यावरण चर से निपटने से अधिक सुविधाजनक लगता है।

संबंधित मुद्दे