Buildroot 2013.05

- por Sergio Prado

Categorias: Buildroot Tags: , ,

No fim de maio foi lançado o Buildroot 2013.05, que já durante alguns anos segue um ciclo de release constante de 3 meses. Este último ciclo foi o mais ativo de todos, com mais de 900 commits, incluindo:

  • Suporte ao Wayland, novo protocolo de servidor gráfico que visa substituir o X11.
  • Adição de diversos novos pacotes, incluindo suporte completo ao Qt5.
  • Suporte às versões 4.6.4, 4.7.3 e 4.8.0 do GCC.
  • Suporte às arquiteturas ARC e Blackfin.
  • Inclusão de alguns arquivos padrão de configuração para algumas placas de mercado, incluindo a Raspberry Pi.

Usar o Buildroot para gerar um sistema Linux completo para a Raspberry Pi, por exemplo, é muito simples:

$ wget http://buildroot.net/downloads/buildroot-2013.05.tar.bz2
$ tar xjfv buildroot-2013.05.tar.bz2
$ cd buildroot-2013.05/
$ make rpi_defconfig
$ make

No final teremos as imagens do bootloader, kernel e rootfs disponíveis no diretório output/images:

$ ls output/images/
rootfs.tar rpi-firmware zImage

O Buildroot tem ainda diversos outros arquivos de configuração para placas comuns de mercado (Beaglebone, Pandaboard, i.MX53 QSB, mini2440, etc), facilitando bastante a geração de sistemas Linux simples para estas placas.

O e-mail do mantenedor do projeto Peter Korsgaard, destacando as principais alterações desta versão, pode ser acessado aqui.

À propósito, este ano o Buildroot irá participar do Google Summer of Code, projeto coordenado pelo Google, que permite estudantes participarem do desenvolvimento de projetos open source.

O desafio será melhorar o suporte à multimedia no Buildroot para SoCs ARM, incluindo pacotes como OpenGL, OpenVG, EGL e OpenMAX. O trabalho será realizado nas arquiteturas OMAP3, OMAP4 e AM33xx da Texas, BCM2835 da Raspberry Pi, i.MX6 da Freescale, Exynos 4 da Samsung e A1x da Allwinner Technology.

O trabalho me parece ser bem interessante, e deve melhorar ainda mais o suporte do Buildroot às bibliotecas multimedia para SoCs ARM. Mais informações sobre o projeto aqui.

Um abraço!

Sergio Prado

  • Jairo Jair

    Show Rasp­berry Pi nativo :)

  • Patola

    Somente os A1X da Allwinner? Isso é estranho, porque os códigos-fonte do kernel para o A20 e do A31 já saíram e alguns dispositivos já estão até mudando pra esses processadores – como o cubieboard, cuja versão 2 usa o A20 (com 1GB de RAM) e o cubietruck, uma versão com GbE e 2GB de RAM. O Olinuxino-A20 também é um deles.

    Pena que os chips Rockchip (RK3066, RK3168 e RK3188) não apareceram nessa lista. São SoCs com ótimo desempenho e muito usados nos dispositivos ARM chineses, como os TV sticks UG802 (RK3066) e Tronsmart T428 (RK3188), sendo o RK3168 uma versão de baxo consumo do RK3188.

    • Olá Patola,

      Acredito que este projeto seja apenas um trabalho inicial para deixar o Buildroot com um bom suporte em multimedia para chips ARM. Não tenho dúvidas que depois será mais fácil incluir os outros SoCs da Allwinner, ou mesmo os da Rockchip.

  • Leonardo Pinheiro

    Olá Sergio, usei o buildroot para gerar o lunux para Rasp e ocorreu um erro:

    Error when bootstrapping CMake:
    Cannot find appropriate C++ compiler on this system.
    Please specify one using environment variable CXX.
    See cmake_bootstrap.log for compilers attempted.

    Poderias me ajudar? Abraço Leonardo Pinheiro

    • Olá Leonardo,

      Tente descrever todos os passos executados para configurar o Buildroot e compilar o sistema.

      • Leonardo Pinheiro

        Tinha um alerta que faltava g++ compiler. Vou continuar o processo depois reporto se consegui! Abraço, Leonardo Pinheiro

      • Leonardo Pinheiro

        Agora conseguimos! Geramos as imagens e passamos para o SDCARD nos seus devidos lugares. Mesmo assim não tinha dado certo. Mudamos via make menuconfig a configuração da porta que estava em tty1 para ttyAMA0. Recompilamos e funcionou!

  • Bruno mendes

    Boa noite Sérgio ,
    Gostava de saber como posso usar o buildroot para conseguir ver fotos do gênero das novas molduras electrónicas. Obrigado

    • Olá Bruno,

      Não entendi a sua pergunta. O Buildroot é uma ferramenta de geração de sistemas Linux. O que você quer dizer com “ver fotos do gênero das novas molduras electrónicas”?

      • Bruno

        Boa noite, tenho que fazer um trabalho acadêmico que usa o buildroot para então criar um pequeno so. Depois tenho que utilizar algum módulo que possa visualizar fotografias

        • Você pode habilitar as bibliotecas de jpeg ou png, que ficam em:

          Target packages -> Libraries -> Graphics

          Um abraço.

  • Victor

    Sérgio,

    Baixei o buildroot-2013.05.tar.bz2 e compilei para gerar o sistema de arquivos (rootfs), o firmware e a imagem do kernel para a RPi.
    A RPi inicializa pela porta serial /dev/ttyAMA0, porém ela não carrega a parte de usuário. Portanto, não consigo fazer login pelo minicom.
    Tenho que habilitar algum package para conseguir carregar a parte de usuário?

    Abraço

    • Olá Victor,

      Veja no arquivo /etc/inittab a configuração da chamada à aplicação getty. Deve estar ttyAMA0 ao invés de ttyS0.

  • Pedro

    Sérgio, boa dia.

    Consegui implementar o buildroot para logo após o init ele executar um serviço que executa uma script, eu já testei que de fato que ele está iniciando a script mas ele não está imprimindo na tela o output do console, por exemplo, “echo Hello World!”. O init system que eu configurei foi o systemd, porta tty1 e coloquei para iniciar com um logo na tela utilizando o pacote psplash. Se puder me ajudar serei muito grato

    • Olá Pedro,

      Isso deve estar acontecendo porque o systemd por padrão não direciona a saída padrão dos programas para a console.

      Pela documentação do systemd, se você passar a opção –log-target=console no arquivo de configuração deve funcionar:

      http://www.freedesktop.org/software/systemd/man/systemd.html

      • Pedro

        Opa consegui aqui Sergio, obrigado ai, tive que incluir a linha StandardOutput=syslog+console no serviço e tive que desabilitar o quiet do cmdline.txt. Tenho mais uma dúvida, por exemplo, quando faço algumas alterações e dou make quando ele gera o rootfs.tar algumas vezes não atualiza e tenho que dar make clean e make novamente, teria alguma outra forma mais rápida de tratar este problema?

        • Legal Pedro.

          Bom, o Buildroot tem este comportamento mesmo. Algumas alterações só com make clean para serem recompiladas.

          O que costumo fazer é alterar diretamente o rootfs e documentar as alterações. Depois é só integrar as alterações no Buildroot e retestar.

          Um abraço,

  • Pedro

    Sérgio, bom dia.
    Estou com um problema no momento que executo o comando ‘reboot -h’, algumas vezes ele reinicia o OS e outra vezes ele simplesmente para todos os serviços e aplicações mas não rebota o sistema, estou utilizando a toolchain Buildroot e daemon Systemd, se puder me ajudar a solucionar ou descobrir o que pode estar ocorrendo serei grato.

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