Je veux ajouter quelques calques chercher en amont pour une nouvelle machine (appelez-la A) principalement juste pour utiliser la machine Un fichier configure, noyau et u-boot fournis à partir de ces calques. Cependant, les nouvelles couches ont plusieurs fichiers bbappend (avec des fichiers bb aussi) que la version est différente avec les couches d'autres machines dans mon projet yocto.Calques spécifiques à la machine dans yocto
Par exemple, la machine A a son propre fichier gstreamer1.0_1.8.1.bb et bbappend. Les autres machines utilisent gstreamer1.0_1.6.1.bb. Ce qui se passe quand je construis l'image pour l'autre machine est qu'elle construit la version 1.8.1 parce que Yocto cherchera toujours la nouvelle version compatible du paquet et le construira. Cependant, le fichier gstreamer1.0_1.8.1.bbappend est écrit spécifiquement pour la machine A, ne s'applique pas aux autres et provoque des erreurs. Non seulement le gstreamer, il y en a plus.
J'ai une idée comme BBLAYERS_A += "new_layers \ ..."
dans le fichier bblayers.conf, mais malheureusement, cela ne fonctionne pas comme je le souhaite.
Une autre idée que j'ai est comme:
BBMASK_B = "new_layers \ ..."
BBMASK_C = "new_layers \ ..."
BBMASK_D = "new_layers \ ..."
BBMASK_E = "new_layers \ ..."
BBMASK_F = "new_layers \ ..."
BBMASK_G = "new_layers \ ..."
BBMASK_H = "new_layers \ ..."
BBMASK_I = "new_layers \ ..."
...
Il ne semble pas bon pour moi et je doute qu'il ne fonctionnera pas aussi bien. Je pense que la procédure de construction consiste à charger le fichier bblayers.conf en premier, puis le fichier local.conf. Par conséquent, avant de savoir quelle machine il va construire, les couches sont déployées.
Ma question est de savoir comment puis-je faire ces couches nouvellement ajoutées qui travaillent avec machine A seulement, mais ne me utilisé par les autres machines .
La COMPATIBLE_MACHINE a du sens. Cependant, mes excuses, mon cas est que la plupart des couches (pas seulement pour le Machinea) vont chercher en amont (j'ai un peu modifié la question) et je ne veux pas changer les fichiers bbappend en amont localement. Comment pourrais-je y arriver? Y at-il comme le local.conf que je peux faire des changements globalement au lieu de modifier des dossiers dans des calques? –
Eh bien, les couches sont-elles génériques, bien que vous vouliez qu'elles ne s'appliquent qu'à une seule machine? Ou sont-ils des couches spécifiques à la machine, c'est-à-dire que les couches en amont sont considérées comme des couches spécifiques à la machine? – Anders