Dual boot de B2G et Android sur SGS2

Cet article nécessite une relecture technique. Voici comment vous pouvez aider.

Avertissement : Cette procédure ne fonctionne plus réellement. Elle fonctionne seulement avec Android 4 (Ice Cream Sandwich) et Siyah Kernel v 5.0.1. Les versions plus récentes ne fonctionnent pas non plus. Considerez ce guide comme archivé, vous l'utilisez à vos risques et périls.

Si vous voulez tester B2G de temps en temps mais continuer à utiliser Android comme OS principal et vous possédez un Samsung Galaxy S2, vous pouvez installer B2G dans une partition séparée (qui est déjà présente dans le téléphone) et choisir qui booter au démarrage du système.

Prérequis

Pour installer le dual boot Android et B2G, vous devez respecter ces prérequis :

  • Vous devez installer B2G pour Galaxy S2
  • Vous devez télécharger le kernel Siyah v. 5.0.1 pour Galaxy S2
  • Vous devez avoir l'outil simg2img, que vous optiendrez automatiquement en installant B2G selon le guide de MDN
  • Vous devez avoir l'outil heimdall, de préférence en version 1.3.1 car vous pourriez rencontrer des problèmes avec la version 1.3.2

Liste des opérations

Il faut effectuer plusieurs opérations dans l'ordre pour obtenir un dual boot opérationel. Les instructions suivantes doivent être effectuées en premier uniquement.

Pour utiliser heimdall sans accès root, vous devez créer un fichier android.rules (la partie précédent l'extension .rules est arbitraire) et le placer dans /etc/udev/rules.d. Le fichier doit contenir la ligne suivante:

SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"

Pour activer cette règle, vous devez redémarrer udev:

sudo service udev restart

et débrancher/rebrancher le téléphone. La règle ci-dessus va également autoriser adb à accèder au SGS2 sans droit root.

Flasher le kernel Siyah

Le kernel Siyah kernel est obligatoire pour le dual boot, car c'est lui qui le gère. Une fois que vous avez téléchargé et décompressé le fichier .tar, vous optiendrez un fichier nommé zImage. Pour le flasher sur votre téléphone, vous devez suivre ces étapes:

  1. Eteignez votre téléphone
  2. Redémarrez en mode Download (appuyez simultanément sur les boutons "volume bas" + "home" + "power"  puis quand le téléphone le demandera, "volume haut")
  3. Utilisez heimdall pour flasher le kernel grâce à la commande suivante (le téléphone doit être connecté au PC):
    heimdall flash --kernel /path/to/zImage

Une fois le kernel flashé, le téléphone va redémarrer.

Préparer l'environnement de la rom B2G

Une fois le kernel Siyah installé, il faut utiliser ces fonctions pour préparer l'environnement à l'installation de l'image B2G dans la deuxième partition. Suivez ces étapes :

  1. Eteignez votre téléphone
  2. Redémarrez en mode recovery (Appuyez simultanément sur les boutons "volume haut" +  "home" + "power")
  3. Dans l'interface tactile CWMR, allez dans "dual-boot options" -> Wipe 2ndROM data/cache -> Yes - Wipe. Cette opération prendra un certain temps.

Une fois l'opération terminée, sélectionnez Retour puis faites Redémarrer maintenant pour redémarrer votre téléphone. Si vous regardez dans la carte SD de votre téléphone vous verrez qu'il y a désormais un dossier .secondrom contenant 2 fichiers nommés cache.img et data.img.

Mise à jour de B2G

Les opérations suivantes doivent être réalisées à chaque compilation d'une nouvelle version de B2G.

Afin de simplifier les instructions en ligne de commandes, il est recommandé de copier tous les fichiers nécessaires dans le même dossier (celui de votre choix). Les fichiers suivant sont nécessaires et doivent être copiés à l'intérieur du dossier:

  • simg2img, trouvable dans B2G/out/target/product/galaxys2/system/bin/
  • system.img, trouvable dans B2G/out/target/product/galaxys2/
  • userdata.img, trouvable dans B2G/out/target/product/galaxys2/

Une fois que tout vos fichiers sont réunis au même endroit, effectuez les étapes suivantes:

  1. Créez un fichier data.img file sur le fichier userdata.img.  Vous pouvez le faire avec la commande suivante:
    simg2img userdata.img data.img
  2. Mettez le fichier data.img file dans le dossier .secondrom de votre téléphone. Vous pouvez le faire soit via le mode de stockage de fichier sur votre téléphone puis en le connectant à votre PC, sinon si USB Debug est activé, vous pouvez utiliser adb:
    adb push /path/to/data.img /sdcard/.secondrom/data.img
  3. Eteignez votre téléphone
  4. Redémarrez le en mode téléchargement (pressez en même temps le bouton "volume bas" + home + le bouton power ensuite, lorsque cela sera demandé appuyez sur le bouton "volume haut")
  5. Utilisez heimdall pour flasher le firmware B2G dans la seconde partition:
    heimdall flash --hidden system.img

Une fois cela fait, votre téléphone va redémarrer et au démarrage vous pourrez démarrer sur votre seconde rom (B2G) en appuyant sur le bouton home pendant le décompte. Si tout s'est bien passé, une fois que vous aurez fini de démarrer sur B2G, un écran noir apparaîtra sur votre téléphone. Il vous faut maintenant installer Gaia.

Note: Tout dépend de la façon dont vous voulez tester B2G, mais vous pouvez ne pas avoir envie de mettre un nouveau fichier data.img file sur le téléphone à chaque mise à jour de B2G, sachant qu'il effacera toutes vos préférences, pour les applications installées et en général tout ce que vous aurez fait pendant l'utilisation de B2G.

Opérations de démarrage

Les opérations suivantes doivent être réalisées à chaque démarrage dans B2G.

Malheureusement, il n'y a pas de technique simple permettant d'ajouter Gaia à l'intérieur de l'image système B2G system.img , de plus il sera perdu dès que vous éteindrez votre téléphone. De ce fait, il vous faudra installer Gaia à chaque démarrage sur B2G. Pour installer Gaia effectuez les commandes suivantes dans une console après avoir démarré sur B2G (vous devez avoir un écran noir) et avoir connecté votre téléphone à votre PC:

cd B2G/gaia
GAIA_DOMAIN=foo.org make install-gaia

Une fois le téléchargement de Gaia terminé, l'interface B2G apparaitra sur votre écran.

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : jwhitlock, VVVValeee, Hell_Carlito, fccagou, cgirodeau
 Dernière mise à jour par : jwhitlock,