Instalando o Ubuntu no i.MX53 Quick Start Board

- por Sergio Prado

Categorias: i.MX53 Quick Start Board, Linux Tags: ,

O kit de desenvolvimento i.MX53 Quick Start Board é baseado no SOC (system on a chip) i.MX53 da Freescale, um ARM Cortex-A8 que roda a até 1,2GHz, e cujo foco são basicamente aplicações multimedia que exigem performance e baixo consumo (entretenimento automotivo, PDAs, netbooks, tablets, media players, etc).

O i.MX53 tem dois níveis de cache (L1 de 32K e L2 de 256K), e tem integrado um coprocessador NEON, trazendo instruções SIMD muito úteis em aplicações multimedia, além de uma unidade de ponto flutuante (VFP). Além disso, este SOC integra diversos aceleradores de hardware, incluindo dois aceleradores gráficos, um para 2D e outro para 3D. Não é à toa que ele consegue codificar vídeos à 720p e decodificar à 1080p!

Sem contar a infinidade de periféricos que ele consegue interfacear, incluindo discos rígidos (PATA e SATA), USB host/device, display LCD/VGA, cartão SD/MMC, I2C, I2S, SPI, UART, JTAG, GPIO, e todas estas letrinhas mágicas que você já conhece.

Existe até uma plataforma de referência para tablets chamada SABRE que é baseada no i.MX53.

Já o kit de desenvolvimento tem um i.MX53 rodando à 1GHz, e com 1GB de RAM DDR3 para você consumir à vontade. Tem entradas USB, Ethernet, SATA, cartão SD/MMC e UART, além das saídas de áudio e vídeo, e de um conector de expansão.

É um kit bastante interessante. Você pode comprar diretamente da Freescale ou de um de seus distribuidores. Basta acessar o site da Freescale e clicar em Buy. O preço também é atrativo. No momento em que escrevo este artigo, o kit custa $149 (FOB).

E não podemos deixar de comparar este kit com a Beagleboard-xM. Os kits tem preços parecidos, são voltados para aplicações multimedia, e baseados em um ARM Cortex-A8 rodando à 1GHz. Porém a Beagleboard-xM tem um hype maior, principalmente porque o pessoal da Texas desenvolve um trabalho muito bom junto à comunidade open source. De qualquer forma, quanto mais concorrência, melhor!

Você pode ler mais sobre este kit no site da Freescale, que também mantém um forum da comunidade que trabalha com a linha i.MX em http://imxcommunity.org/ e uma wiki em http://www.imxdev.org/.

POR QUE INSTALAR O UBUNTU?

Primeiro porque é muito fácil. Você verá que basta baixar o pacote de instalação da distribuição e usar alguma ferramenta para gravá-la em um dispositivo de armazenamento (HD, pendrive, cartão SD, etc).

Pode ser também seu primeiro contato com uma distribuição embarcada. E usar uma distribuição traz algumas vantagens, como um gerenciador de pacotes que possibilita instalar qualquer pacote disponibilizado nos repositórios da distribuição. Muito mais simples e rápido do que cross-compilar aplicações e bibliotecas para montar sua distribuição manualmente.

É lógico que existem algumas desvantagens no uso de um sistema operacional completo no seu projeto com Linux embarcado. Um sistema operacional completo como o Ubuntu é muito “inchado”, e pode trazer diversos componentes que você nunca irá usar, consumindo muito espaço em disco (ou cartão SD no nosso caso). O tempo de boot também costuma ser outro problema, que pode ir de 1 a 10 minutos, dependendo do seu hardware e da distribuição. Outra questão é a performance da distribuição no seu hardware. Leve estes pontos em consideração ao decidir se irá usar uma distribuição pronta ou criar sua própria distribuição quando for usar Linux em um produto embarcado.

De qualquer forma, o uso de uma distribuição completa pode ser uma boa solução em alguns casos, pela simplicidade e conveniência que ela traz. E o processo de gravação da imagem do Ubuntu é bem simples. No nosso caso, como o kit inicia pelo cartão SD, basta gravar o Ubuntu no cartão SD. Vamos então estudar três métodos para fazer isso.

RELEASE FREESCALE

Para instalar o release do Ubuntu liberado pela Freescale, basta entrar no site do kit de desenvolvimento e baixar o pacote de instalação MX53_QSB_UBUNTU_SD_DEMO_IMAGE.

Depois de baixar os mais de 1.3GB do pacote, você irá descobrir que eles usam uma ferramenta Windows para gravar o Ubuntu no cartão SD!

A aplicação e a documentação que vem juntos me parecem bem simples. Mas como eu não sei o que é Windows desde a versão 3.11, não conseguirei testar este procedimento…:(

Mas não se preocupem que temos outras opções…

RELEASE UBUNTU

O próprio projeto do Ubuntu tem um release para ARM, que pode ser acessado aqui. Hoje ele suporta quatro plataformas diferentes. Além do i.MX53 da Freescale, ele suporta a linha OMAP da Texas, tem um porte para o Netbook AC100 da Toshiba, que usa um Tegra 2, e um porte para ARM server.

O release disponível para o i.MX53 é a versão 11.10 (Oneiric Ocelot). As instruções de instalação estão aqui.

Basicamente, você precisa baixar a imagem do site do Ubuntu:

$ wget http://cdimage.ubuntu.com/releases/oneiric/release/ubuntu-11.10-preinstalled-desktop-armel+mx5.img.gz

E depois gravar no cartão SD:

$ zcat ubuntu-11.10-preinstalled-desktop-armel+mx5.img.gz | sudo dd of=/dev/sdx bs=4M

CUIDADO! Não se esqueça de usar no parâmetro “of=/dev/sdx” o nome do arquivo de dispositivo do cartão SD identificado na sua máquina. O uso errado deste parâmetro pode apagar uma partição do seu HD.

O processo de gravação pode levar alguns minutos. Quando terminar, basta colocar no kit e reiniciá-lo. O primeiro boot pode demorar um pouco. Em determinado momento, ele irá exibir algumas janelas para você configurar o sistema operacional.

RELEASE LINARO

A Linaro é uma organização sem fins lucrativos cujo objetivo é consolidar toda a infraestrutura ARM para Linux (ferramentas, kernel Linux, distribuições, etc).

Na prática, eles possuem versões otimizadas do GCC para ARM, trabalham forte para melhorar a implementação de plataformas ARM no kernel Linux, e liberam distribuições customizadas do Ubuntu e do Android para diversas plataformas de hardware, incluindo a Beagleboard, i.MX5, i.MX6, Pandaboard, Origen, etc. Esta é a listagem completa das plataformas ARM que eles suportam:

Enquanto que o release oficial do Ubuntu para o i.MX53 ainda esta na versão 11.10, a Linaro já disponibiliza a última versão (12.04 Precise Pangolin).

Para instalar, basta seguir o procedimento no site da Linaro.

O primeiro passo é instalar as ferramentas de criação de imagens da Linaro:

$ sudo add-apt-repository ppa:linaro-maintainers/tools
$ sudo apt-get update
$ sudo apt-get install linaro-image-tools
$ sudo apt-get install qemu-user-static

Depois é só baixar as imagens do Ubuntu e instalar no cartão SD:

$ wget http://snapshots.linaro.org/precise/hwpacks/lt-mx5/107/hwpack_linaro-lt-mx5_20120613-107_armhf_supported.tar.gz
$ wget http://snapshots.linaro.org/precise/images/ubuntu-desktop/219/linaro-precise-ubuntu-desktop-20120613-219.tar.gz
$ linaro-media-create --mmc /dev/sdx --dev mx53loco --hwpack hwpack_linaro-lt-mx5_20120613-107_armhf_supported.tar.gz --binary linaro-precise-ubuntu-desktop-20120613-219.tar.gz

CUIDADO! Não se esqueça de usar no parâmetro “–mmc /dev/sdx” o nome do arquivo de dispositivo do cartão SD identificado na sua máquina. O uso errado deste parâmetro pode apagar uma partição do seu HD.

Depois é só colocar o cartão SD no kit e reiniciar.

A instalação de um SO completo como o Ubuntu em uma plataforma embarcada é realmente simples. E pode ser a solução quando precisamos de algo mais completo e menos trabalhoso que construir uma distribuição completa do zero.

Um abraço,

Sergio Prado

Faça um Comentário

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