You are on page 1of 13

UNIOESTE - Universidade Estadual do Oeste do Paran Curso de Bacharelado em Cincia da Computao

Tutorial BeagleBoard

Cascavel, 01 de Fevereiro de 2012

Sumrio
1 Comeando do zero: Instalando a distribuio Linux..................................3 1.1 Download de uma imagem pr-configurada.........................................3 1.2 Instalando via Netinstall........................................................................4 3 Instalando pacotes no carto SD via qemu.................................................7 4 Instalando a interface grfica:.....................................................................8 5 Atualizando o Kernel do Linux:....................................................................9 6 Atualizar X-loader e U-boot.......................................................................10 7 Instalao do DSP-bridge..........................................................................11 7.1 No Linux PC:........................................................................................ 11 7.2 Na BeagleBoard:................................................................................. 11 Referncias.................................................................................................. 13

1 Comeando do zero: Instalando a distribuio Linux


Esto catalogadas duas formas de se instalar uma distribuio Linux na BeagleBoard:

1.1 Download de uma imagem pr-configurada


Requerido um carto SD 1GB/2GB. Step 1: Baixe a imagem: wget http://rcn-ee.net/deb/rootfs/oneiric/ubuntu-11.10-r5-minimal-armel.tar.xz Step 2: Verificar a consistncia do arquivo md5sum ubuntu-11.10-r5-minimal-armel.tar.xz Caso esteja ok, o comando resultar: dc38df885797c2db3a8fc8265463a43b ubuntu-11.10-r5-minimalarmel.tar.xz Descompacte a imagem, em seguida entre no diretrio: tar xJf ubuntu-11.10-r5-minimal-armel.tar.xz cd ubuntu-11.10-r5-minimal-armel Step 3: Execute o script com base na localizao do carto SD ( /dev/ ) Ex: sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot beagle_cx Caso no saiba a localizao do SD sudo ./setup_sdcard.sh --probe-mmc gerar uma lista com os dispositivos: Are you sure? I Don't see [/dev/idontknow], here is what I do see... fdisk -l: Disk /dev/sda: 500.1 GB, 500107862016 bytes <- x86 Root Drive Disk /dev/mmcblk0: 3957 MB, 3957325824 bytes <- MMC/SD card mount: /dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0) <- x86 Root Partition Neste caso, /dev/mmcblk0 o carto SD que deve ser usado. Ento, para
3

executar o script, use: sudo ./setup_sdcard.sh --mmc /dev/mmcblk0 --uboot beagle_cx Remova o SD da unidade, e insira na BeagleBoard. Ao reiniciar ter o Ubuntu Maverick instalado (modo texto). User: ubuntu password: temppwd Para instalar a gui (graphical user interface), deve-se primeiro configurar a rede na BeagleBoard. Ser explicado mais adiante.

1.2 Instalando via Netinstall


Requerido um carto SD 1GB/2GB. Este mtodo utiliza de uma conexo com a internet para baixar a imagem e instalar no momento em que der o boot na beagleboard. - Ubuntu 11.10 (Oneiric): No terminal Linux PC, digite: git clone git://github.com/RobertCNelson/netinstall.git cd netinstall Instale o script: em "board" > substituir por beagle_cx Obs: Esse script precisa de mkimage. sudo apt-get install u-boot mkimage Executar Script: sudo ./mk_mmc.sh --mmc /dev/sdX --uboot "board" --distro oneiric Options:

--uboot: beagle_bx, beagle, panda --distro: maverick, oneiric --firmware: installs firmware --serial-mode: debian-installer uses Serial Port --addon ulcd: (ulcd from: http://search.digikey.com/scripts/DkSearch/dksus.dll? vendor=0&keywords=ULCD7-ND)

Insira o carto SD na Beagle e inicie-a: Escolha o idioma, teclado.. Configure a rede. Ento o instalador baixar os pacotes necessrios. User: ubuntu password: temppwd

2 Provendo Internet BeagleBoard via usb atravs de um Linux PC:


Requerido: um adaptador usb ethernet Step 1: Configurando o PC: Primeiramente, certifique-se que ambos esto conectados pelo usb (pode ser necessrio rodar o comando ifconfig usb0 na BeagleBoard para que o PC reconhea o dispositivo). ifconfig Se estiver conectado via usb com a BB, aparecer na tela algo do tipo: usb0 Link encap:Ethernet HWaddr 45:d1:a3:05:28:d3

Nem sempre o dispositivo aparece como usb0. Para este exemplo, ser usado usb0, mas, nos prximos comandos, substitua pelo nome que seu linux reconhecer (usb1, ). Ento, necessrio ativar a interface usb, setando um IP e uma mscara de rede interface: sudo ifconfig usb0 [ip address] netmask [ netmask ] up Ex: sudo ifconfig usb0 192.168.0.1 netmask 255.255.255.0 up

necessrio tambm configurar as IPTables do Linux PC para que os pacotes possam ser repassados interface usb0. Assumindo que o Linux PC esteja conectado internet via eth0 ou wlan0, rode os seguintes comandos: -Removendo prvias configuraes: sudo iptables --flush sudo iptables --table nat --flush sudo iptables --delete-chain sudo iptables --table nat --delete-chain - Liberando a repassagem dos pacotes entre as interfaces: sudo iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE sudo iptables --append FORWARD --in-interface usb0 -j ACCEPT sudo vi /etc/sysctl.conf - Retire o # da linha: #net.ipv4.ip_forward=1 para ativar a repassagem sudo sysctl -p (opcional, mostra se a repassagem est ativada)

Obs: Em eth0, pode ser substitudo por wlan0 (caso esteja na rede sem fio).
5

Step 2: Configurando a BeagleBoard Deve-se ativar a interface usb0, da mesma forma como foi feito no Linux PC, mas com diferentes parmetros: sudo ifconfig usb0 192.168.0.69 netmask 255.255.255.0 up Obs: Certifique-se que o ip pertena rede do Linux PC (192.168.0.X) Em seguida, deve-se adicionar o endereo do gateway para a BeagleBoard, endereo no qual todo o trfego de rede da BeagleBoard consiga atingir a internet. Para isso, basta adicionar o endereo do host (Linux PC) como gateway, com o seguinte comando: sudo route add default gw 192.168.0.1 (IP do Linux PC) Agora, necessrio editar o arquivo que contm os endereos DNS que a BeagleBoard utilizar. Geralmente, basta adicionar o endereo do gateway (roteador da rede que permite a conexo do Linux PC com a internet) que a resoluo de nomes ser responsabilidade deste, mas, caso no funcionar, podese adicionar outros servidores DNS, como o OpenDNS ( 208.67.222.222 ). sudo vi /etc/resolv.conf Adicione: nameserver 208.67.222.222 ou o DNS que lhe convier. Agora est tudo configurado! Pode-se testar a conexo com a internet com o comando ping www.google.com, recebendo resposta, est tudo certo.

3 Instalando pacotes no carto SD via qemu


possvel instalar pacotes diretamente no carto SD (com o ubuntu para a beagleboard instalado) atravs do shell do Linux PC. Por exemplo, a interface grfica pode ser instalada atravs do Linux PC, com o uso do software qemu. Step 1: Instale o pacote qemu-user-static no Linux PC sudo apt-get install qemu-user-static Step 2: Insira o carto SD no Linux PC, e monte a partio rootfs (caso no tenha sido montada automaticamente): Ex: mount -o remount,dev /media/rootfs *Obs: Nesse caso, assumimos que o local da montagem foi: /media/rootfs. Step 3: Copie o arquivo qemu-arm-static para o diretrio /media/rootfs/usr/bin Ex: cp /usr/bin/qemu-arm-static /media/rootfs/usr/bin Step 4: Use o chroot para que o shell possa emular e funcionar como o shell da prpria beagleboard, porm com os recursos do PC (CPU, memria, rede, etc). chroot /media/rootfs Agora, pode-se realizar a instalao de diversos pacotes, que sero instalados no SD da beagleboard: export http_proxy=http://proxy.unioeste.br:8080 (se necessrio) apt-get update apt-get install gdm xubuntu-desktop

4 Instalando a interface grfica:


Aps configurar a rede, bastam dois comandos para a instalao completa da GUI. sudo apt-get update sudo apt-get install gdm xubuntu-desktop Geralmente, um processo demorado, so vrios pacotes que so baixados.

5 Atualizando o Kernel do Linux:


Step 1: No terminal da BB, digite os seguintes comandos, para criar os seguintes parmetros da atualizao: export DIST=oneiric (oneiric pode ser substituda por outra distribuio); export ARCH=armel export BOARD=omap Step 2: Baixe o mais recente script de atualizao do kernel (estvel), com os seguintes comandos: wget http://rcn-ee.net/deb/${DIST}-${ARCH}/LATEST-${BOARD} (pode ser necessrio obter permisso: sudo ) wget $(cat ./LATEST-${BOARD} | grep STABLE | awk '{print $3}') Step 3: Dessa forma, basta executar o script de atualizao, e reiniciar o sistema. /bin/bash install-me.sh A atualizao pode ser verificada ento com o comando ( uname -a), que resultar na verso do novo kernel.

6 Atualizar X-loader e U-boot


Nesta seo ser mostrada passo-a-passo a atualizao do X-loader e U-boot. 1.1 Atualizao Step 1: Em algumas situaes, necessrio zerar as variveis do ambiente u-boot para o script funcionar. Isso pode ser feito com o seguinte comando: nand erase 260000 20000 Step 2: A seguir, deve-se baixar via git clone os arquivos da atualizao: git clone git://github.com/RobertCNelson/flash-omap.git cd flash-omap Entrando no diretrio flash-omap, pode-se executar o script de atualizao, e ento siga as instrues a seguir: sudo ./mk_mmc.sh --mmc /dev/sdX --uboot beagle_cx 1: Plug Serial Cable in and Start Serial terminal program 2: Place MMC card in Beagle 3: Push and Hold User Button 4: Plug-in Power 5: Wait for U-boot countdown to finish, Let Off User Button 6: Wait for Flashing/script to end 7: Power down, remove and reformat MMC card to final OS *Obs: caso no saiba a localizao do SD card: sudo ./mk_mmc.sh --probe-mmc *resultar em algo do tipo: Are you sure? I Don't see [/dev/idontknow], here is what I do see... fdisk -l: Disk /dev/sda: 500.1 GB, 500107862016 bytes <- x86 Root Drive Disk /dev/mmcblk0: 3957 MB, 3957325824 bytes <- MMC/SD card mount: /dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0) <- x86 Root Partition Nesse exemplo, pode-se notar via mount, que /dev/sda1 o rootfs, e /dev/mmcblk0 o outro drive no sistema (MMC/SD) que deve ser usado pelo script ./mk_mmc.sh.

10

7 Instalao do DSP-bridge
Nesta seo ser mostrada passo-a-passo a instalao do DSP-bridge, para a utilizao do DSP da BeagleBoard.

7.1 No Linux PC:


Step 1: Baixe a ltima verso do script de instalao dos binrios DSP, com o comando: wget https://github.com/RobertCNelson/stable-kernel/ raw/master/create_dsp_package.sh Torne-o executvel, com o seguinte comando (vale ressaltar que esse script somente funcionar em uma arquitetura x86): chmod a+x ./create_dsp_package.sh Step 2: Execute o script, que criar (e ir compilar) o diretrio contendo as bibliotecas do DSP: ./create_dsp_package.sh Aps isso, copie o arquivo DSP_Install_libs.tar.gz para a BeagleBoard. Certifique-se que a conexo com a Internet esteja configurada.

7.2 Na BeagleBoard:
Step 1: Extrair os arquivos com o comando: tar xf DSP_Install_libs.tar.gz Step 2: Execute o script de instalao do DSP ./install-DSP.sh necessrio tambm compilar as bibliotecas do Gstreamer. Ao executar o script: ./install-gst-dsp.sh Termina o processo de instalao do DSP-bridge. Reiniciando, automaticamente a bridge iniciada, mas possvel inici-la manualmente com o comando:
11

sudo /etc/init.d/dsp start possvel test-la com o comando: sudo dsp-test Para reproduzir um arquivo multimdia (avi por exemplo), use o Gstreamer com o comando: sudo gst-launch playbin2 uri=file:///home/USER/big_buck_bunny_480p_surround-fix.avi

12

Referncias
[1] eLinux.org/BeagleBoard - Guia para utilizao da plataforma OMAP BeagleBoard. http://elinux.org/BeagleBoardUbuntu#Advanced

13

You might also like