Home > Dicas

Saiba como instalar o Android no iPhone

Hacker responsável pelo processo mostra todos os passos necessários para ter o sistema do Google rodando no celular da Apple. Tarefa não é fácil

David Wang - PC World/EUA

24/05/2010 às 12h01

androidiphone1-150.jpg
Foto:

Talvez você queira liberar seu iPhone dos domínios da Apple. Ou talvez apenas queira brincar com algo novo. Seja qual for o seu motivo, é possível rodar o Android (sistema operacional do Google) no celular da empresa de Steve Jobs. O processo já foi anunciado por hackers e agora estão disponíveis as etapas para isso.

Neste artigo detalhamos esses passos. Mas saiba que não é um processo fácil, que exige bom conhecimento técnico, coisa para quem está acostumado a lidar com linha de comando.. Confira, a seguir, o que é necessário, com os passos fornecidos pelo hacker responsável pelo processo.

Ainda um trabalho em progresso
Apesar dessa migração garantir  tudo o que você espera de seu smartphone, ela ainda tem limitações - não programei nenhuma função de administração de energia, por isso um iPhone totalmente carregado só vai durar cerca de uma hora quando rodar o Android.

Além disso, permanecem alguns bugs e problemas de desempenho. Embora o telefone fique "usável", não será rápido. Se você fizer algo inesperado, como forçar o aparelho a desligar, pressionando o botão início por alguns segundos, é possível que você acabe restaurando o sistema. No entanto, é impossível que qualquer bug impeça o funcionamento do seu iPhone permanentemente.

Por fim, a sincronização de arquivos de mídia não está funcionando, então esse processo é um pouco doloroso. Mas estou trabalhando o máximo que posso, e espero resolver logo essas questões.

Leitura necessária
Comece recapitulando as lições básicas de manutenção do aparelho, como, por exemplo, como colocar seu iPhone no Recovery Mode (Modo de Recuperação), como colocá-lo no DFU Mode (modo de atualização de firmware), e como realizar uma restauração de firmware a partir desses modos.

O iPhone é um aparelho bem construído e é virtualmente impossível danificá-lo se você souber essas técnicas. Se todas elas falharem, lembre que você sempre pode restaurá-lo usando o DFU Mode (Device Firmware Update).

Você também vai precisar se sentir razoavelmente confortável em uma interface de linha comando, e a não ser que você seja confiante em compilar seus próprios códigos binários, vai precisar de um PC rodando Linux (ou uma máquina virtual Linux).

O que você precisa
1. Um iPhone de primeira-geração ou um 3G com versões de firmware entre 2.0 e 3.1.2, que tenham recebido jailbreak (desbloqueio para o uso de softwares não autorizados pela Apple) com RedsnOw, BlacksnOw ou PwnageTool. Se você já atualizou seu aparelho para 3.1.3 ou para um 4.0 beta, deve usar a PwnageTool para criar um arquivo 3.1.2.ipsw com jailbreak para restaurar nele.

Note que estou excluindo de maneira explícita o iPhone 3GS, todos os iPod Touch e o iPad. Esse hack não vai funcionar com esses aparelhos (ainda). Também estou eliminando o iPhone OS 3.1.3 e todos os betas do 4.0. E também não vai funcionar com o jailbreak Spirit.

iphoneandroid3-300.jpg

Processo para rodar Android no iPhone não funciona com o jailbreak Spirit.

Se você ainda não realizou jailbreak no seu iPhone, não se preocupe – é um processo simples que consiste principalmente em apertar botões no aparelho quando indicado e apertar o próximo em um wizard. Eu humildemente recomendo o RedsnOw, uma vez que escrevi muito do código para esse programa.

2. Um sistema Linux de 32-bit ou uma máquina virtual (eu recomendo o Ubuntu).

Apesar de a maior parte do processo poder ser conduzido em qualquer máquina, uma das ferramentas envolvidas (chamada ‘oibc’) ainda não foi habilitada para o Windows. Além disso, os binários que eu forneço estão compilados em uma máquina com Ubuntu de 32 bits.

No entanto, todos os utilitários podem ser compilados para Linux e Mac, por isso se você está interessado em aventura, compile as fontes em github.com/planetbeing/iphonelinux e github.com/planetbeing/xpwn em vez de usar os binários.

3. As imagens e os binários pré-construídos; os arquivos exatos que são usados dependem de qual tipo de iPhone você utiliza: primeira geração ou 3G.

4. O arquivo iPhone OS 3.1.2 .ipsw file para o seu aparelho, que pode estar em iPhone1,1_3.1.2_7D11_Restore.ipsw ou iPhone1,2_3.1.2_7D11_Restore.ipsw. Há chances de você já possuir esse arquivo no seu computador, mas se não tiver, é possível fazer o seu download.

5. O firmware para o chip Marvell WLAN, que fica dentro do iPhone. Vá até o endereço (URL), e no lado direito da página você verá um menu drop-down com o nome ‘Choose your platform’ (‘Selecione sua plataforma’). Selecione Linux 2.6 – Fedora no menu e clique no botão Search localizado abaixo. Baixe o arquivo com a indicação SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL. Você vai pegar um arquivo chamado SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zip.

Android no iPhone, passo a passo
Os primeiros passos englobam o multitouch (multitoque) e firmware para o iPhone. Não podemos legalmente redistribuir esses pequenos binários, por isso é necessário que você os extraia do arquivo .ipsw e do site da Marvell.

1. Na máquina com Linux, crie uma pasta chamada firmware em seu diretório home.

2. Extraia SD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45.tar de SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zip para uma pasta temporária.

3. Extraia FwImage/helper_sd.bin and FwImage/sd8686.bin de SD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45.tar e os coloque dentro de sua pasta 'firmware'.

4. Renomeie helper_sd.bin para sd8686_helper.bin.

Neste momento, você tem seu firmware WLAN. Agora para o firmware multitoque.

5. Na máquina com Linux, crie uma pasta chamada idroid em seu diretório home e extraia utils/dripwn do tarball (arquivo .tar) pré-construído que você baixou dentro dele.

6. Copie ou mova o arquivo 3.1.2 .ipsw que você obteve do site da Apple para a mesma pasta ‘idroid’ que o dripwn.

7. Inicie uma linha de comando (Terminal embaixo de Ubuntu) e navegue para a pasta ‘idroid’ que você criou. Para isso, você pode digitar cd ~/idroid.

8. Vá para esta página se você tem um iPhone 3G ou para esta se possui uma versão mais antiga do aparelho. Copie a chave VFDecrypt.

9. Se você possui um iPhone primeira-geração, digite os caracteres a seguir na linha de comando que você iniciou anteriormente:
./dripwn iPhone1,1_3.1.2_7D11_Restore.ipsw [a chave VFDecrypt que você copiou]

Se você possui um iPhone 3G, digite os caracteres a seguir:
./dripwn iPhone1,2_3.1.2_7D11_Restore.ipsw [a chave VFDecrypt que você copiou]

10. Após um tempo, o comando será finalizado e você terá os arquivos zephyr_main.bin, zephyr_aspeed.bin, e zephyr2.bin em sua pasta ‘idroid’. Mova-os para a pastas ‘firmware’.

iphoneandroid1-390.jpg

Após mover os arquivos "zephyr" para sua pasta 'firmware', você deverá ter todos os arquivos necessários para a instalação do Android.

Você agora tem todos os arquivos necessários para o Android, e pode começar a instalá-lo.

11. Se ainda não tem os arquivos, instale a ferramenta OpenSSH em seu iPhone por meio do Cydia.

12. Se você já instalou a OpenSSH, conecte-se ao seu iPhone por meio da ferramenta, faça o login como root com a senha "alpine", e digite "passwd root" para mudar a senha para root. Então, digite "passwd mobile" para alterar a senha para o usuário móvel.

Não pule este passo. Pois todos os worms (programas maliciosos) de iPhone só irão afetá-lo se você não tiver alterado a senha padrão da SSH.

13. Extraia prebuilt/android.img.gz, prebuilt/cache.img, prebuilt/ramdisk.img, prebuilt/system.img, prebuilt/userdata.img, e zImage do tarball pré-construído.

14. Use o comando ‘scp’ ou um cliente SFTP para realizar o upload de todos esses arquivos para a pasta /private/var no iPhone.

Você pode usar esses comandos no Linux, se deseja usar o scp em vez de um cliente SFTP de interface gráfica. Presumindo que você esteja na mesma pasta que os arquivos, digite:

scp android.img.gz root@[endereço de ip do iPhone]:/private/var/
scp cache.img root@[endereço de ip do iPhone]:/private/var/
scp ramdisk.img root@[endereço de ip do iPhone]:/private/var/
scp system.img root@[endereço de ip do iPhone]:/private/var/
scp userdata.img root@[endereço de ip do iPhone]:/private/var/
scp zImage root@[endereço de ip do iPhone]:/private/var/

15. Usando o cliente SFTP ou scp, crie uma pasta chamada firmware na partição /private/var no iPhone; em seguida, faça o upload de todos os arquivos da pasta ‘firmware’ que criou anteriormente para a nova.

Se a pasta ‘firmware’ criada anteriormente estiver dentro do seu diretório home, você pode usar o comando a seguir:
scp -r ~/firmware/ root@[endereço de ip do iPhone]:/private/var/firmware

16. Faça o reboot (reinicie) seu iPhone. Como uma medida de segurança, verifique para ter certeza de que os arquivos ainda estão presentes após o reboot e que todos tenham os tamanhos corretos. Um arquivo com tamanho incorreto não será compatível com o tamanho do arquivo fonte (por exemplo, system.img não tem 71327744 bytes, android.img.gz não possui 2161556 bytes, e o zImage não possui 2364280 bytes no 3G 3G e nem 2356044 bytes no iPhone mais antigo).  
Muitas pessoas têm problemas com esse processo porque nem todos os arquivos chegam inteiros ao iPhone.

17. Extraia utils/oibc, utils/loadibec, e prebuilt/openiboot.img3 do tarball pré-contruido para dentro da pasta ‘idroid’.

18. Desligue o iPhone e coloque-o em Recovery Mode: com o iPhone desligado e plugado ao computador via USB, pressione Hold e Home simultaneamente, e solte Hold após a backlight acender. Continue segurando Home até a imagem ‘Connect to iTunes’ aparecer na tela.

19. Execute os commandos a seguir no Terminal (se você ainda não tem, vai precisar instalar libusb-0.1-4 com Synaptics ou 'apt-get'):

cd ~/idroid

sudo ./loadibec openiboot.img3

Se tudo correr bem, o menu de boot 'openiboot' deve aparecer agora!

 20. Use os botões de controle de volume ou o botão Hold para selecionar a segunda opção de menu, Console. Toque no botão Home para lançá-la.
Um console de modo de texto deveria começar a rodar em sua tela, terminando com uma mensagem 'Welcome to openiboot'.

21. Digite sudo ./oibc em Terminal.

As mesmas mensagens que apareceram na tela do iPhone deveriam aparecer agora no Terminal. Em seguida, você deveria fazer um backup do NOR (o aparelho em que o carregado de boot do iPhone está armazenado) em caso de algo dar errado, para que não aconteça nenhum dano com seu aparelho.

22. Digite nor_read 0x09000000 0x0 1048576 em Terminal/oibc. Isso vai ler o NOR inteiro para dentro da memória principal.

23. Digite ~norbackup.bin@0x09000000:1048576 em Terminal/oibc. Um arquivo vai aparecer na pasta ‘idroid’ chama norbackup.bin. Mantenha isso seguro em algum lugar.

O comando realiza o upload do NOR para o computador. Após realizar esse backup, você agora está livre para modificar o NOR. O próximo passo instala o OpeniBoot no NOR, substituindo o carregador de boot existente iBoot, da Apple.

24. Digite install em Terminal/oibc.
Esse processo pode levar alguns minutos. Espere até aparecer uma mensagem informando que a instalação foi completada.

25. Digite reboot em Terminal/oibc e então saia dele ao apertar Ctrl-C.

O menu OpeniBoot deve agora abrir sempre que você ligar seu iPhone. Lembre que você pode desinstalar o OpeniBoot do oibc com o comando ‘uninstall’ (‘desinstalar’). Digite help para uma lista com todos os comando do OpeniBoot.

androidiphone1-300.jpg

Após terminar o processo, use o menu OpeniBoot para iniciar o Android no iPhone.

Você ainda pode acessar o recovery mode (modo de recuperação) do iPhone OS ao pressionar o botão Home na opção iPhone OS no menu do sistema até que apareça a imagem ‘Connect to iTunes’ (em vez de apenas apertar Home).

Você deve ter terminado! Use o menu OpeniBoot para iniciar o Android ao selecionar esse sistema operacional no menu sempre que quiser. Infelizmente, ainda não existe um bom método para fechar o Android, por isso, a única maneira de desligá-lo é apertar os botões Hold e Home até que o telefone desligue.

Confira o site iDroidWiki (em inglês) para mais tutoriais e dicas sobre o que você pode fazer com o seu novo iPhone com Android.

*David Wang, mais conhecido como planetbeing, é um hacker por hobbie. Para saber mais, visite seu blog Linux on the iPhone.

Tags

Junte-se a nós e receba nossas melhores histórias de tecnologia. Newsletter por e-mail Newsletter por e-mail