2017-10-17 6 views
0

J'ai deux recettes qui construisent une image linux intégrée, appelez-les A.bb et B.bb. J'ai un patch de noyau qui doit être appliqué à une recette mais pas à l'autre. Suite à ces docs j'ai créé ma propre couche et ajouté un bbappend <your-layer>/recipes-kernel/linux/linux-yocto_3.4.bbappend et à l'intérieur je mets SRC_URI|+="kernel.patch". Comment puis-je faire quelque chose comme ce qui suit:Comment modifier un noyau basé sur quelle recette de haut niveau est en cours de construction en utilisant openembedded et bitbake?

if (A): 
    SRC_URI+="kernel.patch" 
else: 
    SRC_URI+="" 

J'essayé ce qui suit:

intérieur A.bb, je export IMAGE_NAME="A"
alors à l'intérieur linux_yocto_3.4.bbappend Je
SRC_URI_append = " ${@bb.utils.contains('IMAGE_NAME', 'A', 'file://kernel.patch', '', d)} "

Mais cela ne travail. Merci de votre aide!

Répondre

2

Vous ne pouvez pas.

Une recette ne peut pas influencer la construction d'autres éléments; une image n'est qu'une recette, elle ne peut donc pas modifier la façon dont le noyau est construit ni corrigé.