Installer Replicant 4.2 sur un GT-i9300 (Galaxy S3)

Avertissements

Préparation pour la vérification des signatures avec GnuPG

Installer GnuPG

Pour vérifier les fichiers, vous aurez besoin de GnuPG, une implémentation libre d'OpenPGP. Debian fournit ce logiciel via le paquet gnupg (que vous pouvez installer avec les droits root/SuperUtilisateur avec apt-get install gnupg ou aptitude install gnupg ou apt install gnupg). Les distributions basées (directement ou non) sur Debian (comme Trisquel, gNewSense, Ubuntu ou Mint) fournissent généralement également ce paquet et les mêmes méthodes d'installation de celui-ci.

Ajouter la clé GnuPG de Replicant

Le projet Replicant indique sa clé (publique) sur son site web. Au moins pour les images de la version 4.2 0004, la clé expire le 12/01/2024 et a E776 092B 052A DC91 FDD1 FD80 16D1 FEEE 4A80 EB23 pour empreinte. Dans le cas où la clé change, il faudra remplacer "4A80EB23" par le nouvel identifiant de clé dans les paragraphes suivants.

Vous pouvez récupérer la clé via Internet avec la commande gpg --recv-key 4A80EB23. Si c'est un échec et que le message est "pas de serveur de clefs connu", c'est qu'il faut indiquer un serveur de clés (avec l'option --keyserver address). Un serveur de clés courant est subkeys.pgp.net, mais il n'a pas la clé de Replicant (au moins jusqu'en septembre 2016). Au moins en 2016, vous pouvez trouver la clé sur keys.gnupg.net. Ainsi la commande est gpg --keyserver keys.gnupg.net --recv-key 4A80EB23.

Vous pouvez aussi la récupérer d'abord via le lien sur le site web de Replicant. En anglais, elle est appelée GPG signing key. Ensuite, elle peut être importée avec gpg --armor --import chemin/vers/4A80EB23.asc.

Télécharger les fichiers

  1. Téléchargez tous les fichiers pour l'appareil pour la version 4.2 (ou une version plus récente mais vous devrez peut être ne pas suivre scrupuleusement ce tutoriel)
  2. Vérifiez la signature des fichiers avec gpg --armor --verify chemin/vers/replicant-4.2-i9300.zip.asc chemin/vers/replicant-4.2-i9300.zip et gpg --armor --verify chemin/vers/recovery.img.asc chemin/vers/recovery.img (les fichiers avec l'extension asc sont les signatures)
  3. Vérifiez que les vérifications ne renvoient pas une ou des erreurs, dans le cas contraire n'installez rien
  4. Vérifiez les sommes de contrôle MD5 avec md5sum -c i9300.md5
  5. Vérifiez que la vérification est un succès, dans le cas contraire n'installez rien

Si tout c'est bien passé, vous avez normallement des fichiers valides. La validité des fichiers est cruciale puisque ceux-ci vont être "injectés" sur votre appareil.

Installer Heimdall

Heimdall est un logiciel libre pour flasher des appareils (notamment certains de Samsung). Il fonctionne au moins sur GNU/Linux, Apple OS X et Microsoft Windows. Son code source est disponible sur GitHub. Vous avez peut être entendu d'Odin, c'est un logiciel privateur fait par Samsung qui est similaire par ses fonctionnalités, il aurait fuité par inadvertance et ne fonctionne que sous Windows.

Vous pouvez utiliser une des méthodes suivantes pour installer Heimdall, mais il en existe peut être d'autres.

Copier les fichiers sur l'appareil

Il y a au moins 3 manières de copier les fichiers sur l'appareil : en utilisant directement le stockage de l'appareil, en utilisant une carte microSD, ou en utilisant ADB.

Copier les fichiers via USB

  1. Assurez vous que l'appareil a fini de démarrer (y compris le système d'exploitation)
  2. Connectez le cable USB à votre ordinateur avec les fichiers et l'ordinateur qui doit les recevoir
  3. Activez USB mass storage ou MTP sur l'appareil devant revecoir les fichiers
  4. Si ce n'est pas fait automatiquement, montez le stockage de l'appareil sur l'ordinateur ayant les fichiers
  5. Copiez replicant-4.2-i9300.zip sur l'appareil (de préférence à la racine pour qu'il soit facile à retrouver)
  6. Démontez d'une manière logicielle le stockage de l'appareil
  7. Désactivez USB mass storage ou MTP sur l'appareil
  8. Débranchez le cable

Copier les fichiers via une carte microSD

La carte microSD doit être compatible avec votre appareil. Vous devriez la tester avant de copier des fichiers dessus pour celui-ci. Si elle ne marche, c'est peut être à cause du système de fichiers. Dans le doute ou en cas de problème avéré, faite une copie des données de celle-ci sur un périphérique externe, puis formattez la en FAT32 (par exemple avec GParted).

Pour le Galaxy S3, une carte microSD peut être insérée dans son "dos". Il faut enlever la coque en plastique (par exemple avec vos ongles, il n'y a aucune vice). Le port pour la carte microSD se trouve en bas de la batterie et à coté de celui pour la carte microSIM.

  1. Connectez la carte microSD à l'ordinateur ayant les fichiers (au besoin il existe des adapteurs sous forme de carte SD et de clé USB)
  2. Si ce n'est pas fait automatiquement, montez la carte microSD
  3. Copiez replicant-4.2-i9300.zip sur l'appareil (de préférence à la racine pour qu'il soit facile à retrouver)
  4. Démontez d'une manière logicielle la carte microSD
  5. Enlevez la carte microSD de l'ordinateur ayant les fichiers
  6. Insérez la carte microSD dans l'ordinateur n'ayant pas les fichiers et sur lequel vous voulez installer Replicant

Copier les fichiers via ADB

Débrouillez vous ou écrivez cette partie !

Passer l'appareil en "download mode"

Pour flasher l'appareil avec Heimdall (ou Odin), il faut que l'appareil soit en "download mode" (c'est un mode à priori spécifique à des appareils Samsung, mais il pourrait être repris par d'autres si ce n'est pas déjà le cas).

  1. Assurez vous que l'appareil est éteint (ce ne pas le cas du mode veille même dans une potentielle version prolongée)
  2. Assurez vous que le cable USB est déconnecté de l'appareil (sur lequel vous souhaitez installer Replicant)
  3. Démarrez l'appareil en appuyant simultanément sur le bouton pour baisser le volume audio (la partie basse du bouton pour le volume qui est sur le coté gauche), la touche "maison" (le bouton physique en bas de l'écran qui est entre les touches tactilles menu et précédent), et le bouton de démarrage/arrêt (ou power en anglais) (qui est sur le coté droit)
  4. En gardant les boutons enfoncés, attendez que l'appareil affiche un message d'avertissement (Warning en anglais)
  5. Confirmez que vous voulez installer un système d'exploitation (abbrégé OS en anglais pour Operating System) (avec le bouton pour augmenter le volume)
  6. Assurez vous que l'appareil est en "download mode"
  7. Connectez l'ordinateur en "download mode" et l'ordinateur avec Heimdall (ou Odin) via USB

Installer les images

Tout est enfin prêt ! Il est temps de passer à l'installation (qui ne devrait durer que quelques minutes).

  1. Installez l'image du recovery avec la commande heimdall flash --BOOT chemin/vers/recovery.img --RECOVERY chemin/vers/recovery.img (en annexe vous pouvez consulter un exemple de flash réussi)
  2. Assurez vous que l'appareil redémarre sur le recovery (pour Replicant 4.2 0004 pour le GT-i9300, il se nomme CWM-based Recovery v6.0.3.6)
  3. Sélectionnez install zip (en utilisant les touches pour le volume pour monter et descendre et le bouton power pour sélectionner)

Installer le zip avec la mémoire interne

  1. Sélectionnez install zip from sdcard ou choose zip from sdcard
  2. Sélectionnez replicant-4.2-i9300.zip (il est peut être dans le dossier 0)
  3. Confimez l'installation et attendez

Installer le zip avec une carte microSD

  1. Sélectionnez install zip from external sdcard ou choose zip from external sdcard
  2. Sélectionnez replicant-4.2-i9300.zip (il est peut être dans le dossier 0)
  3. Confimez l'installation et attendez

Finir l'installation

  1. Sélectionnez Go Back si nécessaire pour revenir au menu principal
  2. Sélectionnez wipe data/factory reset
  3. Confirmez avec Yes -- delete all user data
  4. Sélectionnez Reboot system now pour redémarrer l'appareil
  5. Profitez de Replicant, un système d'exploitation entièrement libre !

Trucs et astuces

Changer la langue

Il se peut qu'après l'installation votre système ne soit pas dans votre langue favorite. En effet, il est probable que la langue par défaut soit l'anglais. Néanmoins, la traduction en français est incluse. Pour changer la langue, ouvrez l'application "Paramètres" ("Settings" en anglais), puis dans la partie "Personnel" ("Personal" en anglais) cliquez sur "Langue et saisie" ("Language & input" en anglais), vous pouvez enfin changer la langue en cliquant sur "Langue" (ou "Language" en anglais), ce qui ouvre une liste déroulante avec la liste des langues supportées.

Limiter les animations

Pour donner l'impression d'un système fluide, beau et harmonieux, Android utilise des animations graphiques. Vous ne les trouvez peut être pas esthétiques. Vous les trouvez peut être lentes, à cause d'un matériel trop lent ou de pilote(s) l'exploitant peu. Il est heureusement possible de limiter les animations.

Trebuchet et les animations

Trebuchet est un environnement de bureau, il affiche les icones des autres applications qui peuvent être lancées en premier plan. C'est ce type de programme qui passe en premier plan quand vous appuyez sur le bouton "maison" (parfois un bouton physique au centre en bas de l'écran, par exemple sur le Galaxy S3). Trebuchet 1.0 est l'environnement de bureau par défaut sous Replicant 4.2. Il n'est pas possible de le configurer pour qu'il ne fasse pas d'animation (au moins dans sa version 1.0), mais certaines animations sont plus légères que d'autres.

Pour changer les animations, commencez par ouvrir l'application "Paramètres". Ensuite, cliquez sur "Trebuchet" dans la partie "Interface". Puis, cliquez sur "Écrans d'accueil" et/ou "Applications" (vous ne pouvez bien entendu pas faire les deux à la fois, mais l'un après l'autre). Dans la partie "Défilement", cliquez sur "Effet de transition", la transition dite "standard" semble être ce qu'il y a de plus léger. Vous pouvez aussi désactiver l'indicateur dans la partie associée, mais cela a un impact presque nul sur la performance.

Désactiver les profils

Il n'y a pas de profil(s) dans Android 4.2, c'est une fonctionnalité qui a été rajouté par CyanogenMod, et que Replicant a conservé. Pour enlever le bouton pour les profils du menu marche/arrêt, il faut aller dans les paramètres, puis dans "Système" de la partie "Interface", ensuite dans "Menu marche/arrêt", enfin désactiver "Profils" (en décochant). Si vous n'utilisez pas le système de profils et ne comptez pas l'utiliser, il est possible de le désactiver dans les paramètres dans la partie "Personnel".

Désactiver la vibration du clavier par défaut

Le clavier par défaut peut émettre une vibration à chaque saisie de touche. Cela permet de notifier autrement que par la vue que la saisie a bien été prise en compte. On peut trouver ça agaçant et ne pas en vouloir. Pour y arriver, il faut ouvrir les paramètres, allez dans "Langue et saisie" de la partie "Personnel", puis cliquez sur l'icône à droite de "Clavier Android (AOSP)", enfin décocher "Vibrer à chaque touche" de la partie "Général".

Mettre à jour F-Droid

F-Droid est un marché d'applications libre. Par défaut, il ne propose que des applications libres, mais vous pouvez ajouter d'autres sources d'applications (aussi appelées dépôts). Il existe peut être une version plus récente que celle pré-installée.

Si votre appareil sous Android a une connexion à Internet (que ce soit avec un réseau mobile, en Wi-Fi, un cable USB vers Ethernet, SimpleRT, ou encore un autre moyen), vous pouvez mettre à jour F-Droid avec lui-même. Pour cela, ouvrez l'application, puis cliquez sur l'icone pour actualiser, elle est en haut à droite et sous forme de cercle avec une flèche. Allez ensuite dans l'onglet "Mise à jour" et regardez si F-Droid fait parti de la liste. Si c'est le cas, cliquez dessus pour ouvrir sa description, enfin cliquez sur le bouton "Mise à jour".

Si votre appareil sous Android n'a pas de connexion à Internet, il faut d'abord télécharger l'application via le Web avec un autre ordinateur puis la transférer sur votre appareil sous Android. Vous pouvez télécharger l'APK de la dernière version sur le site web f-droid.org (un APK est un fichier d'installation d'application sous Android). Ensuite, vous pouvez transférer l'APK sur votre terminal sous Android (via cable USB, carte microSD, Bluetooth, ou un autre moyen). Pour finir, il faut ouvrir un explorateur de fichiers sous Android pour ouvrir l'APK, le logiciel d'installation devrait vous proposer l'installation à part si le fichier n'est pas valide.

Calendrier hors-ligne

Par défaut sous Replicant 4.2, le seul moyen de créer un agenda est d'avoir un compte Exchange. C'est surtout utilisé dans les grosses organisations. De plus, si vous avez un compte Exchange avec votre employeur, vous n'avez pas forcément envie de lui donner vos événements qui ne le concernent pas.

La majorité des gens sous Android en 2016 n'ont pas le problème sur Android. En effet, ils utilisent un compte Google et les applications privatrices de celui-ci. Elles sont théoriquement installable sous Replicant. Mais si vous utilisez Replicant, vous n'avez probablement envie ni de les utiliser ni de contribuer au monstre Google.

Il existe heureusement au moins une application qui permet de créer des comptes non liés à un service Internet. Elle s'appelle Offline Calendar. Vous pouvez la télécharger via F-Droid. Si vous n'avez pas l'application F-Droid ou pas de connexion à Internet sur votre appareil sous Android, vous pouvez télécharger l'APK sur le site web de F-Droid (qu'il faudra ensuite transférer sur l'appareil et enfin installer si vous l'avez téléchargé avec un autre ordinateur). Pour que l'application marche, il faut bien entendu qu'elle puisse créer un agenda, si vous avez activé par défaut la "protection des données" de Replicant 4.2, désactiver cette fonction pour cette application.

Désactiver Movie Studio, les services Exchange et tags NFC

Movie Studio est une application pour modifier des vidéos. Il est peu probable que vous en ayez besoin. De plus, au moins jusqu'à Replicant 4.2 0004 sur i9300, il n'y a pas d'accélération graphique, ce qui est probablement un frein pour ce genre d'applications. Les services Exchange utilisent des protocoles Microsoft, il y a peu de probabilité que vous en ayez l'usage si vous utilisez Replicant. Les tags NFC peuvent être pratiques, mais il n'y a pas de pilote NFC libre au moins jusqu'à Replicant 4.2 0004 sur i9300. Il ne fera pas de mal de désactiver des applications que vous n'utilisez pas. Pour désactiver une application (peu importe laquelle), ouvrez l'application "Paramètres", ensuite rendez vous dans "Applications" de la partie "Appareil", si nécessaire changer d'onglet en glissant vers la gauche ou la droite, sélectionner une application, pour finir cliquez sur "Désactiver" (si c'est possible).

Définir un mot de passe pour le déverrouillage

Un code pour une carte SIM n'empêche en rien d'accéder aux données de l'appareil. En effet, il suffit de retirer la potentielle carte SIM de l'appareil pour que l'appareil ne demande pas le code SIM. Pour empêcher les accès aux données et usages non désirés de l'appareil, il faut donc utiliser un système autre que celui de la carte SIM. Le schéma (des points à relier) est très facile, mais il est "aisé" de le retrouver avec les traces de doigts et il y a un faible nombre de possibilités. Même si c'est moins pratique, il est préférable en terme de sécurité de priviligier le mot de passe. On pourrait aussi imaginer un système biométrique, mais ce n'est pas intégré par défaut et c'est problématique car les données en jeu sont non révocables, ce n'est donc pas la solution abordée ici.

Pour définir un mot de passe, allez dans paramètres, puis dans "Écran de verrouillage" de la partie "Interface", ensuite dans "Verrouillage de l'écran" de la partie "Général", enfin cliquez sur "Verrouillage de l'écran". Si vous le souhaitez, vous pouvez maintenant chiffrer les données de votre appareil avec le système intégré au système d'exploitation.

Définir le temps de verrouillage après la mise en veille

Android fait la différence entre la mise en veille et le verrouillage. La mise en veille est pour économiser de la batterie, notamment éteindre l'écran. Le verrouillage est pour empêcher un accès physique non autorisé d'un tiers. Pour Android, le verrouillage se fait nécessairement à la mise en veille ou après. Bien entendu, plus le temps pour le verrouillage après la mise en veille est petit, plus ça diminue le risque d'une attaque mais avec l'inconfort de déverrouiller plus souvent le système d'exploitation. Pour définir le temps de verrouillage après la mise en veille, allez dans les paramètres, puis dans "Écran de verrouillage" de la partie "Interface", ensuite dans "Verrouillage de l'écran" de la partie "Général", enfin cliquez sur "Verrouiller automatiquement" et choisissez ce qui vous convient.

Chiffrer les données

Il est possible de crypter chiffrer des données. Cela consiste à les rendre illisibles sans un code. C'est très bien pour la vie privée. En effet, si quelqu'un a accès aux données chiffrés sans le code, il ne pourra pas lire vos informations (à condition que le chiffrement soit bien fait). Néanmoins, cela a un léger cout en terme de performance. De plus, il ne faut surtout pas que vous perdiez le code, sinon (comme n'importe qui d'autre) vous ne pourrez pas les déchiffrer.

Android propose une fonctionnalité pour chiffrer vos données. Cette fonctionnalité n'est pas sélective, c'est "tout" (ce n'est pas le cas d'une potentielle carte microSD) ou rien. Si vous ne voulez chiffrer juste certaines données, il existe des applications pour cela.

Pour chiffrer d'une manière non sélective, il faut que la batterie soit pleine et l'appareil en charge. En effet, il ne faut pas que l'appareil soit éteint durant le chiffrement des données actuelles (ce qui peut être long). Le chiffrement d'au moins Android 4.2 se fait avec un mot de passe. Vous devez donc en définir un si ce n'est pas déja le cas. Pour cela, ouvrez l'application "Paramètres", puis dans la partie "Personnel" cliquez sur "Sécurité", enfin choisissez "Mot de passe" pour "Verrouillage de l'écran" et définissez en un. Pour chiffrer, dans la partie "Sécurité" de l'application "Paramètres", cliquez sur "Chiffrer" dans la partie "Chiffrement" et confirmez après avoir réfléchi et êtes confiant sur votre capacité à retenir le mot de passe. L'opération peut être longue, laissez l'appareil en charge et n'enlevez surtout pas la batterie.

Ne pas montrer les mots de passe

Par défaut, Android 4.2 (dont CyanogenMod et Replicant 4.2) affiche le dernier caractère du mot de passe. C'est pratique pour se souvenir de là où on en est dans la saisie, cependant cela facilite la récupération d'un mot de passe pour une personne ou une caméra dans notre dos. Il est possible de désactiver cette "fonctionnalité". Pour cela, allez dans les paramètres, cliquez sur "Sécurité" dans la partie "Personnel", pour finir décocher "Faire apparaître mots de passe". On peut trouver regrettable qu'il n'y ait pas une option pour qu'il n'y ait pas de boules à la place des caractères, en effet le nombre de boules donnent la longueur de la saisie actuelle, donc probablement la taille minimale du mot de passe, ce qui pourrait être une donnée utile pour une attaque.

Annexes

Exemple du résultat du flash avec Heimdall

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

Uploading BOOT
100%
BOOT upload successful

Uploading RECOVERY
100%
RECOVERY upload successful

Ending session...
Rebooting device...
Releasing device interface...