Le dual‐boot sur Galaxy S2, c’est possible !

Posté par  . Édité par Davy Defaud, Nÿco, Benoît Sibaud, claudex, Christophe Turbout et Nils Ratusznik. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
39
2
sept.
2012
Android

L’installation de multiples systèmes d’exploitation sur PC est possible depuis de nombreuses années. Aujourd’hui, à l’ère des smartphones et autres tablettes, cette pratique commence à peine à se populariser, notamment grâce au noyau alternatif Siyah Kernel (depuis la version 3.1) disponible pour le Samsung Galaxy S2. Malheureusement, la bonne documentation se fait rare, surtout pour les anglophobes… Il est grand temps de s’y mettre !

Sommaire

Théorie : comment ça marche ?

La gestion des ROM

Sur un appareil mobile sous Android, l’installation de la ROM (distribution Android) est très simple : elle est installée sur le stockage interne du l’appareil, formaté en plusieurs partitions montées à différents points de montage. On citera notamment /cache, /data et /system, bien connus des habitués du mode recovery.

Le dual‐boot avec Siyah Kernel reprend les mêmes bases et s’organise de façon similaire : la ROM principale est installée normalement et la ROM secondaire est installée de façon similaire, mais là où la ROM principale utilisera /data et /cache, la ROM secondaire utilisera des images au format .img à la place (data.img, cache.img…).

Quid du « bootloader » ?

Sur un PC ou autre machine de bureau, qui dit dual‐boot dit bootloader (parfois alternatif), n’ayez crainte, ici point de MBR ou autres GRUB, le bootloader de votre appareil ne bougera pas d’un pouce ! En effet, le noyau se chargera de gérer le dual‐boot comme un grand, sans rien demander au bootloader (si ce n’est de le lancer).

Fonctionnement du dual‐boot

Voyons maintenant le fonctionnement général de la chose.

Dans tout ce joyeux bazar, c’est le noyau qui a le beau rôle, celui‐ci se charge de deux choses majeures : la mise en place des ROM, et le démarrage de celles‐ci.

Une fois n’est pas coutume, tous les chemins mènent à la ROM. Siyah Kernel propose de mettre en place la ROM secondaire de plusieurs façons : soit en installant une ROM directement à l’emplacement de la ROM secondaire (via une archive ZIP), soit en clonant la ROM principale vers la secondaire. Quelque soit la méthode choisie le résultat sera d’avoir un dual‐boot fraîchement mis en place, avec la possibilité de changer ou modifier chacune des ROM sans que cela n’ait d’impact sur l’autre. La seule condition étant de veiller à ce que Siyah Kernel soit réinstallé à chaque changement de ROM principale (car celle‐ci installe son propre noyau).

Une fois les ROM mises en place, le démarrage sur l’une ou l’autre se passe de façon tout aussi simple : le bootloader de l’appareil lance le seul noyau qui lui est accessible : le Siyah Kernel de la ROM principale. À ce moment‐là, Siyah Kernel va rechercher la présence, ou non, d’une ROM secondaire, si celle‐ci est présente, il jouera le rôle de pseudo-bootloader et proposera d’amorcer l’une ou l’autre des deux ROM.

Ainsi, donc, seul Siyah Kernel, noyau de la ROM principale est lancé et utilisé, quelque soit la ROM choisie à l’amorçage. Le noyau est donc commun aux deux ROM.

Pratique : préparatifs et informations avant installation

Noyau

Pour la réalisation de ce tutoriel, pas d’alternatives possibles : Siyah Kernel étant le seul (hors dérivés de ce dernier) à proposer un dual‐boot stable et abouti, impossible de l’éviter. Notons tout de même que le noyau de la ROM secondaire importe peu et que ce n’est pas la peine de le changer : comme expliqué dans la partie Théorie, c’est toujours Siyah Kernel, installé sur la ROM principale, qui lance l’une ou l’autre des ROM, le noyau de la ROM secondaire n’est donc jamais lancé ni utilisé.

La dernière version du Siyah Kernel est accessible via le lien en haut de l’article.

N.B. : Il existe des dérivés de Siyah Kernel permettant également le dual‐boot, mais ceux‐ci étant moins populaires, et la manipulation étant la même, cela ne sera pas traité dans cet article.

Version d’Android

La fonctionnalité de dual‐boot de Siyah Kernel ne fonctionne qu’avec des ROM basées sur Android Ice Cream Sandwich 4.0.x et Android Jelly Bean 4.1.x.

ROM conseillées

Ici, le choix est vaste : toutes les ROM Android 4.0.x et 4.1.x sont compatibles avec Siyah Kernel, ainsi l’utilisateur est libre de conserver sa ROM habituelle, pour peu qu’elle rentre dans ces critères. Cependant, même si théoriquement Siyah Kernel est compatible avec toutes les ROM, pensez à vérifier que votre ROM n’est pas un cas particulier éventuellement incompatible.

Les ROM basées sur CyanogenMod, MIUI, AOSP et AOKP sont réputées pour être quasiment irréprochables sur ce point. Un vaste choix de ROM en tout genre est disponible sur les forums XDA.

La ROM utilisée doit évidemment être « rootée ».

Résumé du matériel nécessaire

Voici ce dont vous aurez besoin :

  • un Samsung Galaxy S2 équipé d’Android 4.0.x ou 4.1.x rooté ;
  • Siyah Kernel en version CWM (sous forme d’archive ZIP, le format .tar étant réservé au flashage avec Odin) ;
  • la ou les ROM à installer (en archives ZIP également).

Ainsi que :

  • une batterie relativement chargée (il est aussi possible de brancher l’appareil sur secteur pendant la manipulation) ;
  • de la place disponible sur le stockage interne ou la carte SD de l’appareil (~4 Gio) :
    • compter 1 Gio pour le stockage des archives ZIP des ROM (effaçable après l’opération),
    • 2 Gio pour l’image de /data,
    • 100 Mio pour l’image de /cache ;
  • ne pas oublier de faire une sauvegarde des données et applications stockées sur l’appareil (stockage interne et carte SD y compris, en cas de mauvaise manipulation).

Note : Dans le mode recovery que vous utiliserez au cours de la manipulation, la sélection des options s’effectue avec les boutons volume + et volume -, et la validation s’effectue avec le bouton Power (ou le bouton Home selon la version du mode recovery).

Tout le monde est prêt ? C’est parti !

Pratique : installation

Préambule

La démarche de la manipulation qui va suivre est commune aux deux appareils et s’applique à toutes les ROM. Cependant, si vous devez respecter certaines étapes pour l’installation de votre ROM faites le normalement, que ce soit une installation en tant que ROM principale ou secondaire.
Le tutoriel est néanmoins adapté de façon à être compatible avec toutes les ROM, vous verrez notamment que les partitions/images /data et /cache sont formatées en début de manipulation, ce qui remplace les traditionnels wipe data/factory reset et wipe cache partition communs à l’installation de nombreuses ROM.

La manipulation qui va suivre à été testée sur un Samsung Galaxy S2 (modèle GT-I9100) avec les ROM CyanogenMod 9.0 (stable) en ROM principale et Resurrection Remix 3.0.5 en secondaire, et Siyah Kernel 4.1.1.

Installation de Siyah Kernel

Note : Si vous désirez « flasher » Siyah Kernel via Odin (utile si votre appareil n’est pas encore « rooté ») plutôt que par le mode recovery, c’est tout à fait possible, cependant cette méthode ne sera pas traitée ici, car cette dernière comporte plus de risques qu’un « flashage » via le mode recovery.

Avant toute chose, placez tous les fichiers ZIP nécessaires (Siyah Kernel et la ou les ROM à installer) sur le stockage interne de l’appareil ou sur votre carte SD. Ceci étant fait, nous allons procéder à l’installation de Siyah Kernel. Pour ce faire, il vous faudra suivre ces étapes :

  • éteignez l’appareil ;
  • démarrez l’appareil en mode recovery avec la combinaison de touches : Volume + + Home (bouton central) + Power, à maintenir jusqu’à l’affichage du menu du mode recovery ;
  • sélectionnez successivement les options install zip from sdcard et choose zip from sdcard ou, si vous avez placé le ZIP sur la mémoire interne : choose zip from internal sdcard, puis sélectionnez le ZIP correspondant à Siyah Kernel, l’installation devrait être rapide ;
  • revenez ensuite au menu principal du recovery en sélectionnant +++++Go Back+++++ en bas, puis sélectionnez advanced et efin wipe dalvik cache ;
  • revenez au menu principal du mode recovery, puis redémarrez l’appareil avec reboot system now.

Siyah Kernel est maintenant installé sur votre ROM, laissez cette dernière démarrer (cela peut prendre un peu plus de temps que d’habitude) et vous serez paré pour la deuxième étape.

Installation de la ROM secondaire

Maintenant que Siyah Kernel est installé sur votre appareil, il ne reste plus qu’à installer la ROM secondaire et le dual‐boot sera mis en place.

Cette deuxième partie va se diviser en trois parties distinctes. Une première partie décrira le processus préparatoire commun aux deux méthodes d’installation qui seront décrites dans les deux parties suivantes : l’installation directe et le clonage de ROM.

Note : Vous remarquerez que Siyah Kernel est équipé du CWM Touch, qui rend le mode recovery pilotable via l’écran tactile au moyen de la barre d’action située en bas : un bouton de déplacement vers le bas, un vers le haut, un bouton retour et un valider.

Partie 1 : Préparation des images disque

Pour préparer vos images (qui simulent les partitions pour la ROM secondaire), il vous faut évidemment redémarrer en mode recovery, vous savez comment faire. Une fois dans le mode recovery, il vous faudra suivre les étapes suivantes :

  • sélectionnez mounts and storage ;
  • sélectionnez successivement les options format /secondrom_cache, format /secondrom_data et format /secondrom_system (le formatage de /secondrom_data peut être long).

Vous voici maintenant avec des images fraîchement préparées pour y installer une ROM. Nous allons maintenant voir successivement les deux méthodes d’installation différentes.

Note : Les images servant à l’installation de la ROM secondaire étant stockées sur le stockage interne de l’appareil, veillez à ne pas formater ce dernier, cela effacerait entièrement la ROM secondaire.

Partie 2 : Installation directe

L’installation directe consiste tout simplement à installer la ROM secondaire via le ZIP de ladite ROM. Pour ce faire, suivez ces étapes :

  • sélectionnez l’option dual-boot options ;
  • sélectionnez ensuite : soit l’option install zip to 2ndROM from internal SD, si le ZIP se trouve sur le stockage interne, soit install zip to 2ndROM from external SD, s’il se trouve sur la carte SD, puis sélectionnez le ZIP correspondant à la ROM à installer et patientez jusqu’à la fin de l’installation ;
  • une fois l’installation terminée, sélectionnez l’option Wipe 2ndROM dalvik-cache ;
  • revenez au menu principal du mode recovery, puis redémarrez l’appareil avec reboot system now.

Au démarrage, Siyah Kernel vous proposera d’appuyer sur le bouton Home pour amorcer la ROM secondaire, sans quoi il démarrera automatiquement sur la ROM principale au bout de 3 secondes.
Encore une fois, vous pourrez remarquer que la ROM secondaire met plus de temps que d’habitude à démarrer, ce qui est normal.

Partie 3 : Clonage de ROM

Avertissement : Si vous avez des applications installées sur carte SD et que vous clonez la ROM, ces dernières ne fonctionneront plus et devront être réinstallées.

Lors du clonage de ROM, votre ROM principale sera clonée et installée à l’emplacement de la ROM secondaire (écrasant la précédente, s’il y en a une). Le principe d’installation est le même, des fichiers .img seront également utilisés, l’intérêt de cette méthode est de « déplacer » la ROM.

En effet, en clonant la ROM principale vers la ROM secondaire, puis en installant une nouvelle ROM à l’emplacement de la principale, vous pourrez ainsi changer de ROM tout en gardant la précédente en secondaire, par exemple.

L’inverse est également possible, vous pouvez cloner la ROM secondaire vers la ROM principale, puis installer une nouvelle ROM à l’emplacement de la secondaire.

Ces options vous laissent un large choix, vous pouvez par exemple installer une ROM stable en ROM principale et une ROM en développement en ROM secondaire. Ainsi, quand la ROM en développement deviendra stable, vous pourrez la basculer en ROM principale, puis installer une nouvelle ROM de développement en ROM secondaire.

Cette partie décrira donc uniquement comment cloner des ROM de façon propre.

Clonage de ROM principale vers ROM secondaire :
  • formatez les images secondrom_cache, secondrom_data et secondrom_system, comme indiqué dans la partie 1 ;
  • sélectionnez l’option dual-boot options, puis Clone 1stROM to 2ndROM ;
  • sélectionnez l’option Wipe 2ndROM dalvik-cache ;
  • revenez au menu principal du mode recovery, puis redémarrez l’appareil avec reboot system now.
Clonage de ROM secondaire vers principale :
  • sélectionnez mounts and storage, puis formatez les partitions /cache, /data et /system ;
  • revenez au menu principal du mode recovery, puis sélectionnez dual-boot options et Clone 2ndROM to 1stROM ;
  • revenez ensuite au menu principal du recovery, puis sélectionnez advanced, puis wipe dalvik cache ;
  • revenez au menu principal du mode recovery, puis redémarrez l’appareil avec reboot system now.

Comme toujours, le temps de démarrage des ROM après clonage peut être rallongé.

Pratique : désinstallation

Tout comme vous avez voulu mettre en place le dual‐boot, vous voudrez peut‐être le désinstaller un jour. Voici la méthode.

Désinstallation de ROM secondaire

Pour ce faire, rien de plus simple, il vous suffit de redémarrer en mode recovery et de suivre l’une de ces deux méthodes en quelques étapes :

  • en formatant les images :
    • sélectionnez mounts and storage puis formatez les images /secondrom_cache, /secondrom_date et secondrom_system,
    • revenez au menu principal du mode recovery, puis redémarrez l’appareil avec reboot system now ;
  • ou en utilisant l’option Remove 2ndROM :
    • sélectionnez dual-boot options, puis Remove 2ndROM,
    • revenez au menu principal du mode recovery, puis redémarrez l’appareil avec reboot system now.

Ces deux méthodes mènent au même résultat. La seule différence est que la première méthode laissera derrière elle des images vierges mais tout de même existantes, ce qui vous évitera de les recréer si vous remettez en place un dual-boot, tandis que la seconde ne laissera rien, ce qui libérera un peu plus de 2 Gio sur le stockage interne de l’appareil, car les images seront supprimées.

Désinstallation de ROM principale

Si vous désirez supprimer la ROM principale et ne conserver que la ROM secondaire, il suffit de cloner la secondaire vers la principale, puis de supprimer la secondaire en suivant l’une des deux méthodes de la partie précédente.

Conclusion

Vous voici maintenant avec toutes les cartes en mains pour un dual‐boot compris et réussi sur votre Galaxy S2 grâce au Siyah Kernel. Cela vous permettra de profiter encore plus de votre appareil !

Errata

Contrairement à ce qui était indiqué dans l’article (maintenant corrigé), le dual‐boot n’est pas possible sur le Samsung Galaxy S3. En effet, Siyah Kernel ne propose pas encore cette fonctionnalité. Je présente donc toutes mes excuses aux personnes ayant été induites en erreur (notamment micka33720, dont le commentaire m’a permis de me rendre compte de mon erreur). En outre, un article sera rédigé dès que cette fonctionnalité sera disponible.

Aller plus loin

  • # Peut-on dual-booté avec tout ?

    Posté par  . Évalué à 5.

    Apparamment il est dit dans l'article que le kernel de la deuxième ROM est "ignoré" et que c'est le Siyah Kernel qui reste en place dans le téléphone. Donc ma question est simple : est-ce que l'on peut booter autres choses qu'un Android en deuxième ROM ? Pour éventuellement tester Meego, Firefox OS, etc…

    de même que nous profitons des avantages que nous apportent les inventions d'autres, nous devrions être heureux d'avoir l'opportunité de servir les autres au moyen de nos propres inventions ;et nous devrions faire cela gratuitement et avec générosité

    • [^] # Re: Peut-on dual-booté avec tout ?

      Posté par  . Évalué à 2.

      Non, car Siyah Kernel n'est compatible qu'avec Android.

      • [^] # Re: Peut-on dual-booté avec tout ?

        Posté par  (site web personnel) . Évalué à 2.

        En regardant le 1er liens sur XDA, il est indiqué que :

        All-in-1kernel because it supports CM9, CM10, Samsung, MIUI and Boot-to-Gecko (B2G) ROMs with a single kernel image. (no Sense4all support)

        Donc B2G serait supporté … bonne nouvelle

        • [^] # Re: Peut-on dual-booté avec tout ?

          Posté par  . Évalué à 2.

          En effet, désolé, mea-culpa entre B2G et Firefox OS… je pense y jeter un œil dans ce cas (si c'est concluant j'écrirai un article sur l'installation de B2G avec une partie dual-boot).

  • # ce n'est pas du dual boot

    Posté par  . Évalué à 6.

    ca sera du dual boot "comme sur pc" quand on pourra charger un noyau different. c'est même pas si dur que ca, sans accès au boot loader, on peut utiliser kexec.

    • [^] # Re: ce n'est pas du dual boot

      Posté par  (site web personnel) . Évalué à 2.

      Oui. Là finalement on a juste un chroot.

      Il existe deux catégories de gens : ceux qui divisent les gens en deux catégories et les autres.

      • [^] # Re: ce n'est pas du dual boot

        Posté par  . Évalué à 2.

        Oui ici, comme expliqué dans l'article le noyau est chargé et selon le choix au boot soit les partitions "normales" sont montée, soit ce sont les images, ce qui revient à un seul noyau avec deux userspaces différents.

      • [^] # Re: ce n'est pas du dual boot

        Posté par  . Évalué à 1. Dernière modification le 03 septembre 2012 à 13:43.

        Ce n'est pas un système de chroot qui permet déjà d'utiliser une distribution linux avec Android ?
        Il me semble avoir vu une app "Ubuntu" sur le market de Google.

  • # ne fonctionne pas

    Posté par  . Évalué à 1.

    je ne comprends pas. j'ai essayé avec plusieurs roms et avec plusieurs versions de siyah mais rien à faire. quand je vais dans "mounts and storage" il n' y a pas de "secondrom_cache" etc…et encore moins l'option "dual boot".
    J'ai loupé quelque chose?

    • [^] # Re: ne fonctionne pas

      Posté par  . Évalué à 1.

      S2 ou S3 ? Version exacte de Siyah ? ROM testées ?

      • [^] # Re: ne fonctionne pas

        Posté par  . Évalué à 1.

        Je suis sous S3 et j'ai testé avec les roms cyanogen,omega,dragons…(ICS et JB)
        pour la version siyah j'ai testé la S3-v1.5.2 et la S3-v1.4

        mais apres avoir fouiner toute la journée, il semblerait que cela ne fonctionne que sous S2. ou alors c'est moi qui loupe quelque chose.

        • [^] # Re: ne fonctionne pas

          Posté par  (site web personnel) . Évalué à 1.

          Arf, j'ai lu tout l'article la bave aux lèvres pour rien !

          • [^] # Re: ne fonctionne pas

            Posté par  . Évalué à 1.

            Encore un fois, toutes mes excuses pur cette énorme bourde. Mais promis, dès que c'est disponible (je surveille) je poste ça.

            • [^] # Re: ne fonctionne pas

              Posté par  . Évalué à 0.

              Bonjour, je reviens vers vous pour vous informer que le dual-boot est enfin disponible pour nos GS3 depuis la sortie de SiyahKernel S3-v1.7.1. attention : uniquement pour les versions JB. @+

  • # Dispo pour le S3

    Posté par  . Évalué à 1.

    Bonjour à vous,je me suis retrouvé ici en cherchant des infos sur le dual boot s3 qui vient d’être release :

    http://forum.xda-developers.com/showthread.php?t=1709686&page=800

    Les options du recovery touch sont différent et pas toute les fonctions sont implanter, comme installer un zip sur la 2eme rom mais avec un backup,instal de la rom secondaire sur la principale et switch sur le secondaire puis réstorer primaire et c'est bon.
    J’espère ne pas vous avoir perdu sur ma dernière phrase.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.