Cada vez mais envolvido com Linux Embarcado, conheci a um tempo o Yocto Project através do Embarcados e listas, mas que de inicio não me chamou a atenção, eu que venho do costume de (bootloader, kernel, rootfs e toolchain) usando Buildroot, usei o Yocto Project para gerar umas imagens e parei por ae.
Muito fácil, desde de adquirir o projeto como um todo até o processo final de build que gera distribuições para RaspberryPI, Beaglebone Black, Intel Galileo, ARM e x86, mas o foco aqui será com embarcados, com algum uso com o qemu para didática.
A Yocto Project é o resultado da fusão com a OpenEmbedded que por sua vez já estava no mercado e já utilizava boa parte das ferramentas que encontraremos aqui.
A distribuição gerada é baseada na Poky, mas você pode alterar isso, o download, construção, configuração, instalação é usando o Bitbake, ferramenta sensacional que vem do Portage, se você já usou Gentoo sabe que Portage é o gerenciador de pacote desta distribuição.
O Bitbake por sua vez executa tarefas, baseado nas receitas que você passou ou faz parte de inclusões e heranças de outras receitas e/ou classes.
Complicado?
Nada! Yocto Project é uma solução que você baixa via repositório (git), hoje na versão 1.7 dizzi, em abril deste ano sairá a próxima versão, que para construir sua distribuição, utiliza o Poky como base, o Bitbake irá “ler” as receitas(recipes) de camadas(layers) estas que dividem em camada de BSP, Distro e Software e a partir disso criar os pacotes de cada receita que pode ser (deb, rpm ou ipk).
Basicamente o build do Poky é do trabalho do Bitbake + metadados(receitas+classes+configs), abaixo uma imagem que gosto bastante e ilustra essa confusão que falei.
Por falar em receita, melhor maneira de entender o Yocto Project é… cozinhando!
Gosto deste vídeo também que aborda o que falei e algumas variáveis essenciais de configuração.
Não comentei ainda que você cria um projeto, pode personalizar basicamente editando um arquivo chamado local.conf e caso o projeto seja grande e até para melhor organização você pode criar suas próprias camadas e receitas.
Mas isso, é assunto para os próximos artigos, isso porque não comentei sobre o Hob a ferramenta gráfica para trabalhar com o Yocto Project e o Toaster :)
Espero que tenham gostado desta ferramenta assim como eu, abaixo segue links de referências para estudar o Yocto Project e alguns em português.
Até a próxima!
Referências
https://wiki.yoctoproject.org/wiki/Main_Page
https://www.yoctoproject.org/tools-resources/projects
http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html
https://www.youtube.com/user/TheYoctoProject/videos
http://www.embarcados.com.br/beaglebone-black-yocto/
http://www.embarcados.com.br/beaglebone-black-yocto-dizzy-versao-1-7/
http://www.embarcados.com.br/raspberrypi-yocto/
http://www.embarcados.com.br/desvendando-yocto-project-primeiros-passos/
Yocto Project – Introdução by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.