Tutorial: Instalação de Ubuntu em uma Gumstix Overo

5
Laboratório de Sistemas Embarcados Críticos (LSEC) www.lsec.icmc.usp.br [email protected] 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 apt-get 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,openssh-server,gcc,g++,build-essential,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

Transcript of Tutorial: Instalação de Ubuntu em uma Gumstix Overo

Page 1: Tutorial: Instalação de Ubuntu em uma Gumstix Overo

Laboratório de Sistemas Embarcados Críticos (LSEC)www.lsec.icmc.usp.br – [email protected]

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 apt­get 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,openssh­server,gcc,g++,build­essential,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

Page 2: Tutorial: Instalação de Ubuntu em uma Gumstix Overo

Laboratório de Sistemas Embarcados Críticos (LSEC)www.lsec.icmc.usp.br – [email protected]

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 ../MLO­20110325.bin ../u­boot­20110325.bin ../uImage­2011­0325.bin /home/daniel/armel­rootfs­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 apt­get install build­essential

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 C­Kermit>set flow­control none C­Kermit>set carrier­watch offC­Kermit>set speed 115200 C­Kermit>/dev/ttyUSB0, 115200 bpsC­Kermit>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

Page 3: Tutorial: Instalação de Ubuntu em uma Gumstix Overo

Laboratório de Sistemas Embarcados Críticos (LSEC)www.lsec.icmc.usp.br – [email protected]

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 lcd43saveenv

Para aumentar a resolução do display:

setenv defaultdisplay lcdsetenv dvimode 640x480MR­16@60 resolutionMR­bpp@freq 

$ lsmodmodprobe 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

Page 4: Tutorial: Instalação de Ubuntu em uma Gumstix Overo

Laboratório de Sistemas Embarcados Críticos (LSEC)www.lsec.icmc.usp.br – [email protected]

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 eth0iface eth0 inet dhcpauto wlan0iface wlan0 inet dhcp

É necessário também editar o arquivo /etc/apt/sources.list e adicionar as seguintes linhas:

deb http://ports.ubuntu.com/ubuntu­ports lucid­updates maindeb http://ports.ubuntu.com/ubuntu­ports lucid­security 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 omap3­desktop­nand­image­overo­201011150741.tar.bz2  ­C omap3­dekstop/

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 omap3­desktop/boot/uImage­2.6.35 /media/FAT_/uImage 

sudo scp omap3­desktop/usr/bin/ts_* /media/406f93db­ea51­4b36­b3d6­ed90d32c1681/usr/bin 

sudo cp ­rpv omap3­desktop/lib/modules/2.6.35/ /media/406f93db­ea51­4b36­b3d6­ed90d32c1681/lib/modules/ 

Tutorial: Instalação de Ubuntu em uma Gumstix Overo – Página 4 de 5

Page 5: Tutorial: Instalação de Ubuntu em uma Gumstix Overo

Laboratório de Sistemas Embarcados Críticos (LSEC)www.lsec.icmc.usp.br – [email protected]

sudo scp omap3­desktop/lib/firmware/sd8686* /media/406f93db­ea51­4b36­b3d6­ed90d32c1681/lib/firmware

sudo scp ­r omap3­desktop/lib/firmware/* /media/406f93db­ea51­4b36­b3d6­ed90d32c1681/lib/firmware

sudo scp omap3­desktop/etc/X11/xorg.conf /media/406f93db­ea51­4b36­b3d6­ed90d32c1681/etc/X11 

sudo scp omap3­desktop/usr/lib/xorg/modules/drivers/omapfb_drv.so  /media/406f93db­ea51­4b36­b3d6­ed90d32c1681/usr/lib/xorg/modules/drivers/ 

sudo scp omap3­desktop/usr/lib/xorg/modules/input/tslib_drv.so   /media/406f93db­ea51­4b36­b3d6­ed90d32c1681/usr/lib/xorg/modules/input/

E por fim, após o boot, executa-se as seguintes linhas:

$ sudo apt­get update$ sudo apt­get upgrade

É indicado instalar apenas os pacotes a seguir ao invés do ubuntu-desktop:

dhcp3­clientnet­toolsifupdownnetcat­openbsdnetbaseavahi­autoipdavahi­daemonnetwork­manager­gnomenetwork­manager­pptpnetwork­manager­pptp­gnomegnome­nettoolwireless­tools (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