Yocto - Advanced Customizations

37 views
Skip to first unread message

Diego Sueiro

unread,
May 19, 2013, 8:13:32 PM5/19/13
to sis_emb...@googlegroups.com
Boa noite,

Para quem já teve contato com o Yocto Project segue a indicação da apresentação sobre Advanced Customizations que foi realizada na ELC 2013.
http://www.youtube.com/watch?v=n6juaOiKJSw
Gerar um sdk customizado do teu projeto para cada time diferente
Usar o shared state afim de melhorar o tempo de construção
Usar um source mirror interno 
Habilitar no target o uso do package-feed interno da empresa
Adicionar suporte a múltiplas arquiteturas e targets
etc 


Abraços,

--
*dS
Diego Sueiro

Administrador do Portal Embarcados
www.embarcados.com.br

Engenheiro de Controle e Automação
UNIVERSIDADE FEDERAL DE ITAJUBÀ

/*long live rock 'n roll*/

Caio

unread,
May 19, 2013, 11:44:50 PM5/19/13
to sis_emb...@googlegroups.com
Diego, criar um mirror interno (como se fosse um apt-cache) sempre foi
minha dúvida, pois o voulme de dados que o Yocto baixa é muito grande,
e as vezes você tem 3 projetos internos, utilizando pacotes muito
semelhantes ou até mesmo a mesma arquitetura de hardware e criando um
mirror interno facilita e muito.

Valeu a dica!
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo
> "sis_embarcados" dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie
> um e-mail para sis_embarcado...@googlegroups.com.
> Para postar neste grupo, envie um e-mail para
> sis_emb...@googlegroups.com.
> Visite este grupo em http://groups.google.com/group/sis_embarcados?hl=pt-BR.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>



--
----------------------------------------------
Caio Pereira

Diego Sueiro

unread,
May 20, 2013, 5:38:06 AM5/20/13
to sis_emb...@googlegroups.com

Caio,

Eu sempre tive essa curiosidade.
Além disso que vc citou, o mirror interno/privado pode ser interessante para uso em atualizações remotas, por exemplo.

Um dia ainda gostaria de ver um package mirror para o Yocto/Openembedded como temos para o Angstrom:
http://www.angstrom-distribution.org/repo/

Abraços,

--
*dS

Diego Sueiro
sent from my droid tablet.

Caio

unread,
May 20, 2013, 8:17:00 AM5/20/13
to sis_emb...@googlegroups.com
Diego,

Ainda não ficou 100% claro pra mim .

Customize Download Mirror

don't want
bitbake
to ever go out to wild wild web

Set BB_NO_NETWORK

Setup internal source mirror
BB_NO_NETWORK ?= "1"
SOURCE_MIRROR_URL ?= "file:///net/dontexist/downloads/"
INHERIT += "own-mirrors"
BB_GENERATE_MIRROR_TARBALLS = "1"


Será que rola com pasta compartilhada na rede?

Uma solução proxy tipo apt-cache ia ser mto útil!

Caio

unread,
May 20, 2013, 9:28:58 AM5/20/13
to sis_emb...@googlegroups.com
Diego,
No meu caso a ideia de usar o Yocto era possibilitadade de compilar
para NIOS2 e ARM (para o NIOS2 quero ver o trabalho que vai dar rs!)
sem a necessidade de ficar mantendo dois ambientes de trabalho
totalmente diferente, particularmente sempre utilizei buildroo para os
projetos simples com o NIOS2, era mais que suficiente.
Agora que temos um projeto que necessita Webkit, display entre outras
coisas, na plataforma ARM estamos, começando a estudar o
desenvolvimento com o Yocto. Mas gostaria acelerar o processo de
baixar os pacotes pelo menos.

Mas até a Altera está com o suporte a Yocto para os novos FPGA com Cortex-A8
http://www.altera.com/devices/processor/arm/cortex-a9/software/soc-yocto-embedded-linux.html


Abraços
--
----------------------------------------------
Caio Pereira

Diego Sueiro

unread,
May 20, 2013, 9:47:59 AM5/20/13
to sis_emb...@googlegroups.com
Olá Caio,

Acho que é esse o propósito.
Se você tiver um caminho local montado via NFS deve dar certo.


Abraços,

--
*dS
Diego Sueiro

Administrador do Portal Embarcados
www.embarcados.com.br

Engenheiro de Controle e Automação
UNIVERSIDADE FEDERAL DE ITAJUBÀ

/*long live rock 'n roll*/


2013/5/20 Caio <cai...@gmail.com>

Diego Sueiro

unread,
May 20, 2013, 9:49:04 AM5/20/13
to sis_emb...@googlegroups.com
Caio,

Se você precisar de um help nesse processo dá um toque.
O pessoal da lista oficial costuma ser bem prestativo e atencioso também.

Abraços,

--
*dS
Diego Sueiro

Administrador do Portal Embarcados
www.embarcados.com.br

Engenheiro de Controle e Automação
UNIVERSIDADE FEDERAL DE ITAJUBÀ

/*long live rock 'n roll*/


2013/5/20 Caio <cai...@gmail.com>

Flavio Castro Alves Filho

unread,
May 22, 2013, 5:24:17 PM5/22/13
to sis_emb...@googlegroups.com
>
> Um dia ainda gostaria de ver um package mirror para o Yocto/Openembedded
> como temos para o Angstrom:
> http://www.angstrom-distribution.org/repo/

Acho que isso não faz sentido, pois o propósito do Yocto não é ter uma
distribuição universal, mas uma ferramenta universal par várias
distribuições específicas.

Se for para ter pacotes desta forma, é melhor trabalhar direto com o Angstrom.
Flavio de Castro Alves Filho

flavio...@gmail.com
www.linuxembarcado.com
Twitter: http://twitter.com/#!/fraviofii
LinkedIn profile: www.linkedin.com/in/flaviocastroalves

Diego Sueiro

unread,
May 23, 2013, 6:01:46 AM5/23/13
to sis_emb...@googlegroups.com

Flávio,

Seu argumento é bom, mas não invalida a possibilidade de ter um package mirror.

Vamos supor que eu queira instalar um pacote no meu target para testes. Se eu não tenho a distro construída, terei que o fazer apenas para testar o pacote.

--
*dS

Diego Sueiro
sent from my droid tablet.

Flavio Castro Alves Filho

unread,
May 23, 2013, 7:32:05 AM5/23/13
to sis_emb...@googlegroups.com
Em 23 de maio de 2013 07:01, Diego Sueiro <diego....@gmail.com> escreveu:
> Flávio,
>
> Seu argumento é bom, mas não invalida a possibilidade de ter um package
> mirror.

Esse não é um argumento meu não ... é a proposta do projeto.

Uma coisa é um package mirror. Outra é o seu package mirror.

>
> Vamos supor que eu queira instalar um pacote no meu target para testes. Se
> eu não tenho a distro construída, terei que o fazer apenas para testar o
> pacote.

Como o Yocto é voltado para sistemas embarcados dedicados, a premissa
é que 'cada hardware tem sua história'. A infraestrutura do Yocto
permite que você crie pacotes dos aplicativos. E estes pacotes podem
ser instalados em sua distro (sem precisar refazer tudo). No caso do
Yocto, você pode escolher entre RPM (padrão), DEB e IPK (ou OPK, não
me lembro agora).

Eu já fazia isso desde os tempos de ptxdist. A distro inicial era
compilado do zero e novos pacotes são instalados via pacotes IPK. No
Yocto é a mesma coisa, mas com RPM. Basta 'cozinhar' a receita do que
você quer, transferir o RPM para o target e instalar. Não é preciso
recompilar tudo, mas compilar somente seu pacote.

Neste cenário, o teu repositório de pacotes é dedicado a seu projeto.
Aí você garante, mantém, controla ...

Flavio Castro Alves Filho

unread,
May 23, 2013, 7:36:48 AM5/23/13
to sis_emb...@googlegroups.com
Complementando ...

Creio nas configurações do pacote yum|rpm presente no target deve ser
possível dizer onde procurar pelos pacotes de repositório (pelo menos
no ptxdist dá ;-D)

Como no Yocto dá para configurar onde vai o mirror ... aí a solução
fica automática. Neste caso, a transferência do pacote chega a ser
dispensável.


Em 23 de maio de 2013 08:32, Flavio Castro Alves Filho
<flavio...@gmail.com> escreveu:

Caio

unread,
May 23, 2013, 7:50:05 AM5/23/13
to sis_emb...@googlegroups.com
Flávio,


Como vocês fazem em ambiente de desenvolvimento? Cada desenvolvedor,
quando vai trabalhar com Yocto, terá de baixar todos os pacotes
novamente (mesmo aqueles pacotes em comum)?





Em 23 de maio de 2013 08:36, Flavio Castro Alves Filho

Flavio Castro Alves Filho

unread,
May 23, 2013, 8:49:17 AM5/23/13
to sis_emb...@googlegroups.com
Depende do que você chama de pacote :-)

Se você se refere aos fontes usado para compilação, ainda é feito o
download por projeto.

Como trabalhamos em vários projetos, cada desenvolvedor tem sua
própria base, que é geral para todos os seus projetos.

O que estamos fazendo é criar um 'mirror interno' dos fontes. O Yocto
permite isso. Mas é um work in progress...

De qualquer forma, existe um risco ... pois a maioria dos projetos
Yocto baixa os fontes de repositório git, então a atualização do
repositório é frequentemente necessária. Principalmente em novos
projetos (com novas receitas).

Vale lembrar que rodar o Yocto é a primeira e a ultima coisa que se
faz no projeto. Não é algo que deve ser feito o tempo todo.

Caio

unread,
May 24, 2013, 8:58:02 AM5/24/13
to sis_emb...@googlegroups.com
Flávio,

Agora estou mexendo mais com o Yocto e realmente eu entendi,
no loca.conf você pode configurar

SOURCE_MIRROR_URL ?= "file:///home/caio/yocto/poky/build/downloads/"
INHERIT += "own-mirrors"
BB_GENERATE_MIRROR_TARBALLS = "1"


Ou através do hob (ferramenta incrível , minimalista e muito fácil de usar).

Abraços

Caio Pereira

Em 23 de maio de 2013 09:49, Flavio Castro Alves Filho

Diego Sueiro

unread,
May 24, 2013, 9:55:05 AM5/24/13
to sis_emb...@googlegroups.com

Abraços,

--
*dS
Diego Sueiro

Administrador do Portal Embarcados
www.embarcados.com.br

Engenheiro de Controle e Automação
UNIVERSIDADE FEDERAL DE ITAJUBÀ

/*long live rock 'n roll*/


2013/5/24 Caio <cai...@gmail.com>

Flavio Castro Alves Filho

unread,
May 24, 2013, 9:57:02 AM5/24/13
to sis_emb...@googlegroups.com
O que eu mais faço aqui é usar para todos os projetos o mesmo
diretório de download.

Aí eu mudo aquela variável do local.conf que aponta para tmp/downloads
para um lugar comum (tipo /src)

Depois eu executo do bitbake -c fetchall core-image-minimal para
garantir que está tudo lá antes do build final.

Eu tentei usar uma vez o HOB e funcionou mais ou menos. Mas como foi
uma vez só ... então eu não tenho o que dizer sobre ele.

Flavio Castro Alves Filho

unread,
May 24, 2013, 9:57:52 AM5/24/13
to sis_emb...@googlegroups.com
A versão Angstrom desse negócio funciona muito bem. Eu achei bem legal.
Reply all
Reply to author
Forward
0 new messages