[Desafio do mês] Gerando distribuições Linux com o Yocto Project

- por Sergio Prado

Categorias: Desafios Tags:

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:

  1. Utilizar o branch krogoth do Poky.
  2. Gerar a distribuição com a MACHINE configurada com “qemux86”.
  3. 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

  • Caio Pereira

    Olá Sérgio! Interessante seu desafio!
    Uma pergunta: Quais são os recursos mínimos que a imagem precisa ter? (rede, alguns comandos básicos ) ?

    • Olá Caio!

      Basta cair em um terminal de comandos no boot! Esse é o único pré-requisito da distro.

      Um abraço!

      • Caio Pereira

        Desafio aceito ;)

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.