Je voulais reconditionner un téléphone android Samsung Galaxy Ace GT-S5839i qui traînait dans les tiroirs d’une connaissance. Voici une partie de l’installation d’un firmware alternatif sur cet ordinateur portatif miniaturisé (qu’on appelle téléphone, mais qui dans mon cas ne fera pas office du tout de téléphone). De nouveau, c’est pour moi une façons d’explorer l’usage de plateformes restreintes et d’explorer des usages détournés de ces technologies vues comme obsolescentes.
Première étape : installer un bootloader alternatif qui permette de faire des choses plus évoluées que le bootloader de base qui vient avec le téléphone. Une des choses, de mon point de vue, difficile avec l’utilisation de logiciels alternatifs pour les téléphones androids, est l’absence de documentation structurée sur la question. Il y a une énorme culture du forum chez les bidouilleurs de téléphones (la référence étant le forum XDA) que je n’ai pas vraiment, devoir creuser dans un forum pour trouver des bribes d’informations sur un sujet est toujours compliqué. Habitué aux documentations des projets de logiciels libres, c’est parfois un peu compliqué de raisonner par déduction des problèmes des autres et de comprendre le langage, les acronymes et codes au fur et à mesure (CWM, ROM, flasher, etc.). Bonne nouvelle (depuis la dernière fois que j’ai fait ce genre de tentatives), ils ont un wiki très bien fait : par exemple Bootloader. Autre exemple pour cet appareil : Galaxy Ace.
Après être rentré sur ClockWork Recovery, je fais un premier backup de l’image existante.
Ensuite, je cherche une documentation pour installer CyanogenMod sur cet appareil. Faut pas réver, Replicant (version encore plus libre et orienté sécurité) basée aussi sur le Android Open Source Project (AOSP). Je tombe donc sur la liste des « Unofficial Ports » (les appareils dont l’installation est possible grace à un effort communautaire en dehors du projet « officiel » cyanogenmod). N’étant pas très expert en la matière, je cible la CM 7.2 car c’est la plus proche du système existant (gingerbread 2.3). Je pars sur la documentation « CyanogenMod 7.2 for Galaxy ace i (S5830i, S5839i, S5830M, s5830C)« . Peut-être dans un deuxième temps, je m’aventurerais vers les images CM 10.
Les images sont sur le site de bieltv3. Je pense avoir utilisé l’installation d’un kernel personnalisé par ce même utilisateur.
J’ai réussi à faire toutes ces mises à jour par les outils de recovery directement sur le téléphone, sans jamais devoir passer Odin, outil leaké de chez samsung et donc propriétaire et uniquement disponible sous windows. À ce sujet là, je suis tombé sur heimdall qui semble être une alternative libre à cet outil pour modifier le firmware à partir d’un ordinateur, mais celui-ci ne fonctionne que sur des téléphones plus récents. Projet qui a l’air sympathique (disponible dans debian), je m’y retrouve un peu plus avec les codes de projets libres.
Après une petite période de flou artistique où je répète les « update from image on SD card » dans ClockWork Recovery. Je pense avoir échoué l’opération, mais l’animation de CyanogenMod apparaît!
Le système est personnalisable à souhait. J’y installe Obsqr (lecteur de code QR) en le transférant par bluetooth à partir d’un autre f-droid. Avec ce lecteur de code QR, je me connecte au wifi, télécharge f-droid et installe les quelques logiciels que je compte utiliser (principalement AntennaPod pour écouter des podcast).
Pour bidouiller plus facilement, j’essaye wifi keyboard, qui permet d’ouvrir un navigateur sur une bécane qui a un clavier et de pouvoir taper sur le téléphone.
J’essaye ensuite d’installer Debian avec le projet Lil’Debi de l’excellent Guardian Project. C’est un échec, reste à trouver du temps pour comprendre et avancer là dessus.
À défaut d’avoir debian et ses logiciels, j’essaye d’avoir un accès SSH. Bon nombre de solutions sont disponibles pour cela : serveurs ssh pour android. Je m’oriente vers la methode « CyanogenMod » avec dropbear : sur le wiki de cyanogenmod. Pas encore très utilisable, surtout quand on est habité à des systèmes debian ou openwrt. Et il manque python… À creuser.
L’autre piste à creuser est l’approche adoptée par JanOS (pour lequel cet appareil est bien évidemment pas sur liste des appareils compatibles). Comme décrit sur cet article « Firefox OS as an IOT plateform » et son exploration des GPIO, réutiliser ces appareils pourrait être intéressante.
Un des trucs un peu décevant, est de voir que bon nombre des applications disponibles par f-droid ne sont pas disponible sur cette vieille version d’android. Par exemple, l’application OpenEnergyMonitor ne sera pas supporté sur les version 2.x. Reste à upgrader CyanogenMod…
Voilà, je suis preneur de conseils, d’astuces…
[…] Autre déception: l’interface web léchée ne fonctionne pas avec un vieux navigateur d’un vieux android (qui est difficile à mettre à jour). Pas de client MPD via f-droid non plus (pas encore trouvé d’archive des veilles versions des clients MPD). Il faudra probablement trouver un autre moyen de contrôler la music depuis cyanogenmod 7. […]
[…] Ceci n’est pas un guide exhaustif mais un retour d’expérience tronqué pour montrer ce qu’il y a et les questions que ça pose. Dans la même veine que un précédent article en 2016. […]