2016-11-21 16 views
5

मेरे पास 'बाइनरी' (यानी संकलित नहीं किया गया) की निर्देशिका है और बस उन्हें अपनी लक्ष्य रूट फ़ाइल पर स्थापित करना चाहते हैं प्रणाली।मैं निर्देशिका को कॉपी करने के लिए एक yocto/bitbake नुस्खा कैसे लिखूं

मैंने कई लेख देखे हैं, जिनमें से कोई भी मेरे लिए काम नहीं कर रहा है।

यह नुस्खा के वांछित कार्यशीलता है:

myRecipe/myFiles/-> myRootFs/dir// स्थापित करने के लिए

मेरे वर्तमान प्रयास है:

SRC_URI += "file://myDir" 

do_install() { 
     install -d ${D}/path/to/dir/on/fs 
     install -m ${WORKDIR}/myDir ${D}/path/to/dir/on/fs 
} 

मैं नहीं कर सकता कुल मिलाकर Yocto दस्तावेज के बारे में शिकायत, यह वास्तव में अच्छा है! बस इस तरह का कुछ उदाहरण नहीं मिल रहा है!

+0

इस का एक अच्छा उदाहरण के लिए देखें psplash_git.bb -> do_install_append – Stephano

+0

इस लाइन बदलें "स्थापित मी $ {WORKDIR}/mydir $ {D}/path/to/dir// FS पर "to" install -m $ {WORKDIR}/myDir/* $ {D}/path/to/dir/on/fs " –

उत्तर

6

आपको इन फ़ाइलों को अपने लक्षित रूटफ में कॉपी करना होगा। उन्हें स्थानांतरित करने के लिए मत भूलना अगर वे मानक स्थानों में स्थापित नहीं हैं।

SRC_URI += "file://myDir" 

do_install() { 
    install -d ${D}/path/to/dir/on/fs 
    cp -r ${WORKDIR}/myDir ${D}/path/to/dir/on/fs 
} 
FILES_${PN} += "/path/to/dir/on/fs" 
+0

ऐसा लगता है कि निर्देशिका की प्रतिलिपि है, लेकिन इसमें कोई भी फाइल या अन्य निर्देशिका नहीं है। मुझे लगता है कि मुझे इन सभी को स्पष्ट रूप से अवश्य कहना है। क्या ऐसा करने के लिए एक समझदार, त्वरित तरीका है? –

+0

बेशक यह करता है। यही कारण है कि मैंने रिकर्सिव कॉपी के लिए 'cp -r' का उपयोग किया। –

+0

मैंने सीपी-आर का उपयोग किया, यह 'myDir' निर्देशिका को एफएस में कॉपी करता है लेकिन इसकी कोई भी सामग्री नहीं ... –

0

इस तरह एक नुस्खा फ़ोल्डर के लिए:

. 
├── files 
│   ├── a.txt 
│   ├── b.c 
│   └── Makefile 
└── myrecipe.bb 

आप अपने rootfs में एक विशिष्ट फ़ोल्डर पर इसे स्थापित करने के लिए निम्न नुस्खा का उपयोग कर सकते हैं:

SRC_URI = " file://*" 
do_install() { 
    install -d ${WORKDIR}/my/dir/on/rootfs 
    install -m 0755 ${S}/* ${WORKDIR}/my/dir/on/rootfs/* 
} 
FILES_${PN} = "/my/dir/on/rootfs/* " 
0

मुझे लगता है कि ऐसा नहीं है "install -m" के बाद, मोड मान जोड़ने के लिए आप भूल गए हैं,

इंस्टॉल कमांड का मैन पेज देखें : https://linux.die.net/man/1/install

install -m [mode] src destination 
संबंधित मुद्दे

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