2016-04-21 13 views
1

Ich habe einige Bilder, die nur auf einer bestimmten Plattform relevant sind (sagen wir, einige sind nur für Intel Core und andere sind nur für Sabrelit).Kann ich ein Bild eine Maschine auswählen

Ist es möglich, dass das Bild unabhängig von der local.conf automatisch die MACHINE-Variable für den Build einstellt?

Wenn nicht, kann ich das Image zumindest für andere Maschinen nicht erstellen lassen?

Ich habe versucht, etwas googeln, aber natürlich "yocto Bild wählt Maschine" oder ähnliche Anfragen geben nur generische Yocto Tutorials zurück.

Danke.

Antwort

0

Nein, ein Bild kann nicht beeinflussen, für welche Maschine Sie bauen.

Hintergrund: In OpenEmbedded sollten die Konzepte einer Maschine, eines Bildes und einer Distribution orthogonal zueinander sein. I.e. Jedes Bild sollte für jede Kombination von Distro und Maschine erstellt werden können. (Das ist natürlich in der Praxis nicht immer der Fall).

Sie das Bild machen können, indem Sie

Einstellung
COMPATIBLE_MACHINE = "macha" 

in Ihrem Bild Rezept zu bauen.

Eine andere Idee, wenn die Bilder ziemlich ähnlich sind, wäre, nur die maschinenspezifischen Pakete zu installieren, wenn das Image für den richtigen Rechner erstellt wird. Dies kann einfach durchgeführt werden durch:

IMAGE_INSTALL_append_macha = " package1 package2" 

Beachten Sie das führende Leerzeichen in der Zeichenfolge. (_append wird Ihre Zeichenfolge nicht mit einem Leerzeichen vorangestellt).

Dieser letzte Teil ist, was normalerweise getan wird. Die Beschränkung eines Bildes auf eine bestimmte Maschine wird zumindest in öffentlichen Schichten selten durchgeführt.

Hinweis: macha ist der vorgestellte Name der Maschine.

Verwandte Themen