Já havia sido comentada a possibilidade de rodar o Android 2.1 (a versão nova é a 2.2, ainda não disponível em nenhum aparelho) no N900.

Eu resolvi brincar um pouco, aproveitando que, qualquer problema, basta reinstalar o firmware que ele volta a funcionar 100%. No tópico do projeto no Maemo.org há uma receita de bolo para instalar o NITDroid num cartão de memória.

O único problema é que, por enquanto, só é possível rodar o Android usando o aparelho no modo R&D (Research and Development). O aparelho quando nesse modo permite usar o “sudo gainroot” sem a necessidade de instalar nada, o botão liga/desliga com um toque curto liga o aparelho (ao contrário do toque longo necessário normalmente), e o maior “problema”: a luz de fundo do teclado pisca em resposta a atividades do sistema…mesmo com o teclado fechado! Isso significa menos vida para a bateria. E um celular piscando no escuro!

O NITDroid ainda possui muitas pendências para poder ser considerado funcional no N900. Segundo o site o que já está funcionando é o teclado, tela sensível ao toque, bluetooth, reconhecimento dos cartões de memória (porém não são montados) e wifi parcialmente.

Nos testes que fiz, apenas o bluetooth não funcionou (da lista daquilo que funcionaria, claro).

A instalação não é nada de outro mundo, porém uma coisa é imprescindível: uma máquina com sistema operacional GNU/Linux! O motivo para isso é a necessidade de particionar o cartão de memória, e uma das partições deve ser formatada como ext3, sistema de arquivos usado no GNU/Linux.

Mesmo quem nunca usou pode aproveitar para ter o primeiro contato com esse sistema operacional, baixando as versões “live CD” da distribuição de sua escolha. Essas versões rodam no computador à partir do próprio CD, sem alterar ABSOLUTAMENTE NADA da máquina! Eles não tocam no HD do computador, então são completamente seguros. E tudo que você vai precisar é usar o terminal.

O primeiro passo é instalar no N900 o programa que vai permitir fazer dual-boot. Na verdade, ele vai permitir você rodar tantos sistemas quantos quiser! Há dois programas muito semelhantes no repositórios extras-devel: o bootmenu e o bootmenu-n900. A diferença entre eles é que o bootmenu, antes de ser utilizado, precisa ser, digamos, ativado através de um ícone no menu do aparelho. É como se esse ícone finalizasse a instalação do programa. Eu instalei o bootmenu-n900 que não precisa disso (e também não polui o menu do aparelho com mais um item). Mas no funcionamento e configuração eles são rigorosamente iguais!

A configuração é feita através da adição de arquivos de configuração num diretório específico: /etc/bootmenu.d. Esses arquivos possuem as informações necessárias para o boot do aparelho. E o funcionamento dele é bem simples: basta deixar o teclado aberto quando ligar o aparelho que o menu de seleção será exibido, permitindo dizer qual sistema iniciar. Se o teclado estiver fechado a inicialização normal do Maemo ocorrerá.

Só é preciso tomar cuidado nesse momento: se o aparelho estiver com a bateria muito fraca poderá não ser possível ligá-lo, pois até que o Maemo entre completamente, não existe controle sobre a bateria! O aparelho vai consumir sua carga rapidamente!

Depois é preciso pegar os arquivos necessários e preparar o cartão de memória. Os arquivos que usei estão nesta mensagem. Vai precisar dos 3!

O android.item é o carinha que deve ser colocado no /etc/bootmenu.d. Pode abri-lo pra ver o conteúdo…é um arquivo texto normal.

Agora vamos ao particionamento do cartão de memória e cópia do NITDroid pra ele. Siga os passos 3 a 5 descritos na mensagem do Maemo.org. Basta alterar os tamanhos das partições caso o seu cartão não seja de 8GB como o do autor (eu fiz num de 2GB).

O passo 6 também será feito, porém usando a imagem baixada da outra mensagem (no caso o arquivo android7.tar.gz).

Depois desmonte o cartão. Não há mais alterações a fazer nele. Caso não esteja com ele no N900, pode colocá-lo de volta.

Agora é hora de instalar o kernel no N900. Quem fará isso é nosso amigo Flasher. Faça o procedimento como se fosse reinstalar o firmware, só que usando esta linha:

flasher-3.5 --set-rd-flags=no-ext-wd,no-lifeguard-reset --enable-rd-mode -f -k zImage -R

Lembrando que o “zImage” é o arquivo que você baixou acima.

A necessidade de usar o aparelho no modo R&D é explicado principalmente pela necessidade de usar o parâmetro “no-lifeguard-reset”. Isso vai desabilitar uma característica do N900 que faz com que ele seja reiniciado sempre que um serviço essencial do sistema não consiga subir ou dê algum problema. Alguns já enfrentaram problemas de loops de reinicialização….isso acontece por causa desse sistema de proteção (após um certo número de reinicializações seguidas o aparelho não liga mais, sendo obrigatório usar o Flasher e restaurar o firmware original).

O aparelho vai reiniciar, e mantendo o teclado aberto, aparecerá a tela de seleção de boot. Selecione o Android, e aguarde. O processo é um pouco demorado.

Para tirar o aparelho do modo R&D, basta executar o Flasher desta forma:

flasher-3.5 --disable-rd-mode -R

O Android não conseguirá mais subir! Sempre que o selecionar, o boot vai começar, mas em pouco tempo o aparelho vai reiniciar (justamente por causa da proteção comentada acima).

Para reiniciar o aparelho quando estiver usando o Android, não use o menu do sistema! Retire a bateria!! Do contrário o Android grava algumas coisas no cartão de memória que impedem que ele suba corretamente de novo depois.

Vale ressaltar que o Maemo (e todo o conteúdo do rootfs e da memória de massa do N900) não são em momento algum tocados. A única mexida é no kernel, que não afeta o sistema.

Assim que possível, gravarei um vídeo mostrando o aparelho dando boot no Maemo e no Android.