2015-11-25 5 views
5

Ich versuche, einen Ordner in den Stamm des Dateisystems zu setzen. In der Dokumentation (z.B. here) verwenden sie hauptsächlich Variablen und so werden die Dateien und Ordner von SRC_URI unter /usr/bin oder etwas gespeichert, aber niemals in /.Wie kann ich einen Ordner oder eine Datei zum Root in einem Rezept mit BitBake hinzufügen?

So, hier ist mein Rezept:

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 
} 

Dies ist nur eine von sehr vielen do_install Varianten, die ich tried.Every von ihnen führte entweder zu Error: example not found in the base feeds [...] oder dass die Dateien und Ordner nicht in der platziert Wurzel aber in /usr/bin wie oben erklärt.

+0

Haben Sie, dass Rezepte Schicht in Ihrer conf/bblayers.conf enthalten? Ihr Fehler scheint nichts mit dem anderen Problem zu tun zu haben, dass die Dateien am falschen Ort landen. Wenn Sie das Basisdateisystem wirklich ändern wollen, würde ich vorschlagen, dass Sie ein Bapping über das Rezept der Basisdatei machen. – Joe

+0

@Joe Ich hätte keine Fehler in Bezug auf das Rezept, wenn ich das nicht getan hätte. Es ist alles genau konfiguriert, außer die 'do_install'-Aufgabe hat Fehler. – h0ch5tr4355

+0

Welches Rezept wäre das? – h0ch5tr4355

Antwort

9

In den Fällen, in denen Sie den Fehler "Fehler: Beispiel nicht in den Basis-Feeds gefunden [...]" erhalten haben, ist es sehr wahrscheinlich, dass Sie tatsächlich Ihr Rezept example.bb erstellt haben. Nimm natürlich an, dass du diesen Fehler beim Erstellen deines Bildes bekommst, welches IMAGE_INSTALL += "example" drin hat.

Wenn Sie Ihre Dateien in /rootfolder installieren, gibt es nichts in OE selbst, das weiß, wie man diese Dateien in einem rpm, ipk oder deb Paket zu verpacken. Sie müssen das selbst zu Ihrem Rezept hinzufügen, indem Sie eine Zeile wie folgt hinzufügen: FILES_${PN} += "/rootfolder" Das sollte Ihr Beispiel oben funktionieren.

Je nach, welche Dateien Sie installieren, sollten Sie ${PN}-dev einige von ihnen auf andere Pakete wie ${PN}-dbg, hinzufügen etc.

+0

Update: Nur ein neuer Fehler an einem anderen Ort zu reproduzieren versuchen. Ihre Antwort hat mir sehr geholfen. vielen Dank. – h0ch5tr4355

Verwandte Themen