Camadas específicas da máquina no yocto

Eu quero adicionar algumas camadas buscadas no upstream para uma nova máquina (chame-a de A) principalmente apenas para usar o arquivo de configuração da máquina A, o kernel e o u-boot fornecidos a partir dessas camadas. No entanto, as novas camadas têm vários arquivos bbappend (também com arquivos bb) que a versão é diferente das camadas de outras máquinas no meu projeto yocto.

Por exemplo,máquina A tem o seu própriogstreamer1.0_1.8.1.bb e arquivo bbappend.Outras máquinas estão usandogstreamer1.0_1.6.1.bb. O que acontece quando eu construo a imagem para a outra máquina é que ela cria a versão 1.8.1 porque o Yocto sempre procura a versão compatível mais recente do pacote e a cria. No entanto, o arquivo gstreamer1.0_1.8.1.bbappend foi criado especificamente para a máquina A, não se aplica a outras pessoas e causa erros. Não apenas o gstreamer, há mais.

Eu tive uma ideia comoBBLAYERS_A += "new_layers \ ..." no arquivo bblayers.conf, mas infelizmente não funciona da maneira que eu quero.

Outra idéia que tenho é como:

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 \ ..."
...

Não parece bom para mim e duvido que não funcione tão bem. Eu acho que o procedimento de compilação é carregar o arquivo bblayers.conf primeiro, depois o local.conf. Portanto, antes de saber qual máquina será construída, as camadas são implantadas.

Minha pergunta é como posso criar as camadas recém-adicionadas que funcionam commáquina A apenas, mas não será usado pelooutras máquinas.

questionAnswers(2)

yourAnswerToTheQuestion