Il y a quelques jours Planetbeing, un des membre de la Dev-Team, a réussi l’installation du système d’exploitation Android sur son iPhone. Voici un tuto qui vous permettra de l’installer sur votre iPhone, en dual boot avec l’iPhone OS. Malheureusement ce tutoriel n’est possible que pour les iPhone Edge. Pour les autres appareils il faudra encore attendre :

Téléchargement et exigences :

  • Un iphone Edge Jailbreaké
  • Se connecter en SSH
  • Un PC sous LINUX (Ubuntu 9.10 ou supérieur en 32bits) une machine virtuelle ne marche pas

  • Faire une sauvegarde de l’iPhone via iTunes avant de commencer le tutoriel
  • Utilisez pour gagner du temps une image déjà préparée de iDroid :  ICI ou ICI .
  • En raison de restrictions de licence, nous ne pouvons pas légalement distribuer quatre des fichiers :

sd8686.bin 57c08a7aa0d6e3efb9db5d96e0f80a8d
sd8686_helper.bin 6edc7f5032463c294eb1b738482f734d
zephyr_aspeed.bin bad4dedccde0a5bef1a9468d918aa75a
zephyr_main.bin 3c6f0f5f567a2a228aa290f2c49b583a[/table]

Voici un procédure pour obtenir ces 4 fichiers:

  • Pour les fichiers sd8686 et sd8686_helper : Téléchargez ce fichier zip, et décompressez le. Ensuite, renommez helper_sd.bin en sd8686_helper.bin. Conservez sd8686.bin et sd8686_helper.bin pour la suite du tuto.
  • Pour les fichiers zephyr_aspeed  et zephyr_main:

1) Si vous utiliser le firmware 3.1 ou inférieur :

1. Connectez vous sur votre iphone en SSH
2. Mettez vous en admin avec la commande (mot de passe par défaut alpine )

su

3. Vérifiez avec cette commande si vous avez ce qu’il faut

apt-get install iokittools coreutils vim

Si la commande apt-get n’est pas trouvée alors installez le paquet apt7 dans CYDIA et réessayez.

4. Ensuite tapez ces 2 commandes

ioreg -l -w 0 | grep '"Firmware" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps - zephyr_main.bin
ioreg -l -w 0 | grep '"A-Speed Firmware" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps - zephyr_aspeed.bin

5. Assurez-vous avec cet commande que les deux fichiers (zephyr_main.bin et zephyr_aspeed.bin) ne sont pas vides (0-byte):

ls -lh zephyr*.bin

6. Transférez les 2 fichiers firmware sur votre ordinateur et gardez les pour plus tard.

2) Si vous utiliser le firmware 3.1.2  ou supérieur :

Sur les versions récentes de l’iPhone OS, la commande ioreg ne parvient pas à nous fournir les données du firmware dont nous avons besoin. Donc downgradez ou demander à quelqu’un qui est en firmware inférieur à 3.1.2 de le faire pour vous.

–> Sinon prenez l’utilitaire fourni ici (vous arrivez sur une page : clic droit sur cette page –>> et enregistrer sous. mettez le fichier sur le bureau. c’est ce fichier l’utilitaire)

1. Récupérez sur votre ordinateur ce fichier /private/var/stash/share/firmware/multitouch/iPhone.mtprops
2. Mettez l’utilitaire (celui que vous venez juste enregistrer) et le fichier iPhone.mtprops dans le même dossier
3. Compilez l’utilitaire et lancez le avec cette commande, vous obtiendrez ainsi vos 2 fichiers:

gcc -o firmware-extractor firmware-extractor.c && ./firmware-extractor

4. Assurez vous vos 2 fichiers zephyr_main.bin et   zephyr_aspeed.bin créés ne sont pas vides (0 octets) avec cette commande

ls -lh zephyr*.bin

5. Transférez les 2 fichiers firmware sur votre ordinateur et gardez les pour plus tard.

1/ Mettre les fichiers firmware dans l’image système d’Android :

Exécuter toutes ces commandes sur votre ordinateur dans le répertoire contenant tous les fichiers du firmware.

1. android.img.gz
Les fichiers du firmware doivent être placés dans /lib/firmware/ à l’intérieur de cette image.

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/
 sudo umount /mnt/android
 gzip android.img

2. system.img
Les fichiers du firmware doivent être placés dans /etc/firmware/ à l’intérieur de cette image.

 sudo mkdir -p /mnt/android
 sudo mount -o loop system.img /mnt/android
 sudo cp zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin sd8686.bin /mnt/android/etc/firmware/
 sudo umount /mnt/android

3. Copiez les fichiers suivants (images du systeme Android) sur votre iPhone dans le dossier /private/var :

  • ramdisk.img
  • system.img
  • userdata.img
  • cache.img
  • android.img.gz
  • zImage

2/ Installation de openiboot sur votre iphone :

1. Cherchez le dossier compréssé idroid, que vous avez téléchargé au début du tutoriel. Décompresse le!
2. Placez vous avec une commande linux dans le dossier contenant les deux utilitaires loadibec et oibc. (ils sont dans le dossier utils).
3. Installez libusb 1.0 en tapant la commande

sudo aptitude install libusb-1.0-0

4. Mettez votre iPhone en mode RECOVERY : lorsque le téléphone est éteint, appuyer sur le bouton “Home” et le maintenir enfoncé en branchant l’iPhone sur le cable USB jusqu‘à l’apparition d’un cable USB sur l’écran.
5. Tapez cette commande

sudo ./loadibec openiboot.img3.

6. Le menu OpenIboot devrait apparaitre sur votre iPhone
7. Sélectionnez le menu « openiboot console » en haut, puis appuyez sur le bouton HOME de votre iPhone
8. Tapez :

sudo ./oibc

Votre terminal doit maintenant afficher le même texte qui s’affiche sur l’écran de votre téléphone. Si ce n’est pas le cas retour au point 1.

10. Tapez

install

et ensuite :

reboot

Note: si votre appareil refuse de démarrer après l’installation  de openiboot,  vous devrez passer votre iPhone en mode DFU et restaurer votre iPhone avec iTunes.

3/ Booter sur Android:

  • Rallumez votre iPhone pour afficher openiboot
  • Sélectionnez le menu console
  • Appuyez 2 ou 3 secondes sur le bouton HOME, cela lancera ANDROID
  • Enjoy ! :-)

Si vous avez des questions avant de vous lancer ou si vous avez des problèmes, laissez un commentaire !

Source