2015-09-29 16 views
5

Ich benutze OpenEmbedded-Core und habe eine benutzerdefinierte Ebene mit der Priorität 6 erstellt. Monate der Entwicklung sind vergangen, und jetzt möchte ich die Priorität meiner Ebene auf 8 erhöhen, weil eine Append-Datei von einer anderen Ebene mit Priorität 7 interferiert eine Append-Datei, die ich in meiner Ebene hinzufüge.Bitbake: Wie listet man alle in einem Bild verwendeten Rezept- und Anhangdateien auf?

Meine Frage ist, wie kann ich eine Liste von Rezepten und .bappend Dateien erstellen, die in einem Bild verwendet werden?

Ich möchte die Liste vor und nach der Änderung der Priorität erstellen, damit ich sie vergleichen kann (hoffentlich mit einem Diff-Tool), um zu sehen, ob unerwartete Nebenwirkungen aufgetreten sind, wie eine wichtige Append-Datei von der anderen Schicht potenziell ignoriert werden.

Ich verwende den angstrom-v2014.12-yocto1.7-Zweig der Angstrom-Verteilung.

[EDIT]

Ich bin jetzt in erster Linie nur daran interessiert, zu bestimmen, wie die Dateien .bbappend zur Liste durch mein Bild an dieser Stelle tatsächlich verwendet wird.

Eine Liste der Pakete kann mit "bitbake -g your-image-name" angezeigt werden, wie von @pnxs vorgeschlagen, oder aus der .manifest-Datei (die ich gerne verwende), die in meinem Fall unter befindet deploy/glibc/images/imagename /. Ich habe ursprünglich gefragt, wie eine Liste von "Rezeptdateien" erstellt werden könnte, aber ich denke, eine Liste von Paketen ist ausreichend.

In Bezug auf die .bappends hatte ich jedoch einen Fall, in dem mein eigenes .bapppend aufgrund von Layer-Prioritäten ignoriert wurde. Ich habe meine Ebenenprioritäten geändert und möchte jetzt sehen, ob dadurch irgendwelche .bappend-Dateien irgendwo anders in meinem Bild dazu führen, dass sie ignoriert werden. Wie ich es verstehe, verwenden "Bitbake-Ebenen zeigen-Anhängen" als vorgeschlagene Listen alle .bbappends vorhanden und nicht nur diejenigen, die tatsächlich bei der Erstellung eines Bildes verwendet werden, so dass dies nicht das tut, was ich suche .

+1

Ich habe das gleiche Problem. Wäre schön zu wissen, welche Rezepte tatsächlich in einem bestimmten Bild verwendet werden und woher sie kommen (INSTALL_APPEND in welcher Datei?) – Anonymous

Antwort

2

Versuchen Sie es mit "bitbake-layers show-apfends", um zu sehen, welche bbappends verwendet werden. Aber das funktioniert nur pro Rezept. Aber das gibt Ihnen vielleicht die Informationen, die Sie benötigen, um die Prioritäten zu verstehen.

+0

Hilfreich, aber so wie ich es verstehe, zeigt dies alle verfügbaren bbappends, nicht nur die, die tatsächlich verwendet werden mein Bild, oder? Ich habe auch die Manifest-Datei meines Bildes angeschaut, die mir die exakte Version jedes verwendeten Pakets mitteilt, aber leider lässt es mich nicht wissen, welche Bb-Aktionen auf jedes Paket angewendet wurden. – user5071535

1

Sie können einen "bitbake -g your-image-name" erstellen, der einige Dot-Dateien im aktuellen Verzeichnis erstellt.

Die Datei "pn-depends.dot" enthält eine Liste von Paketnamen (pn) und die Abhängigkeiten zwischen ihnen.

Wenn Sie den ersten Teil der Datei übernehmen, in der alle Pakete aufgelistet sind, finden Sie zum Beispiel:

"busybox" [label="busybox :1.23.1-r0.2\n/home/user/yocto/sources/poky/meta/recipes-core/busybox/busybox_1.23.1.bb"] "base-files" [label="base-files :3.0.14-r89\n/home/user/yocto/sources/poky/meta/recipes-core/base-files/base-files_3.0.14.bb"]

Also haben Sie eine Liste aller von Ihrem Bild verwendeten Pakete und die entsprechenden Rezept- Datei.

Um zu sehen, welche der Rezepte durch bbappend erweitert werden, müssen Sie die Liste der Bbappends mit "bitbake-layers show-atdends" aufrufen und die Anhänge jedes Rezepts nachschlagen. Du kannst ein kleines Python-Programm schreiben, das das für dich erledigen kann.

+0

Die .dot-Dateien sind ein hilfreicher Vorschlag, aber ich muss immer noch in der Lage sein zu lösen, welche .bapppend-Dateien verwendet werden oder nicht, irgendwie in meinem Bild verwendet. Siehe meine letzte Änderung. – user5071535