Posts com Tag ‘Yocto’

Caro(a) Colega,

o webinar de amanhã é sobre desenvolvimento Linux embarcado utilizando-se do Yocto. Confira a resenha:

Get your free registrations for Doulos webinar ‘Getting Started with Yocto: Meeting the challenge of Embedded Linux deployment’. Doulos brings forth an interesting training webinar, which delves into how a minimal Linux system can be extended to include custom, packaged software. Doulos demonstrates how standard Linux tools, such as gdbserver or the Target Communication Framework agent (TCF agent), drops out of the build system and can be used in a stand-alone SDK. In the process, key concepts of the Yocto Project build system such as recipes, tasks and layers will be introduced. A board from the Toradex Colibri ARM family of SoMs will be used as an example platform.

The webinar covers the following topics:

  • Managed Linux distributions
  • The Yocto build system
  • Creating custom software packages
  • Application development and systems development SDKs
  • Example BSP support

      REGISTER

Abraço,

.Henrique

consulte sempre um engenheiro eletrônico


Getting Started with Yocto: Meeting the challenge of Embedded Linux deployment

Caro(a) Colega,

o artigo BeagleBone Black + Yocto foi publicado originalmente no site Embarcados e é de autoria de Henrique Persico Rossi. É um ótimo artigo introdutório sobre esse assunto. Aproveite!

Abraço,

Henrique

consulte sempre um engenheiro eletrônico

==========================================

 

beaglebone_black

Muito tem sido comentado sobre plataformas de desenvolvimento suportadas por grandes comunidades, tal como a BeagleBone Black e a Raspberry Pi. Ambas têm atingido um grande público em específico, aquele ávido por conhecimento em Linux embarcado. Muito bem! Aqui começa um tutorial de como criar imagens personalizadas para a placa BeagleBone Black usando o Yocto Project.

 .

O que é a BeagleBone Black?

A BeagleBone Black é o mais novo membro da família BeagleBoard e suas características estão listadas no seu Wiki oficial. Algumas das grandes melhorias dessa placa com relação à sua versão anterior, “white”, são:

  • Processador: Sitara AM3359 de 1GHz;
  • Memória DRAM: DDR3L 400MHz de 512 MB;
  • Memória Flash: eMMC de 2GB e conector para microSD card.

E onde podemos gravar o nosso querido Linux na placa? Tanto a memória Flash eMMC quanto um microSD card podem receber todas as imagens necessárias para compor o sistema Linux, as quais, basicamente, são:

  • Bootloader;
  • Kernel Linux;
  • Sistema de arquivos.

Agora que é conhecido o que gravar na placa e os dispositivos de armazenamento oferecidos por ela, como é possível gerar tais imagens? Pode-se utilizar tanto imagens pré-compiladas disponibilizadas no site oficial, ou criar imagens customizadas a partir das técnicas apresentadas no artigo Embedded Linux Build Systems, de Diego Sueiro.

Neste artigo será utilizado um microSD card como dispositivo de armazenamento e o Yocto como build system.

 .

O que é Yocto?

O Projeto Yocto é um projeto open-source colaborativo que oferece templates, ferramentas e métodos para auxiliar na criação de sistemas baseados em Linux para sistemas embarcados, independente da arquitetura de hardware utilizada. O Yocto inclui em sua arquitetura o build system Poky, que, por sua vez, é derivado do build system OpenEmbedded.

O OpenEmbedded é composto de dois elementos principais, como mostrado abaixo: BitBake e Metadata. BitBake é uma ferramenta de build muito flexível mantida pelos projetos Yocto e OpenEmbedded, comandada pelas instruções presentes no Metadata e com a finalidade de gerar, entre outros, as imagens finais do sistema de arquivos, kernel, bootloader e SDKs.

yocto

.

Gerando as imagens

Como sistema host foi utilizado um PC com a distribuição Ubuntu 12.10 64-bits instalada. Algumas dependências devem ser resolvidas no sistema antes de prosseguir. Para isso, execute o seguinte comando:

Precisa-se, agora, realizar o download de todos esses itens. Neste artigo é utilizada a última versão estável do Yocto, na versão 1.5 e nomeada Dora. Para isso, siga os seguintes comandos:

.

 .

local.conf

A linha onde a variável MACHINE é configurada precisa ser comentada e substituída pelo seguinte conteúdo:

.

As linha que contêm as configurações das variáveis BBLAYERS e BBLAYERS_NON_REMOVABLE devem ser substituídas pelos seguintes valores:

  • core-image-minimal-beaglebone.tar.gz (rootfs – sistema de arquivos);
  • MLO (bootloader de primeiro estágio);
  • u-boot.img (bootloader de segundo estágio – U-Boot);
  • zImage (kernel) e;
  • zImage-am335x-boneblack.dtb (Device Tree Binary).

.

Gravação das imagens no microSD Card

Para a gravação dessas imagens no microSD card, o mesmo deve ser particionado e formatado de acordo o padrão aceito pelo placa. Para isso foi criado um script, que pode ser obtido com os seguintes comandos:

  • boot (FAT32);
  • rootfs (ext4).

.

Execute a “montagem” dessas duas partições no sistema de arquivos do sistema host. Caso esse faça uso da distribuição Ubuntu, basta remover e inserir novamente o dispositivo no seu conector. Dado que, por exemplo, os pontos de montagem criados sejam /media/boot e /media/rootfs, as imagens geradas anteriormente são copiadas da seguinte forma:

.

Para aprender mais

Bibliografia