[Desafio do mês] Gerando distribuições Linux com o Yocto Project
- por Sergio Prado
O desafio deste mês é sobre o uso do Yocto Project para gerar distribuições Linux para sistemas embarcados.
Gerar uma distribuição Linux com o Yocto Project é muito simples. Os comandos abaixo irão clonar o repositório do Poky e gerar uma distribuição Linux para o emulador (QEMU):
$ git clone git://git.yoctoproject.org/poky -b krogoth $ source poky/oe-init-build-env $ bitbake core-image-minimal |
A distribuição gerada pode ser testada com o QEMU, executando o comando abaixo:
$ runqemu qemux86 |
O tamanho final do arquivo do rootfs gerado (compactado no formato tar.bz2) é de 2646050 bytes (~2,6MB):
$ ls -Hl tmp/deploy/images/qemux86/core-image-minimal-qemux86.tar.bz2 -rw-r--r-- 1 sprado sprado 2646050 Abr 17 19:08 tmp/deploy/images/qemux86/core-image-minimal-qemux86.tar.bz2 |
Seu desafio é customizar a distribuição com o objetivo de diminuir o tamanho final do rootfs gerado. Para medir o tamanho do rootfs, irei verificar o tamanho do arquivo compactado do rootfs (tar.bz2), conforme o comando de listagem acima.
Todas as customizações devem ser feitas no local.conf. Os únicos pré-requisitos são:
- Utilizar o branch krogoth do Poky.
- Gerar a distribuição com a MACHINE configurada com “qemux86”.
- A distribuição deve ser capaz de iniciar em um terminal de comandos.
Utilize como referência a documentação do Yocto Project, incluindo o Guia de Início Rápido, o Manual de Referência e o Manual de Desenvolvimento.
Envie para o e-mail contato@sergioprado.org seu local.conf customizado e a listagem do arquivo do rootfs compactado no formato tar.bz2, conforme comando abaixo:
$ ls -Hl tmp/deploy/images/qemux86/core-image-minimal-qemux86.tar.bz2 |
Aceitarei submissões até o dia 05/05 e o resultado será divulgado na segunda semana de maio.
Todos que participarem ganharão 5 pontos no ranking de desafios do blog. Aquele(a) que conseguir o rootfs de menor tamanho ganhará os 10 pontos no ranking, além do prêmio, que é uma vaga para o treinamento de Yocto Project da Embedded Labworks que irá acontecer em junho/2017 em São Paulo/SP!
Não deixe de participar e aprender um pouco sobre o Yocto Project! :-)
Um abraço,
Sergio Prado