Tutorial: Instalação de Ubuntu em uma Gumstix Overo
1. Laboratório de Sistemas Embarcados Críticos (LSEC)
www.lsec.icmc.usp.br – lsec@icmc.usp.br
Tutorial: Instalação de Ubuntu em uma Gumstix Overo
Este tutorial auxilia na instalação de Ubuntu em uma Gumstix Overo Fire COM. Os
testes foram executados com sucesso em mais de uma placa, o que valida estes passos.
Preparação da imagem do sistema operacional
O primeiro passo é a instalação do software que efetuará a geração de imagem
especificamente para uma arquitetura ARM:
$ sudo aptget install rootstock qemu
Em seguida, executa-se o comando de geração da imagem com os parâmetros
adequados, como exemplificado a seguir. É interessante incluir o máximo de aplicativos
possível nesta etapa. Ex.: samba, x11vnc e aplicativos para WiFi.
$ sudo rootstock serial ttyS2 dist lucid fqdn "gumstix" seed
lxde,gdm,opensshserver,gcc,g++,buildessential,apt login daniel
password daniel
Onde:
--serial especifica o dispositivo (neste caso, o cartão de memória)
--dist especifica a versão do Ubuntu (neste caso, a 10.04)
--fqdn é o hostname
--seed refere-se aos pacotes que já serão instalados
--login e --password permitem a definição prévia de usuário e senha
A saída desta operação deverá ser um arquivo com o nome similar a armel-rootfs-
201107170150.tgz.
Mais informações sobre o rootstock:
http://manpages.ubuntu.com/manpages/karmic/man1/rootstock.1.html
Preparação do cartão de memória
O cartão de memória deve ser formatado e particionado seguindo as intruções
disponíveis na página da Gumstix: http://www.gumstix.org/create-a-bootable-microsd-
card.html. Para isso, temos um script que facilita o processo (make_bootable_sdcard.sh).
Tutorial: Instalação de Ubuntu em uma Gumstix Overo – Página 1 de 5
2. Laboratório de Sistemas Embarcados Críticos (LSEC)
www.lsec.icmc.usp.br – lsec@icmc.usp.br
Para executar este script, é necessário efetuar download de três arquivos fornecidos
pela Gumstix: MLO, u-boot e uImage. Elas estão disponíveis em:
http://www.gumstix.org/update-to-the-latest-software.html. O ideal é sempre utilizar as
mais recentes (e que estejam estáveis). Neste tutorial, utilizou-se as versões encontradas
no endereço: http://cumulus.gumstix.org/images/angstrom/factory/overo-201010200957/.
Antes de executar o script é necessário desmontar o cartão. A sintaxe do comando
de execução do script é:
$ sudo ./make_bootable_sdcard.sh /dev/sdb ../MLO20110325.bin ../u
boot20110325.bin ../uImage20110325.bin /home/daniel/armelrootfs
201107170150.tgz
Define-se a localização do cartão (/dev/sdb); em seguida a localização das imagens
MLO, u-boot e uImage nesta sequência; E por fim, a localização da imagem do sistema
operacional criada previamente com o rootstock.
Após a execução deste script, o cartão estará pronto para bootar na placa.
Estabelecendo comunicação serial e bootando
Antes de ligar o dispositivo é necessário estabelecer uma comunicação serial para
acompanhar o andamento do boot e poder manipulá-lo. Pode-se utilizar o Minicom ou o
Kermit. Neste tutorial, vamos adotar o Minicom. O comando de instalação é:
$ sudo aptget install buildessential
Após a instalação é necessário efetuar uma configuração conforme o tutorial:
http://gumstix.org/connect-to-my-gumstix-system.html.
Para estabelecer a comunicação através da porta USB entre o minicom e o
dispositivo, executa-se:
$ minicom o
Caso adote-se o Kermit, algumas variáveis devem ser modificadas:
$ kermit l /dev/ttyUSB0
CKermit>set flowcontrol none
CKermit>set carrierwatch off
CKermit>set speed 115200
CKermit>/dev/ttyUSB0, 115200 bps
CKermit>connect
Quando a conexão estiver estabelecida, serão exibidas algumas informações como
Tutorial: Instalação de Ubuntu em uma Gumstix Overo – Página 2 de 5
3. Laboratório de Sistemas Embarcados Críticos (LSEC)
www.lsec.icmc.usp.br – lsec@icmc.usp.br
mostra a Figura 1.
Figura 1: Conexão estabelecida entre o
Minicom e o dispositivo
Pode-se então, conectar a entrada de energia e bootar. Ao ligar a placa, é possível
interromper o boot e modificar algumas variáveis do u-boot. Uma das modificações
necessárias é a variável correspondente ao display. Basta executar os seguintes
comandos:
setenv defaultdisplay lcd43
saveenv
Para aumentar a resolução do display:
setenv defaultdisplay lcd
setenv dvimode 640x480MR16@60
resolutionMRbpp@freq
$ lsmod
modprobe ads (drive)
Configurando o Ubuntu
Estas configurações podem ser realizadas com ajuda do Minicom ou pode-se editar
o cartão de memória utilizando um computador pessoal. A segunda opção é mais fácil e
será apresentada a seguir.
Alguns arquivos precisam ser editados e outros criados. Abra o arquivo
/etc/network/interfaces que localiza-se na segunda partição do cartão. Será necessário
obter privilégios de root. Pelo prompt de comando basta utilizar sudo na frente do
comando e o gedit, por exemplo, para edição, como exemplificado a seguir.
$ sudo gedit /path/to/second/partition/etc/network/interfaces
Tutorial: Instalação de Ubuntu em uma Gumstix Overo – Página 3 de 5
4. Laboratório de Sistemas Embarcados Críticos (LSEC)
www.lsec.icmc.usp.br – lsec@icmc.usp.br
Pode-se ainda executar o seguinte comando e abrir o gerenciador de arquivos do
Gnome:
$ sudo nautilus
Basta adicionar as seguintes linhas no final do arquivo /etc/network/interfaces:
auto eth0
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet dhcp
É necessário também editar o arquivo /etc/apt/sources.list e adicionar as seguintes
linhas:
deb http://ports.ubuntu.com/ubuntuports lucidupdates main
deb http://ports.ubuntu.com/ubuntuports lucidsecurity main
Os próximos passos incluem a cópia do kernel e de alguns módulos do sistema
operacional OMAP desenvolvido pela Gumstix para dentro do cartão de memória. Desta
forma, teremos todos os módulos necessários para que a wireless e outros recursos
possam fucionar corretamente.
O primeiro passo é baixar o arquivo do sistema operacional OMAP, disponível em:
http://cumulus.gumstix.org/images/angstrom/factory/. O arquivo deverá ter um nome
similar a omap3-desktop-nand-image-overo-201011150741.tar.bz2, podendo haver
mudanças na data a hora inclusas no nome.
Vamos descompactar esta imagem na nossa estação de trabalho:
$ tar xpvjf omap3desktopnandimageovero201011150741.tar.bz2 C
omap3dekstop/
A partir deste novo diretório omap3-desktop/, poderemos copiar alguns arquivos e
diretórios para dentro do nosso cartão, que deverá estar montado de forma similar a
/media/406f93db-ea51-4b36-b3d6-ed90d32c1681/. Assumindo estas nomenclaturas, os
comandos de cópia são os seguintes:
sudo cp omap3desktop/boot/uImage2.6.35 /media/FAT_/uImage
sudo scp omap3desktop/usr/bin/ts_* /media/406f93dbea514b36b3d6
ed90d32c1681/usr/bin
sudo cp rpv omap3desktop/lib/modules/2.6.35/ /media/406f93dbea51
4b36b3d6ed90d32c1681/lib/modules/
Tutorial: Instalação de Ubuntu em uma Gumstix Overo – Página 4 de 5
5. Laboratório de Sistemas Embarcados Críticos (LSEC)
www.lsec.icmc.usp.br – lsec@icmc.usp.br
sudo scp omap3desktop/lib/firmware/sd8686* /media/406f93dbea514b36
b3d6ed90d32c1681/lib/firmware
sudo scp r omap3desktop/lib/firmware/* /media/406f93dbea514b36
b3d6ed90d32c1681/lib/firmware
sudo scp omap3desktop/etc/X11/xorg.conf /media/406f93dbea514b36
b3d6ed90d32c1681/etc/X11
sudo scp omap3desktop/usr/lib/xorg/modules/drivers/omapfb_drv.so
/media/406f93dbea514b36b3d6
ed90d32c1681/usr/lib/xorg/modules/drivers/
sudo scp omap3desktop/usr/lib/xorg/modules/input/tslib_drv.so
/media/406f93dbea514b36b3d6
ed90d32c1681/usr/lib/xorg/modules/input/
E por fim, após o boot, executa-se as seguintes linhas:
$ sudo aptget update
$ sudo aptget upgrade
É indicado instalar apenas os pacotes a seguir ao invés do ubuntu-desktop:
dhcp3client
nettools
ifupdown
netcatopenbsd
netbase
avahiautoipd
avahidaemon
networkmanagergnome
networkmanagerpptp
networkmanagerpptpgnome
gnomenettool
wirelesstools (iwlist e iwconfif)
wpa_supplicant
Caso ainda não exista conexão wireless após esta etapa, basta rebootar. O
comando ifconfig mostra a situação das interfaces de rede. E o comando a seguir mostra
as redes wireless disponíveis:
$ sudo iwlist wlan0 scan
Para reiniciar a interface de rede:
sudo /etc/init.d/networking restart
Tutorial: Instalação de Ubuntu em uma Gumstix Overo – Página 5 de 5