Como sobrescrevo vários arquivos com uma receita no Yocto?

0

Eu tenho uma camada que estou escrevendo para o Yocto. Eu quero ter duas configurações para o hardware. Uma seria uma configuração genérica padrão, uma seria uma configuração específica de caso de uso e não consigo descobrir como fazer isso.

Aqui está um exemplo do que eu quero. Digamos que na receita de imagem genérica, eu quero interfaces de rede para ser configurado para DHCP. E na receita de caso de uso, quero configurá-lo para um IP estático.

Eu poderia escrever um bbappend para substituir o padrão do arquivo pela receita do init-ifupdown, mas isso mudaria o arquivo para todas as instâncias que usam a receita do init-ifupdown. Eu quero apenas que o arquivo seja alterado ao criar uma receita de imagem de caso de uso e não uma imagem genérica.

E para levar isso um passo adiante. Eu tenho cerca de uma dúzia de arquivos que eu quero substituir no rootfs. Eu não quero ter que escrever um bbappend para todos e cada um.

Alguma ideia de como escrever uma receita que substitua alguns arquivos sem receber o erro "esse arquivo já é fornecido pelo pacote"? E não tem que escrever uma dúzia de arquivos bbappend?

Eu sei que em buildroot isso é feito facilmente com uma sobreposição, infelizmente eu estou preso com o yocto.

obrigado

    
por AllenKll 21.07.2015 / 15:55

1 resposta

1

A solução é que isso não pode acontecer.

Minha pesquisa levou-me a descobrir que isso tem sido chamado de "aromatizante" de uma compilação. E o Yocto não é criado de forma a permitir que isso aconteça no momento. E, tanto quanto eu posso dizer, isso não vai acontecer no futuro próximo.

Houve alguns esforços independentes para fazer isso usando um único arquivo '.inc' que é incluído em qualquer receita afetada que permitirá que a receita escolha o caminho para completar seu pacote, mas os dados dentro dele ".inc" arquivo precisa ser manipulado manualmente usando ferramentas fora do sistema yocto.

aqui está um tópico que encontrei no tópico na lista de e-mails yocto: link

Quanto às várias substituições de arquivos em uma receita, também descobri que isso também não é possível, a menos que eu acredite que haja uma desativação da "verificação de insanidade", de qualquer forma eu não percebi isso e estou soltando trabalhe nisso.

    
por 23.07.2015 / 15:49