Android na veia

    Featured Posts

Google Android dual-boot em seu iPhone

Tem um iphone? Cansou dele? Que tal instalar o sistema android nele? Sim, agora é possivel instalar o google android no seu iphone. Pesquisando na internet encontrei o projeto iDroid um projeto dos desenvolvedores da Planetbeing  que permite portar o Android para o iPhone.

Abaixo um tutorial ensinado como fazer a troca do sistema, mas adianto que além de complicado sempre existe o risco de ocorrer algum problema. Adeus IOS!!!!!!!

Algumas funcionalidades do iDroid ainda não foram portadas para o iPhone, mas já é possível desfrutar do sistema em seu aparelho com as funcionalidades básicas, veja abaixo como anda o status de desenvolvimento do projeto, comparando cada versão do iPhone.



Status do projeto


iPhone 2giPhone 3giPhone 3Gs
OpeniBoot - 100%OpeniBoot - 100%OpeniBoot - 10%
CPU - 100%CPU - 100%CPU - 100%
WLAN - 100%WLAN - 100%WLAN - 0%
Bluetooth - 0%Audio - 100%Baseband - 0%
Audio - 100% (c/ bugs)NAND (8GB) - 100%Bluetooth - 0%
NAND - (4GB) 100%NAND (16GB) - 100%NAND (16GB) - 0%
NAND - (8GB) 100%NOR - 0%Audio - 0%
NAND - (16GB) 100%Multi-Touch - 100%GPS - 0%
Baseband - 80% (c/ bugs)Baseband - 50%GPU - 0%
ALS - 50%Tri-Band HSDPA LNA - 0%Acelelerometro - 0%
Accelerometer - 100%GPS - 30%
PMU - 0%ALS - 80% (necessita driver)
GPU - 60% (sem aceleração)Accelerometer - 100%
Bluetooth - 80% (necessita driver)
PMU - 0%
GPU - 0%
UMTS Transceiver - 0%
WEDGE baseband - 0%
Tritium PA-duplexers - 0%

Como você pode notar, até o momento, o iDroid já está 70% funcional em iPhone’s 2g e 3g, ainda sendo portado para 3gs. Por este motivo nosso tutorial será focado para usuários do 2g/3g.

  • Apple iPhone 3g ou 2g (ainda não suporta o 3Gs)
  • O aparelho deverá estar ativado com Jailbreak (redsn0w, pwnagetool ou quickpwn), caso não esteja, siga nosso guia de jailbreak aqui.

O projeto iDroid pode ser manipulado em vários sistemas operacionais, mas escolhemos o Linux, por ser o mais versátil de todos, permitindo customizar e ter total controle do projeto. Não se preocupe se você não tem experiência com Linux, pois disponibilizamos uma imagem do Ubuntu 10.04 já preparada com todas dependências necessárias, vmware-tools instalado para facilitar a interação Windows X Linux, conexão de internet em bridge c/ ip válido para o roteador e um diretório comun tanto no Windows quanto na máquina virtual Linux para facilitar o compartilhamento de arquivos.
  1. Extraia e execute o VMware Wokstation 7.1.0, instale normalmente e ao final registre com o serial gerado pelo Keygen que está incluso no pacote que você fez download.
  2. Extraia todo conteúdo da imagem do Ubuntu Linux 10.04 em c:\vmware\ (se o diretório não existir, crie).
  3. Então apenas execute o VMware e abra a imagem, clicando em File/Open
  4. Selecione que você está utilizando uma cópia da imagem.
  5. Logue-se com a senha: infohelp.org
  6. Então, vá até o menu VM/Settings, em Options, vá até Settings/Shared folders e adicione um diretório qualquer de seu computador, será sua pasta de compartilhamento com o Linux, tudo que você jogar nesta pasta no Windows poderá ser acessado através do Linux (Atenção: este passo é importante).
  7. Então no Linux vá em Places/Computer/File System/mnt/hgfs e sua pasta estará lá, crie um atalho da mesma em seu Destkop.
  8. Agora configure a conexão com a internet. Para isto, vá até o menu VM/Settings e em Hardware/Network Adapter, selecione Bridged (marque o Replicate), desta forma o ip de sua placa de rede no Linux será na mesma range do DHCP de sua rede, ou seja, se você possuir um router ele atribuirá o IP de sua placa de rede virtual em sua máquina Linux.
  9. Verifique a conexão com a internet abrindo um Terminal e pingando o infohelp.org.
Pronto, você já tem seu ambiente de trabalho já pré-preparado para a manipulação de qualquer versão do iDroid.

Para instalar o iDroid em seu iPhone, você deverá primeiro criar um dual-boot de seu aparelho, o que lhe permitirá escolher qual sistema será carregado ao ligar o aparelho. Para isso instalaremos o OpeniBoot.

A instalação do OpeniBoot é a mais complicada de todo o processo, pois será necesário compilar e interpretar alguns erros, de qualquer forma já deixamos a imagem com a maioria das dependências pré-configuradas.
Alguns pediram para deixarmos pré-compilado o OpeniBoot já pronto para instalação, mas optamos por ensinar o usuário a compilar, desta forma não limitamos na versão do aparelho, e será o mesmo processo para futuras atualizações do iDroid.
Neste artigo vou apresentar dois métodos de instalação, o didático e o automático. recomendo executar e procurar entender primeiramente o método manual didático, pois dominando este método você será capaz de acompanhar todo o desenvolvimento do projeto e solucionar qualquer problema futuramente.
  • Método didático – Todos os processos estão descritos e são executados manualmente, e todos erros comuns e suas soluções são citadas no tutorial.
  • Método automatizado – Todo o procedimento de instalação será executado automaticamente através de um script, basta ter um iPhone já preparado com o OpeniBoot e um ambiente Linux já customizado com os passos acima.
Git é o pacote que contém o source do OpeniBoot. Apenas copie e cole os comandos em seu terminal no Linux.
  1. Primeiramente certifique-se de que está no ~/
    cd ~
  2. Então instale o gerenciador diretamente via apt:
    sudo apt-get install git-core
  3. Faça download da Git do OpeniBoot c/ o seguinte comando:
    sudo git clone git://github.com/planetbeing/iphonelinux.git
    cd iphonelinux/
Depois de uma vez compilado, você poderá instalar em qualquer aparelho com apenas um comando, porém na primeira vez terá um pouco de trabalho.
  1. Compile a ARM toolchain (aguarde um bom tempo pela compilação, um bom tempo mesmo. acredite)
    sudo toolchain/build-toolchain.sh make
    
  2. Solução para o erro: Failed to build newlib (stage: newlib_build)

sudo apt-get install texinfo
(Apenas instale o texinfo com o comando acima e reinicie a 
compilação do toolchain)

    Solução para o erro: Failed to create symlink (stage: makesymlink)

    sudo rm /usr/local/bin/arm-elf-cc
    (exclua o link simbólico e reinicie a compilação do toolchain)
    
  1. Compilando o OpeniBoot.
    Após a mensagem Toolchain install successful confirmando a instalação do toolchain você já poderá partir para a compilação do OpeniBoot.
  2. Primeiramente de um apt-get nas dependências: sudo apt-get install libusb-dev libreadline-dev libpng12-dev libusb-1.0-0-dev
Nota: Caso esteja compilando em um sistema 64bits, você precisará dar um apt-get na libc6-dev-i386 e usaro comando export ARCH=x86_64 antes de prosseguir para os próximos passos.
cd openiboot/
  • Para iPhone 3g use o comando:
    sudo PLATFORM=3G make openiboot.img3
  • iPhone 2g use:
    sudo PLATFORM=IPHONE make openiboot.img3

sudo apt-get install libssl-dev
  1. Compile tudo em client/:
    cd client
    sudo make all && cd ..
Concluído com sucesso, você já terá uma imagem do OpeniBoot preparada para a instalação em seu iPhone.
Chegou o momento de carregar e instalar o OpeniBoot. Primeiramente coloque seu aparelho em Simple Recovery mode.
Atenção: Simple recovery mode não é DFU mode, faça o seguinte:
  1. Desligue totalmente o aparelho e desplugue do computador;
  2. Antes de tudo, vá ao gerenciador de tarefas do Windows e finalize o iTunesHelper.exe para impedir que o iTunes carregue automaticamente ao plugar o iPhone no PC.
  3. Segure o botão Home do iPhone e então sem soltar, plugue o cabo USB ao computador;
  4. Aguarde o VMware detectar o iPhone com a seguinte tela:

    E o aparelho deverá mostrar esta tela:
  5. Então execute o comando:
    sudo client/loadibec openiboot.img3
    

    Solucionando o erro: open_device: unable to connect to device, your device must be in recovery mode.

    Isso significa que seu aparelho não está em Simple recovery mode, ou algum aplicativo está conectado mantendo o dispositivo ocupado, como o iTunes por exemplo, verifique se o aparelho está em simple recovery mode e se o iTunes está fechado e então continue os passos abaixo.
  6. Vá até o iPhone, pressione o botão Power 1x(uma vez), para selecionar o Console do OpeniBoot, deixe o cursor em cima dele.
  7. Agora no iPhone você deverá pressionar Home para executar o Console, e quando na tela do iPhone mostrar USB state change: 1 -> 1, você deverá deverá no Linux executar o comando abaixo, fique atento, pois o intervalo de tempo é bem curto.
    sudo client/oibc
    
    
Feito isso corretamente, você terá a tela acima no Linux sincronizada com seu iPhone, qualquer outra tela significa que não funcionou, repita o processo até conseguir o resultado.
NOR é o flash chip responsável pela inicialização de seu aparelho, é ela que controla tudo que inicializa antes do sistema, inclusive os modos de restauração.
Fazer um backup é altamente recomendado, pois caso aconteça algum erro no meio do processo de instalação, ou acabe a bateria do aparelho, se você não possuir um backup da NOR, não conseguirá mais iniciar o iPhone nem em DFU restore mode, tornando muito complicado sua restauração.
Para efetuar o backup, apenas digite o seguinte comando abaixo em seu Terminal:
nor_read 0x09000000 0x0 1048576
Então digite o comando abaixo para concluir a instalação, o processo é rápido, mas antes de executar, ceritifique-se de que seu aparelho está com a bateria carregada totalmente:
Install
Ao concluir, deverá exibir a tela abaixo:

Então desligue o aparelho e ligue novamente, e você terá a tela do OpeniBoot sempre que o iPhone for desligado e ligado.
Para bootar o iOS, que é o sistema operacional padrão, apenas selecione usando Power e pressione Home para iniciar.
Antes de prosseguir, necessitaremos os drivers de Wireless e Multitouch do iPhone. Os drivers de wireless já estão compilados e disponíveis para download no início do tutorial, porém os drivers do display Multitouch deverão ser extraídos de seu próprio aparelho, siga os passos abaixo:
Em seu iPhone, vá até o Cydia, settings e verifique se o Hacker mode está ativado.

Então, ainda no Cydia, busque e instale os seguintes apps:
  • Open SSH – Openssh para iPhone;
  • IOKit Tools – Conjunto de ferramentas Unix command-line para o iPhone;
  • VI improved – Editor VIm;
  • Core utils – Utilitários Unix para manipulação de shell e arquivos;
  • Apt 0.7 strict – Apt debian tools para iPhone.
  • Mobile terminal – terminal no iPhone que usaremos para dar input nos comandos.
Tendo todos esses aplicativos instalados em seu iPhone, você poderá prosseguir.
Abra um novo Terminal em sua máquina Linux, e conecte via SSH no IP de seu iPhone usando o comando SSH 192.168.0.104, considerando que seu iPhone está na mesma rede que o computador e que o IP do iPhone seja 192.168.0.104, ao conectar digite Yes, para aceitar a nova chave SSL, caso ele pergunte, e logo após digite sua senha do root do OpenSSH, que por padrão é: alpine

Você poderá também executar os comandos abaixo diretamente de seu iPhone através do aplicativo Mobile Terminal. Lembrando que neste caso não terá como copiar e colar os comandos, terá que digitar usando o tecladinho do aparelho.
ssh root@192.168.0.104
su root
mkdir /private/var/firmware
cd /private/var/firmware
ioreg -l -w 0 | grep '"Calibration Data" =' | cut -d '<' -f2 |
cut -d '>' -f1 | xxd -r -ps - zephyr2_cal.bin (atenção, não quebre a linha, o - zephyr2... faz parte da

linha de cima) ioreg -l -w 0 | grep '"Calibration Data" =' | cut -d '<' -f2 | cut -d '>'
 -f1 | xxd -r -ps - zephyr2_proxcal.bin (atenção, não quebre a linha, o - zephyr2... faz parte da linha de cima)

Isso irá gerar os arquivos zephyr2_cal.bin e zephyr2_proxcal.bin na pasta /firmware.
Agora vamos copiar o iPhone.mtprops para /var:
cd /private/var/stash/share.*
cd firmware/multitouch/
cp iPhone.mtprops /private/var
cp iPhone.mtprops /private/var/firmware
.. e finalmente gerar o zephyr2.bin:
cd /private/var/firmware
cat iPhone.mtprops | grep -B2 0x0049 | grep data | sed 's/^\t\t<data>//' | sed 's/<\/data>$//'
| base64 -d > zephyr2.bin (atenção, não faça a quebra de linha)
Faça uma cópia também de todo conteúdo da pasta /private/var/firmware de seu iphone para sua pasta ~/iphonelinux
scp /private/var/firmware/* root@192.168.0.104:~/iphonelinux
Neste momento você tem os drivers do multitouch devidamente instalados no diretório /firmware de seu iPhone.
Pegue o arquivo SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zip e copie na pasta de compartilhamento entre Windows e Linux que você criou na preparação do Ambiente.
Vá até sua pasta de compartilhamento no Linux e mova este arquivo para dentro do diretório ~/iphonelinux
Então em sua outra janela de Terminal(não é a conectada ao iPhone) digite os comandos:
cd ~/iphonelinux
unzip SD-8686*.zip
Antes de enviar o sistema operacional para o iPhone, devemos preparar a imagem, vamos montá-la em um diretório virtual e inserir os drivers que criamos dentro dela e montar novamente.
Então faça o mesmo que fez acima, copie o idroid-release-0.2-3g_rooted_with_sd_emulation_backlight_and_dns_fixed.zip que você fez download no início do tutorial para a a pasta de compartilhamento e acesse no Linux. Então mova-o para ~/iphonelinux, feito isso digite os comandos:
cd ~/iphonelinux
unzip idroid-relea*.zip
rm idroid-relea*.zip
gunzip android.img.zip
mv *.bin /var/firmware/
Montaremos o android.img.gz em um diretório e copiaremos os arquivos zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin sd8686.bin para o diretório /lib/firmware da imagem montada.
gunzip android.img.gz
sudo mkdir-p /mnt/android
sudo mount-o loop android.img /mnt/android
sudo cp zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin
sd8686.bin /mnt/android/lib/firmware/ (não existe quebra de linha aqui)
… e então desmonte e gzipe novamente a imagem:
sudo umount /mnt/android
gzip android.img
Agora faremos o mesmo com o system.img, nele copiaremos os arquivos zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin sd8686.bin para o diretório /mnt/android/etc/firmware/ da imagem montada.
sudo mkdir-p /mnt/android
sudo mount system.img-o loop /mnt/android
sudo cp zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin sd8686.bin
/mnt/android/etc/firmware/ (aqui também não existe quebra de linha)
sudo umount /mnt/android
Agora enviaremos todo o sistema do Android para o diretório /private/var do iPhone:
cd ~/iphonelinux
scp android.img.gz root@192.168.0.105:/private/var/
scp cache.img root@192.168.0.105:/private/var/
scp ramdisk.img root@192.168.0.105:/private/var/
scp system.img root@192.168.0.105:/private/var/
scp userdata.img root@192.168.0.105:/private/var/
scp zImage root@192.168.0.105:/private/var/
Vá até a outra janela de Terminal que está conectada ao iPhone via SSH e digite o seguinte comando:
chmod 755 ramdisk.img system.img userdata.img cache.img android.img.gz zImage
Neste momento você acaba de concluir a instalação do iDroid em seu iPhone.
O Android no iPhone é basicamente o diretório /private/var/firmware contendo os drivers, e as imagens na root da /private/var. Qualquer arquivo a mais em alguma dessas pastas significa novos drivers, emulação de algum hardware como cartão de memória SD, etc. O que não pode é ter arquivos a menos, confira nas imagens abaixo também o tamanho em bytes dos arquivos.


Para iniciar o novo sistema basta desligar o aparelho, ligar e selecionar através do botão Power, o ícone do Android e então pressionar Home.
O método automático nada mais é que um shell script que executa todo o procedimento de instalação sem a intervenção do usuário, SUCCA significa Speed Up Custom Creation (of) Android, nós pegamos a última versão deste script, editamos, traduzimos e corrigimos algumas falhas.
Para o perfeito funcionamento de nosso script, você terá que possuir um iPhone com os seguintes requisitos:
- Apple iPhone 2g/3g jailbreaked com redsn0w, pwnagetool ou quickpwn (confirme nosso guia).
- Cydia em Hacker mode com os seguintes aplicativos instalados:
  • Open SSH – Openssh para iPhone;
  • IOKit Tools – Conjunto de ferramentas Unix command-line para o iPhone;
  • VI improved – Editor VIm;
  • Core utils – Utilitários Unix para manipulação de shell e arquivos;
  • Apt 0.7 strict – Apt debian tools para iPhone.
  • Mobile terminal – terminal no iPhone que usaremos para dar input nos comandos.
- Um ambiente Linux Ubuntu 10.04 preparado conforme nosso guia acima.
  1. Copie nosso script ih_succa_2010052600.sh para a pasta de compartilhamento.
  2. Dentro do Linux, vá até a pasta de compartilhamento e mova o arquivo ih_succa_2010052600.sh para ~/iphonedroid (caso a pasta não exista, crie).
  3. Abra um Terminal e digite os seguintes comandos para iniciar o script:
    cd ~/iphonelinux
    ih_succa_2010052600.sh
(caso tenha erros de permissões tome acesso de root com su root e a 
senha "infohelp.org")

Aguarde então a finalização de todos processos, o tempo de conclusão depende muito de sua velocidade de conexão.
Veja abaixo todo o output do processo de instalação.
Succa Installer version 2010052600 (modified by infohelp.org )

Verificando pacotes para instalar localmente... [ OK ]
Testando se seu iPhone está conectado... [ OK ]
Testando se o diretório ./succa_installer_files existe... [ OK ]
Testando se o diretório mnt/android existe... [ OK ]
Criando o diretório /private/var/firmware no iPhone... [ OK ]
Verificando pacotes para instalar remotamente...  [ OK ]
Criando zephyr2_cal.bin no iPhone... [ OK ]
Criando zephyr2_proxcal.bin no iPhone... [ OK ]
Localizando por iPhone.mtprops... [ OK ]
Verificando integridade do iPhone.mtprops... [ OK ]
Gerando o zephyr2.bin no iPhone... [ OK ]
Efetuando download do driver de WLAN sd8686.bin em kernel.org
... [ OK ]
Efetuando download do driver de WLAN sd8686_helper.bin driver 
from kernel.org... [ OK ]
Transferindo os drivers de WLAN para o iPhone...[ OK ]
Efetuando download do pacote unofficial do Android (
isto pode demorar um pouco)... [ OK ]
Extraindo o pacote do Android... [ OK ]
Efetuando download da zImage já patcheada... [ OK ]
Descompactando a zImage patcheada... [ OK ]
Copiando zImage para o iPhone... [ OK ]
Criando a imagem de emulação do sdcard... [ OK ]
Criando sistema de arquivos na imagem do sdcard... [ OK ]
Efetuando download da libreference-ril.so... [ OK ]
Descompactando a libreference-ril.so... [ OK ]
Montando a imagem de sistema... [ OK ]
Copiando libreference-ril.so para a imagem de sistema... [ OK ]
Desmontando a imagem de sistema... [ OK ]
Removendo os arquivos remotos instalandos anteriormente... [ OK ]
Transferindo arquivos para o iPhone... [ OK ]
Setando as permissões dos arquivos no iPhone... [ OK ]
Editando o arquivo do Openiboot... [ OK ]
Extraindo openiboot... [ OK ]
Concluído!

Neste momento você acaba de concluir a instalação do iDroid em seu iPhone. Para iniciar o novo sistema basta desligar o aparelho, ligar e selecionar através do botão Power, o ícone do Android e então pressionar Home para iniciar o novo sistema.

[http://infohelp.org]

Solução para o erro: expected specifier-qualifier-list before ‘AES_KEY’

author

Rodrigo Macedo

Sou desenvolvedor android e há mais de 5 anos trabalho com dispositivos móveis.

para Receba atualizações grátis!

www.CodeNirvana.in

Related Posts Plugin for WordPress, Blogger...
Copyright © Android na veia