Jump to Navigation

Preparando o sistema

 

A idéia de desenvolvimento pro N800 é compilar no PC usando o scratchbox - que é um emulador para diversas plataformas - e mandar pro bichinho. Eu instalei o sistema tanto no Ubuntu Intrepid (8.10) quanto no Jaunty (9.04) e funcionou 100%.

Primeiro, tem que botar o Diablo na máquina, ou seja, atualizar o sistema operacional. O N800 vem com o os2007 e em que por o os2008, conhecido como Diablo. A primeira coisa é baixar o firmware:[Bad link]. As instruções para a atualização estão aqui: [Bad link]. Basicamente tem que baixar o script flasher para N800 ([Bad link]), e rodar como sudo, conforme as instruções:

./flasher-3.0 -F nome_do_arquivo_do_firmware -f -R

Depois de rodar, desligar o N800, plugar o cabo USB entre o PC e o N800, e voltar a ligar o tablet com o botão HOME (o com a casinha) apertado. Deve dar certo...

Aí começa a instalação da plataforma de desenvolvimento. O caminho das pedras da instalação tá aqui: [Bad link]

Para isso usei os scripts que tem no Maemo.org:

  1. Baixar http://tablets-dev.nokia.com/4.1/maemo-scratchbox-install_4.1.sh em qualquer diretório e rodar:
    ./maemo-scratchbox-install_4.1.sh
  2. Depois de instalar, tem que adicionar o seu usuário (no meu caso, bruno) ao grupo sbox:
    sudo adduser bruno sbox
  3. Depois de acionar, fazer logout e voltar para que a mudança tenha efeito
  4. Fazer login no scratchbox pra ver se tá tudo certo:
    /scratchbox/login/
  5. Baixar http://tablets-dev.nokia.com/4.1/maemo-sdk-install_4.1.sh e rodar:
    ./maemo-sdk-install_4.1.sh
  6. Entrar de novo no scratchbox e ver se o login agora é
    [sbox-DIABLO_ARMEL: ~] >
    Ou seja, é como se você estivesse num prompt do Diablo
  7. Agora, a interface gráfica: instalar o Xephyr (fora do scratchbox, num terminal:
    sudo apt-get install xserver-xephyr
  8.  Agora, um comandinho também fora do scratchbox para iniciar o xephyr:
    Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite
  9. E dois dentro do scratchbox:
    export DISPLAY=:2
    af-sb-init.sh start

E pronto, aí está um emulador do Maemo, com interface gráfica e tudo!

Agora a idéia é fazer o PC conversar com o N800, para poder testar as coisas lá. Para isso eles tem que estar em rede. Se o PC e o N800  estiverem na mesma rede wifi, você pode simplesmente descobrir o ip do N800 e se logar lá (conforme explicação mais abaixo).

Se eles não estiverem na mesma rede, ou se você quiser uma conexão mais rápida, há uma maneira de estabelecer uma conexão de rede por cabo USB, descrita aqui. Em resumo, tem que:

  1. Desplugar o cabo USB
  2. Editar o /etc/network/interfaces no N800. Eu usei um editor de textos comum, salvei o arquivo no MyDocs e depois transferi pela linha de comando para o lugar. As linhas que tem que ser acrescentadas são:
    auto usb0
    iface usb0 inet static
    address 192.168.2.15
    gateway 192.168.2.14
    netmask 255.255.255.0
  3. Dar esses dois comandos no prompt (como root também):
    # insmod /mnt/initfs/lib/modules/2.6.21-omap1/g_ether.ko
    # ifup usb0

    *detalhe* - tem que rodar o insmod duas vezes
  4. No PC, acrescentar as seguintes linhas no /etc/network/interfaces:
    mapping hotplug
    script grep
    map usb0

    auto usb0
    iface usb0 inet static
    address 192.168.2.14
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.255
    up iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.15 -j MASQUERADE
    up echo 1 > /proc/sys/net/ipv4/ip_forward
    down iptables -t nat -D POSTROUTING -o eth0 -s 192.168.2.15 -j MASQUERADE
    down echo 0 > /proc/sys/net/ipv4/ip_forward

Pronto, agora é só plugar o cabo USB. Caso você desligue o N800, tem que rodar o insmod de novo.

Bem agora é só botar os dois pra falarem com os comandos ssh e scp (instale o openssh no pc se ainda não tiver - sudo apt-get install openssh).

O ssh abre um terminal no N800. Você pode executar comandos, editar textos... adeus tecladinho touchscreen! O comando é

ssh root@192.168.2.15

Ele vai pedir a senha de root que foi criada.

O sch serve pra mandar arquivos. O comando é

sch ./arquivo root@192.168.2.15:/home/user/MyDocs/

Esse comando vai mandar o arquivo "arquivo", do mesmo diretório de onde vc está dando o comando, para a pasta /home/user/MyDocs no N800.