Toradex Easy Installer Com a Identidade Visual de Sua Empresa

Neste artigo veremos como gerar uma imagem Linux utilizando o Yocto e BSP da Toradex. Essa imagem será compatível com a ferramenta Toradex Easy Installer.

A Toradex proporciona aos seus clientes todo um ecossistema já muito bem estruturado para que sejam criadas imagens Linux e aplicações embarcadas de uma maneira relativamente fácil. Uma das ferramentas que compõem esse ecossistema é o Toradex Easy Installer, sendo a principal forma de instalar imagens Linux nos computadores em módulo da Toradex, tanto imagens customizadas via Yocto como imagens padrão já pré geradas, e também imagens de demonstração de parceiros como Qt.

Neste artigo veremos como gerar uma imagem Linux utilizando o Yocto e BSP da Toradex. Essa imagem será compatível com a ferramenta Toradex Easy Installer e terá uma identidade visual do Embarcados que será exibida na ferramenta como ícone, banners e nome customizado da imagem. Isso é útil quando temos uma aplicação ou imagem de demonstração utilizando algum SoM da Toradex ou quando queremos melhorar a experiência de alguém que irá instalar nossa imagem no SoM, por exemplo alguém do time de produção ou testes.

Configurando o Ambiente Yocto

Primeiramente precisamos montar um ambiente Yocto para geração da nossa imagem customizada. Para isso basta seguir o guia completo no site de desenvolvedores da Toradex.

https://developer.toradex.com/knowledge-base/board-support-package/openembedded-core

Basicamente você deve seguir os seguintes passos:

1 – Instalar os pacotes de pré requisitos do Yocto no Ubuntu.

https://www.yoctoproject.org/docs/3.1.1/mega-manual/mega-manual.html#required-packages-for-the-build-host

2 – Instalar o Repo

3 – Instalar e configurar o Git

4 – Iniciar o ambiente e baixar os componentes dos fontes da Toradex

5 – Executar o comando abaixo para configurar o ambiente de build

6 – Editar o arquivo build/conf/local.conf

No nosso caso iremos gerar uma imagem para o módulo Colibri iMX6 por isso configuramos as flags MACHINE e ACCEPT_FSL_EULA no arquivo local.conf

Aqui nesse ponto já poderíamos gerar uma imagem padrão da toradex tdx-reference-minimal-image, mas iremos mais adiante com a customização da imagem.

Criando e Customizando o Layer meta-embarcados

Dentro da pasta oe-core/layers é possível ver todos os layers que o BSP da Toradex utiliza para geração de imagens.

layers-oecore
Layers Yocto

Iremos tomar como base o que a Toradex já faz para colocar identidade visual na imagem padrão Linux para ser exibida no Toradex Easy Installer, basicamente reproduzindo os arquivos. Esses arquivos são encontrados no seguinte diretório:

meta-toradex-bsp-common/recipes-bsp/tezi-metadata/

Dentro temos o arquivo da receita tezi-metadata_0.3.bb

E também a pasta files que contém os arquivos referenciados pela receita: prepare.sh, wrapup.sh, toradexlinux.png, marketing.tar

Logo mais à frente explicaremos um pouco da estrutura dessa receita e o que são todos esses arquivos.

Layer meta-embarcados

Quando se trabalha com Yocto é costume criar layers, que nada mais são do que pastas contendo outras pastas e arquivos onde irão residir as customizações referentes à sua imagem, aplicações específicas de sua empresa e outras customizações. Por isso criaremos um layer chamado meta-embarcados.

A estrutura mais básica de um layer é a pasta principal com prefixo “meta-” e dentro, outra pasta chamada conf. Dentro de conf é necessário criar um arquivo chamado layer.conf com o seguinte conteúdo:

Note as referências a meta-embarcados dentro do arquivo.

Yocto recipes

As recipes são, como o nome já diz, receitas que tem todas as informações de como nossa aplicação irá ser construída e integrada na imagem Linux. Ou também pode conter outras instruções sobre a geração da imagem. No nosso caso iremos criar uma receita que irá indicar onde serão colocados os arquivos da identidade visual na imagem final.

Dentro da pasta meta-embarcados iremos criar uma pasta chamada recipes-bsp. E dentro desta, criaremos uma pasta chamada embarcados-tezi-metadata.

Dentro de embarcados-tezi-metada, teremos outra pasta com mesmo nome e também o arquivo com a receita embarcados-tezi-metadata_1.0.bb

A estrutura de pastas fica da seguinte maneira:

estrutura de pastas

O conteúdo do arquivo da receita embarcados-tezi-metadata_1.0.bb fica da seguinte maneira:

Os componentes mais importantes da receita acima são:

SRC_URI indica onde se encontram os arquivos que usaremos naquela receita e como estão nomeados.

do_deploy indica onde serão instalados os arquivos indicados acima. No caso, ao gerar a imagem, eles se encontrarão na pasta de deploy que mostraremos mais adiante.

Arquivos da Identidade Visual para Toradex Easy Installer

Mas afinal quais são os arquivos da identidade visual e como fazemos a customização dos mesmos?

O primeiro arquivo é o logo_embarcados.png. Esse é o ícone que irá aparecer na listagem das imagens no Toradex Easy Installer. Esse ícone tem as dimensões de 40×40 pixels e está no formato png.

Exemplo ícone para Toradex Easy Installer
Exemplo de Ícone

O outro arquivo, marketing_embarcados.tar, é na verdade uma pasta compactada no formato tar e dentro dela temos a pasta slides_vga. Dentro da pasta slides_vga temos 3 imagens slide1.jpg, slide2.jpg e slide3.jpg. Essas serão as imagens que aparecerão no carrossel enquanto a imagem Linux é gravada no módulo pelo Toradex Easy Installer. Cada imagem tem o tamanho de 640×400 pixels e está no formato jpg. Por exemplo:

Exemplo banner 1 para Toradex Easy Installer
Exemplo de Banner 1
Exemplo banner 2 para Toradex Easy Installer
Exemplo de Banner 2

Os outros arquivos prepare_emb.sh e wrapup_emb.sh são scripts que podem ser customizados para executar comandos antes e depois da instalação da imagem pelo Toradex Easy Installer. Note que colocamos o sufixo emb para diferenciar dos arquivos originais.

Para criar essas artes é possível usar o Gimp, Inkscape ou outra ferramenta de edição de imagem.

Yocto classes

Ainda resta um outro arquivo para indicar ao Yocto para fazer uso da nossa receita customizada. Esse arquivo é uma classe e no Yocto é basicamente utilizado para abstrair funcionalidades comuns entre receitas.

Nosso arquivo classe é basicamente uma cópia do arquivo classe image_type_tezi.bbclass dentro do diretório meta-toradex-bsp-common/classes. O arquivo foi nomeado image_type_tezi_embarcados.bbclass e fica dentro de uma pasta classes dentro do layer meta-embarcados. 

Note que mudamos todas as referências aos arquivos de identidade visual como logo_embarcados.png, marketing_embarcados.tar e também prepare_emb.sh e wrapup_emb.sh. Note também que foi mudada a string que será utilizada no nome da imagem. Pesquise pela palavra “embarcados” no arquivo e veja todas as modificações. Veja também que adicionamos uma variável EMBARCADOS_RELEASE_VERSION que será utilizada mais a frente.

Outra variável importante que indica dependência da nossa receita embarcados-te-metadata.bb é a seguinte:

A estrutura final do layer meta-toradex ficou da seguinte maneira:

tree layer
Estrutura final layer meta-embarcados

Geração da Imagem com Yocto

Ainda um último passo antes de gerar a imagem é adicionar algumas variáveis de ambiente no arquivo local.conf. São elas:

A primeira variável indica a nossa classe image_type_tezi_embarcados e a segunda variável é uma string de versionamento para ser exibida no Toradex Easy Installer.

Quando o layer e seus arquivos estiverem prontos, podemos iniciar o processo de geração da imagem com o comando abaixo:

Dependendo das configurações de processador e memória RAM do seu computador o processo pode levar algumas horas ou até mais. É preciso ter paciência nesse primeiro build. 

Ao final do processo a imagem gerada deve se encontrar na pasta build/deploy/images/colibri-imx6

deploy images
Arquivo final da imagem gerada

Note que nossa string Embarcados_v1.0 apareceu no nome do arquivo.

Descompactando essa imagem podemos ver o seu conteúdo. Logo notamos que os arquivos da identidade visual foram colocados nos lugares corretos como também as referências no arquivo image.json.

tree imagem
Arquivos extraídos da imagem final

Servidor de Imagens Toradex Easy Installer com Zeroconf

Para instalar essa imagem existem algumas formas. Utilizar um cartão SD ou servir a imagem localmente através da rede. A Toradex tem um guia mostrando como realizar esse setup utilizando Zeroconf no seguinte link:

https://developer.toradex.com/knowledge-base/toradex-easy-installer-detailed-manual#From_a_Local_Web_Server_Announced_via_Zeroconf

Carregando o Easy Installer no Módulo

Os módulos da Toradex devem vir com a imagem Toradex Easy Installer já pré gravada, mas caso não venha existe um guia para carregar a imagem Toradex Easy Installer nos módulos:

https://developer.toradex.com/knowledge-base/load-toradex-easy-installer#Loading_Toradex_Easy_Installer

Resultado Final e Instalação da Imagem

Ao carregar a interface do Toradex Easy Installer via VNC, será possível ver nossa imagem customizada listada. Note o logo do Embarcados e o nome customizado da imagem.

tezi 4
Tela inicial Toradex Easy Installer

Ao iniciar a gravação será possível ver os banners sendo exibidos. Como a imagem é muito pequena e o processo de gravação é rápido, podemos ver apenas 2 dos banners, mas caso a imagem fosse maior poderíamos ver todos os 3.

tezi 5
Banner 1
tezi 6
Banner 2

Conclusão

Vimos neste artigo como utilizar as ferramentas da Toradex para gerar uma imagem compatível com o Toradex Easy Installer incluindo a identidade visual do Portal Embarcados. Isso é útil quando temos uma aplicação ou imagem de demonstração utilizando algum SoM da Toradex ou quando queremos melhorar a experiência de alguém que irá instalar nossa imagem no SoM, por exemplo alguém do time de produção ou testes.

Existe ainda uma maneira mais fácil de mudar os ícones mas talvez com menos possibilidade de customização. Ao invés de criar uma receita e classe, é possível utilizar apenas um bbappend como no exemplo abaixo:

https://github.com/toradex/meta-pasta-demo/blob/master/recipes-bsp/tezi-metadata/tezi-metadata_%25.bbappend

Se quiser baixar o layer completo e já sair gerando a imagem segue o link do meu GitHub:

https://github.com/giobauermeister/meta-embarcados

E você já utilizou esse processo? Sua empresa utiliza módulos da Toradex? Como foi sua experiência com o Toradex Easy Installer? Comente abaixo suas experiências e dúvidas.

Saiba mais

https://www.embarcados.com.br/yocto-project-para-toradex-colibri-i-mx7/

https://www.embarcados.com.br/torizon-toradex/

Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments

WEBINAR

Visão Computacional para a redução de erros em processos manuais

DATA: 23/09 ÀS 17:00 H