A BeagleBoard é uma placa de referência de tamanho pequeno contendo um processador Texas Instruments Open Multimedia Application Platform (OMAP) 3 system-on-a-chip (SoC), o que inclui um núcleo ARM Cortex-A8, um digital signal processor (DSP) Texas Instruments C64x+ e um mecanismo gráfico integrado, bem como uma memória de acesso aleatório (RAM) dual data rate (DDR) integrada. O BeagleBoard é uma plataforma de baixo custo para amadores, acadêmicos e profissionais que estão aprendendo Linux e sistemas pequenos. A Figura 1 mostra a BeagleBoard-xM.
Figura 1. BeagleBoard-xM
Em um artigo anterior do developerWorks, explorei fazer boot do Linux na BeagleBoard revisão C, que hospeda um processador OMAP3530 de 600MHz, RAM de 256MB e memória flash NAND de 256MB. A revisão xM é mais robusta, com um processador OMAP3730 de 1GHz e RAM de 512MB. Faz boot a partir do cartão microSD sem nenhuma memória flash e hospeda novas interfaces, incluindo conector serial DB-9, hub Universal Serial Bus (USB) integrado de quatro portas e uma porta Ethernet integrada. A BeagleBoard-xM retém muitos recursos da revisão C, incluindo saída Digital Visual Interface (DVI)-D, S-vídeo, áudio, Joint Test Action Group (JTAG) e diversos cabeçalhos de expansão.
Construindo seu ambiente de trabalho
As seções a seguir mostram como originar os componentes necessários, configurar e testar o console.
A BeagleBoard-xM é empacotada com um cartão microSD pré-formatado de 4GB junto com um adaptador, de modo que se pode conectar o cartão em um slot Secure Digital (SD)/MultiMediaCard (MMC) padrão, mas sem cabos. É preciso o seguinte:
- Fonte de alimentação
Use uma fonte de alimentação externa de 5V. - Cabo serial
A BeagleBoard-xM fornece uma porta DB9 fêmea e exige um cabo serial para conectar o console ao seu sistema host. Use um cabo direto (não modem nulo). Se seu sistema host não tiver porta serial, use um cabo DB9 a USB. - Teclado USB e mouse USB
- Monitor compatível com DVI-D e um cabo DVI-D a High-Definition
Multimedia Interface (HDMI)
Observe que a placa não emite sinais Video Graphics Array (VGA) através desse conector, então um cabo conversor DVI a VGA padrão não funcionará. - Cartões microSD de 4GB+ e um leitor de cartão
É possível substituir os dados no cartão fornecido, mas é melhor comprar alguns cartões para usar com diferentes distribuições. Use um leitor de cartão USB se seu host não possuir leitor integrado.
Usuários do Linux podem usar minicom, mostrado nos exemplos a seguir. Usuários do Microsoft® Windows® podem usar Hyperterminal ou PuTTy, e usuários de Mac podem usar screen, ZTerm ou MacWise.
Conecte o cabo serial na porta DB9 da BeagleBoard-xM e seu host e inicie minicom no modo de configuração como raiz:
sudo minicom -s |
A Listagem 1 mostra o menu de configuração minicom
.
Listagem 1.Menu de configuração
minicom
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
|
Selecione configuração da porta serial. O submenu resultante é mostrado na Listagem 2.
Listagem 2. Configuração da porta serial
minicom
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyS0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
|
Se seu cabo for um cabo serial direto, o dispositivo serial é /dev/ttyS0. Se usar um conversor USB, use /dev/ttyUSB0. Se nenhum texto aparecer na próxima etapa, é possível que seu host tenha atribuído um dispositivo diferente, então incremente 0 para 1 e tente novamente. Para todos os dispositivos, as configurações são 115200, 8 bits, sem paridade, 1 bit de parada e nenhum controle de fluxo de hardware ou software.
Quando suas configurações estiverem corretas, salve esta configuração como padrão selecionando Save setup as dfl e, a seguir, Exit. A mensagem de boas-vindas do minicom aparece, como mostrado na Listagem 3.
Listagem 3. Mensagem de boas-vindas
minicom
Welcome to minicom 2.3
OPTIONS: I18n
Compiled on Oct 24 2008, 06:37:44.
Port /dev/ttyS0
Press CTRL-A Z for help on special keys
|
Para verificar, aplique alimentação ao seu BeagleBoard-xM e digite uma chave para parar a contagem regressiva de boot. As mensagens do loader de boot aparecem mostrando a versão do X-loader e U-boot, a data de criação e a saída, com o U-boot mostrando detalhes sobre memória do sistema, canais de entrada e saída, informações da placa de expansão e a revisão da placa e ID da matriz, como mostrado na Listagem 4.
Listagem 4. X-Loader e U-Boot
Texas Instruments X-Loader 1.4.4ss (Aug 19 2010 - 02:49:27) Beagle xM Rev A Reading boot sector Loading u-boot.bin from mmc U-Boot 2010.03-dirty (Aug 20 2010 - 20:50:46) OMAP3630/3730-GP ES1.0, CPU-OPP2, L3-165MHz, OMAP3 Beagle board + LPDDR/NAND I2C: ready DRAM: 512 MB NAND: 256 MiB In: serial Out: serial Err: serial Probing for expansion boards, if none are connected you'll see a harmless I2C error. No EEPROM on expansion board Beagle xM Rev A Die ID #77f600001bf00000015739ea0701c021 Hit any key to stop autoboot: 0 OMAP3 beagleboard.org # |
Desconecte a energia da BeagleBoard-xM.
Preparando para fazer o boot do Linux
Conecte seu teclado e mouse nos soquetes USB na BeagleBoard-xM. Conecte um cabo de rede, se disponível, à tomada de Ethernet. Conecte o cabo HDMI-a-DVI entre a placa e um monitor DVI-D.
As seguintes instruções são apenas para ativar e operar sua placa com essas três distribuições do Linux. Os links em Recursos contêm kits de desenvolvimento, toolchains e instruções para configurar ambientes de desenvolvimento completos.
Fazendo o boot do Angstrom Linux
O Angstrom Linux é um sistema operacional desenvolvido especificamente para pequenos computadores, como a BeagleBoard-xM. A maneira mais rápida de fazer o boot do Angstrom na BeagleBoard-xM é com um cartão microSD que vem com a placa, contendo uma imagem Angstrom. Porém, a imagem nesse cartão é uma imagem de verificação, o que significa que é fornecida apenas para verificar a operação da placa. Ela não contém uma interface gráfica com o usuário (GUI) e faz o boot por padrão como um disco RAM; assim, quaisquer alterações feitas são perdidas ao desconectar.
O cartão microSD incluso contém uma única partição de File Allocation Table (FAT) de aproximadamente 117MB, contendo o seguinte:
- Loaders de boot X-loader (
MLO) e U-boot (u-boot.bin) - Kernel Linux (
uImage) - Script de boot (
user.scr) - Sistema de arquivos raiz do disco RAM (
ramdisk.gz) Arquivo md5sumpara verificar os tamanhos de arquivo
O restante do cartão é não formatado.
Para fazer boot, insira o cartão microSD e aplique energia. Após a contagem regressiva de boot, o sistema automaticamente chama o script de boot. O texto do loader de boot é mostrado novamente no console, seguido de mensagens de boot mostrando os processos de boot, incluindo a execução do script em si, carregando o kernel e o disco RAM e, por fim, iniciando o kernel como mostrado na Listagem 5.
Listagem 5. Fazendo boot de Angstrom
mmc1 is available The user button is currently NOT pressed. reading boot.scr ** Unable to read "boot.scr" from mmc 1:1 ** reading user.scr 755 bytes read Running bootscript from mmc ... ## Executing script at 80200000 mmc1 is available reading ramdisk.gz 19960110 bytes read reading uImage 3190568 bytes read Booting from ramdisk ... ## Booting kernel from Legacy Image at 80200000 ... Image Name: Angstrom/2.6.32/beagleboard Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3190504 Bytes = 3 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux..................................................................... [ 0.000000] Linux version 2.6.32 (ubuntu@ip-10-204-115-71) (gcc version 4.3.3 ....... |
Mensagens de boot do Linux se seguem e, por fim, o logotipo e prompt de login do Angstrom, como mostrado na Listagem 6.
Listagem 6. Console de login do Angstrom
.-------.
| | .-.
| | |-----.-----.-----.| | .----..-----.-----.
| | | __ | ---'| '--.| .-'| | |
| | | | | |--- || --'| | | ' | | | |
'---'---'--'--'--. |-----''----''--' '-----'-'-'-'
-' |
'---'
The Angstrom Distribution beagleboard ttyS2
Angstrom 2010.7-test-20100820 beagleboard ttyS2
beagleboard login:
|
Efetue login como root, nenhuma senha é necessária. É possível executar comandos básicos do Linux para testar o sistema. Tente executar testled e observe os diodos emissores de luz (LED) na BeagleBoard-xM.
Para ver o Angstrom em ação, é preciso um sistema de arquivos raiz completo e um kernel correspondente. As seguintes instruções mostram como fazer download e boot da imagem demo.
- Navegue para a página demo do Angstrom BeagleBoard e leia as instruções.
- Faça o download das imagens binárias para o loader de boot e sistema de arquivos raiz a partir da página demo do Angstrom BeagleBoard. Os arquivos necessários são:
- mkcard.txt
- MLO
- u-boot.bin
- Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
- Insira um cartão microSD com pelo menos 4GB de capacidade e determine seu nome de dispositivo. Por exemplo, se estiver usando um leitor de cartão USB, use
fdiske procure um disco correspondendo às características do cartão. O exemplo a seguir mostra/dev/sdg:# fdisk -l ... Disk /dev/sdg: 3.9 GB, xxx bytes 255 heads, 63 sectors/track, xxx cylinders
- Desmonte quaisquer partições no cartão. Use o nome de dispositivo do seu cartão no lugar de
/dev/sdgno seguinte exemplo:sudo umount /dev/sdg?
- Formate seu cartão SD usando
mkcard.txt.Nota: Esteja certo de que está selecionando seu cartão SD, e não um disco do sistema.
Use o nome de dispositivo do seu cartão no lugar de
/dev/sdgno seguinte exemplo:chmod +x mkcard.txt ; sudo ./mkcard.txt /dev/sdg
Quando a operação estiver concluída, seu cartão microSD contém duas posições primárias:
- Uma partição de 70MB FAT rotulada
boot. - Uma partição ext3 rotulada
Angstromque compõe o restante da capacidade do cartão.
Se seu sistema não montar automaticamente essas partições após o script criá-las, monte-as manualmente, substituindo o nome de dispositivo do seu cartão por
/dev/sdgno seguinte exemplo:sudo mkdir -p /media/boot ; sudo mount /dev/sdg1 /media/boot sudo mkdir /media/Angstrom ; sudo mount /dev/sdg2 /media/Angstrom
O restante deste exemplo presume que essas partições estão montadas como
/media/boote/media/Angstrom. - Uma partição de 70MB FAT rotulada
- Desempacote os arquivos para a partição do sistema de arquivos raiz (esse comando pode levar algum tempo):
sudo tar -C /media/Angstrom -xjvf \ Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
- Copie os arquivos para a partição de boot, notando que a imagem do kernel vem diretamente do sistema de arquivos raiz:
cp MLO /media/boot cp u-boot.bin /media/boot cp /media/Angstrom/boot/uImage /media/boot
- Quando todas as operações estiverem concluídas, sincroniza os sistemas de arquivos e desmonte as partições:
sync ; sudo umount /dev/sdg?
- Insira o cartão em BeagleBoard-xM e aplique energia.
Nota: Se o primeiro boot falhar com um erro como este:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block...
Reinicie o sistema, pare a contagem regressiva de boot e digite o seguinte comando:
setenv mmcroot /dev/mmcblk0p2 rw
Então faça o boot do sistema digitando
boot.
O primeiro boot leva um tempo enquanto o sistema configura a si mesmo. O logotipo Angstrom aparece no monitor, enquanto no console cada componente é configurado. Depois de cerca de 10 minutos, uma tela de login Angstrom aparece no monitor e um prompt de boot é exibido no console. Use a tela de login para definir um novo usuário e efetuar login. Também é possível efetuar login no console como root, nenhuma senha é necessária.
O Android provou ser um sistema operacional popular para BeagleBoard, uma vez que a placa é uma plataforma de baixo custo para desenvolvimento e teste do aplicativo Android. Há diversas portas do Android para a BeagleBoard. Este artigo usa o projeto rowboat . Certifique-se de conectar um teclado USB e um mouse, bem como um monitor DVI antes de iniciar.
- Faça download do tarball binário pré-compilado a partir da página Texas Instruments Android DevKit, certificando-se de identificar a imagem pré-construída para o BeagleBoard-xM (
beagleboard-xm.tar.gz). - Desempacote o tarball:
tar zxvf beagleboard-xm.tar.gz
- Leia as instruções em README.txt.
- Insira um cartão microSD com pelo menos 4GB de capacidade e determine seu nome de dispositivo. Por exemplo, se estiver usando um leitor de cartão USB, use
fdiske procure um disco correspondendo às características do cartão. O exemplo a seguir mostra/dev/sdg:# fdisk -l ... Disk /dev/sdg: 3.9 GB, xxx bytes 255 heads, 63 sectors/track, xxx cylinders
- Formate seu cartão SD usando o script fornecido.
Nota: Esteja certo de que está selecionando seu cartão SD, e não um disco do sistema.
Use o dispositivo do cartão no lugar de
/dev/sdgno seguinte exemplo:mkmmc-android.sh /dev/sdg
Quando todas as operações estiverem concluídas, sincronize os sistemas de arquivo e desmonte as partições:
sync ; sudo umount /dev/sdg?
- Insira o cartão microSD na BeagleBoard-xM e aplique alimentação.
O primeiro boot leva um tempo enquanto o sistema configura a si mesmo. Depois de cerca de quatro minutos, você deve ver o logotipo Android e então uma tela inicial. Se a rede não ativar automaticamente, aguarde outros cinco minutos e reinicialize. Observe que o console permanece ativo e faz login automaticamente como
root.
O Ubuntu está rapidamente tornando-se uma distribuição popular para netbooks, mobile Internet devices (MIDs) e outros pequenos sistemas. A Canonical, empresa-mãe do Ubuntu, dedicou recursos para fazer porta do Ubuntu a processadores ARM, como a BeagleBoard. Como com o Android, certifique-se de fazer plug-in em um monitor e teclado USB e mouse antes de iniciar.
- Leia as instruções na página Ubuntu OMAP Maverick Install.
- Faça o download da imagem binária pré-compilada. Certifique-se de identificar a imagem para BeagleBoard-xM: Imagem de netbook pré-instalada para computadores TI OMAP3
(
ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz). Não descompacte a imagem desta vez. - Insira um cartão microSD com pelo menos 4GB de capacidade e determine seu nome de dispositivo. Por exemplo, se estiver usando um leitor de cartão USB, use
fdiske procure um disco correspondendo às características do cartão. O exemplo a seguir mostra/dev/sdg:# fdisk -l ... Disk /dev/sdg: 3.9 GB, xxx bytes 255 heads, 63 sectors/track, xxx cylinders
- Grave a imagem diretamente no cartão.
Nota: Esteja certo de que está selecionando seu cartão SD, e não um disco do sistema.
Use o dispositivo do seu cartão no lugar de
/dev/sdgno exemplo a seguir:sudo sh -c 'zcat \ ./ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz > /dev/sdg'
Nota: Se seu BeagleBoard-xM for uma revisão A3, pode ser preciso fazer download de um kernel diferente. Consulte a página de instalação do Ubuntu Maverick para detalhes.
Quando todas as operações estiverem concluídas, sincronize os sistemas de arquivos e desmonte as partições:
sync ; sudo umount /dev/sdg?
- Insira o cartão na BeagleBoard-xM e aplique energia.
O primeiro boot leva um tempo enquanto o sistema configura a si mesmo, e durante esse período o monitor e o console podem permanecer escuros. Depois de cerca de cinco minutos, o logotipo do Ubuntu aparece no monitor, seguido por uma série de telas de configuração do sistema. Responda as perguntas de configuração usando o teclado e o mouse conectado à BeagleBoard. Se a rede não ativar automaticamente, aguarde até o sistema estar completamente operacional, desligue-o (acesse System e escolha Shut Down), e depois reinicialize.
O console não permanece ativo para o Ubuntu. É preciso interagir com o sistema através do monitor e do teclado ou mouse. Porém, é possível instalar um servidor Virtual Network Computing (VNC) a partir do Ubuntu Software Center e interagir com o sistema através da VNC.
Cada um desses sistemas operacionais possui seu próprio ecossistema de comunidade, incluindo sites da Web, wikis, listas de e-mails e canais de Internet Relay Chat (IRC), assim como o BeagleBoard em si. Aproveite esses excelentes recursos enquanto aprende sobre a BeagleBoard-xM e seu sistema operacional escolhido.
Aprender
-
BeagleBoard.org é o principal portal para tudo sobre a BeagleBoard, incluindo Manual de Referência do Sistema BeagleBoard-xM (PDF). Os dois principais sites para informações geradas pela comunidade são eLinux.org BeagleBoard wiki
e o menor wiki em code.google.com.
- O principal site Angstrom possui muitas informações sobre a distribuição Angstrom. Informações sobre o uso da imagem de validação inclusa estão na página Diagnostics. É possível fazer o download do software para BeagleBoard na página demo Angstrom BeagleBoard (certifique-se de ler as instruções na metade inferior da página). Também é possível criar uma imagem pré-construída usando a ferramenta Narcissus
do Angstrom
- Os recursos Android para a BeagleBoard-xM incluem o site da Web Rowboat , bem como a página Texas Instruments Android DevKit. Para saber mais sobre o sistema operacional Android em geral, inicie com a página do Android.
- Os recursos Ubuntu para BeagleBoard-xM incluir a página BeagleBoardUbuntu no eLinux.org bem como a página de instalação do OMAP Maverick no wiki do Ubuntu. Para saber mais sobre o sistema operacional Ubuntu em geral, inicie com a página principal do Ubuntu.
-
Integrated Linux Primer, 2ª Ed. por Chris Hallinan (Prentice Hall, 2010) é um dos recursos absolutos para aprender sobre Linux integrado.
- "Boot do Linux na Beagle Board" (developerWorks, agosto de 2009) mostra como fazer boot do Linux na BeagleBoard revisão C.
-
The Open Source Way é um wiki, livro e (em breve) livro-texto com conteúdo criado pela comunidade dedicado a definir como as coisas são feitas no mundo da abertura e para promover o software livre em novos domínios, como educação, governo e negócios.
-
Na zona Linux do developerWorks,
você encontrará muitos artigos e tutoriais de instruções, bem como downloads, fóruns de discussão e muitos outros recursos para desenvolvedores e administradores Linux.
-
Fique por dentro dos eventos técnicos e webcasts do developerWorks
focados em uma série de produtos IBM e tópicos do segmento de mercado de TI.
-
Participe de um briefing ao vivo e gratuito
developerWorks para se atualizar rapidamente sobre produtos e ferramentas IBM, bem como tendências do segmento de mercado de TI.
-
Assista as demos on demand no developerWorks
que abrangem desde demos de instalação e configuração de produtos para iniciantes até funcionalidades avançadas para desenvolvedores experientes.
-
Siga o DeveloperWorks no Twitter ou inscreva-se para receber tweets sobre o Linux no developerWorks.
Obter produtos e tecnologias
-
Avalie os produtos IBM
da maneira que for melhor para você: faça download da versão de teste de um produto, avalie um produto online, use-o em um ambiente de nuvem ou passe algumas horas na SOA Sandbox
aprendendo a implementar Arquitetura Orientada a Serviços de modo eficiente.
Discutir
- Visite a Lista de e-mails de discussão sobre BeagleBoard e o canal BeagleBoard IRC para discutir qualquer coisa sobre BeagleBoard.
-
Participe da comunidade do developerWorks. Entre em contato com outros usuários do developerWorks e explore os blogs, fóruns, grupos e wikis voltados para desenvolvedores.
