2015-11-25 39 views
5

Sto provando a mettere una cartella nella root del filesystem. Nella documentazione (ad esempio here) utilizzano principalmente variabili e quindi i file e le cartelle da SRC_URI risultano archiviati in /usr/bin o qualcosa del genere ma mai in /.Come posso aggiungere una cartella o un file alla radice in una ricetta con bitbake?

Quindi ecco la mia ricetta:

DESCRIPTION = "Example for adding files and folders to rootfs" 

SRC_URI += "file://example_folder" 
SRC_URI += "file://example_file" 

LICENSE = [...] 

do_install() { 
    install -d ${D}/rootfolder 
    cp -r ${WORKDIR}/example_folder ${D]/rootfolder/ 
    install -m 0755 ${WORKDIR}/example_file ${D}/rootfolder 
} 

Questo è solo uno dei molti do_install varianti che ho tried.Every di essi comportavano, in entrambi i Error: example not found in the base feeds [...] o che i file e le cartelle non sono stati messi in root ma in /usr/bin come spiegato sopra.

+0

Avete che le ricette strato inclusa nella conf/bblayers.conf? Il tuo errore sembra non correlato all'altro problema in cui dichiari che i file finiscono nel posto sbagliato. Se si vuole veramente modificare il file system di base, penso che suggerirei di fare un bbappend in cima alla ricetta dei file base. – Joe

+0

@Joe Non avrei errori riguardo la ricetta se non l'avessi fatto. C'è tutto configurato con precisione, tranne che il task 'do_install' ha degli errori. – h0ch5tr4355

+0

Quale ricetta sarebbe? – h0ch5tr4355

risposta

9

Nei casi in cui è stato visualizzato l'errore "Errore: esempio non trovato nei feed di base [...]" è molto probabile che sia effettivamente riuscito a creare la tua ricetta example.bb. Supponendo, naturalmente, che si ottenga quell'errore durante la creazione dell'immagine, che contiene IMAGE_INSTALL += "example".

Se si installa i file in /rootfolder, non c'è nulla in OE sé che sa confezionare i file in un pacchetto rpm, ipk o deb. Devi aggiungere tu stesso alla tua ricetta aggiungendo una riga come: FILES_${PN} += "/rootfolder" In questo modo, il tuo esempio sopra dovrebbe funzionare.

A seconda di quali file si installa, si potrebbe desiderare di aggiungere un po 'di loro ad altri pacchetti come ${PN}-dbg, ${PN}-dev, ecc

+0

: solo un nuovo errore in un altro luogo che tenta di riprodurre. la tua risposta mi ha davvero aiutato. Grazie mille. – h0ch5tr4355