https://wiki.breizh-entropy.org/index.php?title=Ateliers2020/Atelier_Smartphones_Libres&feed=atom&action=historyAteliers2020/Atelier Smartphones Libres - Historique des versions2024-03-29T07:23:47ZHistorique des versions pour cette page sur le wikiMediaWiki 1.39.5https://wiki.breizh-entropy.org/index.php?title=Ateliers2020/Atelier_Smartphones_Libres&diff=3441&oldid=prevGuest : Annulation des modifications 3436 de Guest (discussion)2020-09-16T00:59:26Z<p>Annulation des modifications 3436 de <a href="/wiki/Sp%C3%A9cial:Contributions/Guest" title="Spécial:Contributions/Guest">Guest</a> (<a href="/index.php?title=Discussion_utilisateur:Guest&action=edit&redlink=1" class="new" title="Discussion utilisateur:Guest (page inexistante)">discussion</a>)</p>
<a href="https://wiki.breizh-entropy.org/index.php?title=Ateliers2020/Atelier_Smartphones_Libres&diff=3441&oldid=3439">Voir les modifications</a>Guesthttps://wiki.breizh-entropy.org/index.php?title=Ateliers2020/Atelier_Smartphones_Libres&diff=3439&oldid=prevGuest : a déplacé Breizh-Entropy/Atelier Smartphones Libres vers Ateliers2020/Atelier Smartphones Libres2020-09-16T00:58:26Z<p>a déplacé <a href="/wiki/Breizh-Entropy/Atelier_Smartphones_Libres" class="mw-redirect" title="Breizh-Entropy/Atelier Smartphones Libres">Breizh-Entropy/Atelier Smartphones Libres</a> vers <a href="/wiki/Ateliers2020/Atelier_Smartphones_Libres" title="Ateliers2020/Atelier Smartphones Libres">Ateliers2020/Atelier Smartphones Libres</a></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="fr">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Version précédente</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version du 16 septembre 2020 à 00:58</td>
</tr>
<!-- diff cache key wiki:diff::1.12:old-3436:rev-3439 -->
</table>Guesthttps://wiki.breizh-entropy.org/index.php?title=Ateliers2020/Atelier_Smartphones_Libres&diff=3436&oldid=prevGuest : Page blanchie2020-09-16T00:52:43Z<p>Page blanchie</p>
<a href="https://wiki.breizh-entropy.org/index.php?title=Ateliers2020/Atelier_Smartphones_Libres&diff=3436&oldid=3435">Voir les modifications</a>Guesthttps://wiki.breizh-entropy.org/index.php?title=Ateliers2020/Atelier_Smartphones_Libres&diff=3435&oldid=prevGuest : Retranscription du document fournit par vincent2020-09-16T00:45:16Z<p>Retranscription du document fournit par vincent</p>
<p><b>Nouvelle page</b></p><div>Copyleft 2020 VinCiv vmahe@free.fr<br />
<br />
Document sous Licence Art Libre (https://artlibre.org/)<br />
<br />
== Préambule : briques et parpaings ==<br />
<br />
Les manipulations nécessaires au changement d'OS sur un mobile peuvent le rendre inutilisable, irrémédiablement : c'est le "bricage"<br />
<br />
Votre téléphone n'est plus alors qu'un tas de composants inertes, une "brique", un "parpaing"...<br />
<br />
Vous êtes prévenus !<br />
<br />
Ne tentez pas ces manipulations sur votre téléphone dernier cri, acquis avec un crédit sur 10 ans<br />
<br />
B-)<br />
== Arrière-plan technique ==<br />
=== Booter sur les ARM ===<br />
<br />
Pas de bios ou d'EFI standard => chaque carte-mère démarre à sa sauce<br />
<br />
Le 1er niveau de boot va chercher à une adresse hardware sur la ROM et/ou la carte SD éventuelle => spécifique.<br />
<br />
Le 2e niveau (souvent UBoot) est lui-même généré spécifiquement pour le modèle de téléphone => encore un verrou limitant.<br />
<br />
Le système installé est à son tour vérifié spécifiquement (ce qui explique certains échecs d'installation).<br />
<br />
Bref : on est très loin des PCs et de leur UEFI (pourtant pourri sur les 32bits) !<br />
<br />
=== Un matériel varié ===<br />
<br />
Chaque téléphone a ses propres versions de périphériques, intégrés à la carte-mère (même si ce n'est pas le cas, il n'y a pas d'autre composant disponible pour cette CM donnée).<br />
<br />
La plupart des périphériques utilisés ne sont pas ouverts et nécessitent un firmware propriétaire, et ce à la fois sur le hardware lui-même mais aussi en mémoire vive.<br />
<br />
TODO : faire un topo sur les identifiants de modèle (i9000), avec mention spéciale pour les modèles ayant plusieurs identifiants (tq le Note 2 de Samsung)<br />
<br />
=== Et le système ? ===<br />
<br />
Le système final (Android,...) est livré déjà prêt, dans un zip et déployé en l'état => oubliez les apt et autres yum d'install progressive.<br />
<br />
Les mises à jour peuvent consister en un remplacement de ce zip => écrasent la précédente version.<br />
<br />
=== Le pire du moins bon... ===<br />
<br />
Ah oui ! Tout ce processus est souvent verrouillé par le fournisseur du téléphone => le "possesseur" du téléphone ne peut rien changer, n'ayant pas les droits SuperUser dessus (c'est pour ça que je n'ai pas utilisé le terme de "propriétaire") => rooter le téléphone avant de pouvoir y changer quelque chose !!!<br />
<br />
NB : rooter passe souvent par un exploit => on est sur un hack très pointu (et spécifique au modèle, car la faille utilisable est souvent colmatée dans le modèle suivant).<br />
<br />
== Implications : des limitations en tout genre ==<br />
=== À chaque modèle son boot ===<br />
<br />
Le programme de boot est spécifique et donc tous les OS libres doivent proposer une version du boot dédiée à chaque modèle sur lequel ils souhaitent tourner (une "image")<br />
<br />
Dans certains cas, c'est l'outil d'installation qui sera spécifique (cas du Recovery de Replicant), ce dernier installant ensuite un OS plus générique.<br />
<br />
=== Des "distributions" pas très génériques ===<br />
<br />
Chaque OS libre ne se "marie" qu'avec certains modèles de téléphone => consulter la liste des "devices" supportés et acheter un modèle en fonction de l'OS qu'on a choisi (corollaire : on est coincé ensuite avec cet OS).<br />
<br />
Rem : notez soigneusement l'identifiant de votre modèle, car les images sont spécifiques à cet identifiant (ex : n7100 pour le Samsung Note II, et t0lte pour le Samsung Note II LTE)<br />
<br />
=== Des périphériques inutilisables ===<br />
<br />
Même les modèles les mieux supportés par l'OS choisi peuvent avoir quelques périphériques non fonctionnels car protégés par du firmware propriétaire (sur l'EPROM mais aussi parfois en RAM)...<br />
<br />
Replicant est particulièrement frustrant à ce sujet, car rigoriste => smartphone sans WiFi, sans GPS (pour les modèles "supportés").<br />
<br />
== Moralité : sélection "polonaise" ==<br />
<br />
Choisir :<br />
<br />
- les fonctionnalités dont on a absolument besoin (ex: WiFi)<br />
<br />
- l'OS qui les fournit en natif<br />
<br />
- le téléphone qui est supporté par l'OS avec les fonctions nécessaires<br />
<br />
- le fabricant qui fournit ce téléphone<br />
<br />
Rem : "polonaise" fait référence à la notation polonaise inverse des mathématiciens.<br />
<br />
== Mon expérience ==<br />
=== Mon besoin ===<br />
<br />
* remplacer un Wiko problématique (USB usé, écran cassé, mauvaise réception GSM)<br />
<br />
* ne plus être pollué par des logiciels imposés (ex : 360Security)<br />
<br />
* téléphoner, envoyer et recevoir des SMS/MMS, photographier<br />
<br />
=== La démarche ===<br />
<br />
- me documenter => infos sur les OS et leurs limitations<br />
<br />
- choisir l'OS => Replicant, en une démarche Libre (quitte à diluer le breuvage par la suite), et parce qu'il semble moins encombré d'applis que les autres<br />
<br />
- me procurer un téléphone compatible => achat d'un Samsung S2 d'occasion + récupération d'un Note II<br />
<br />
- installer Replicant<br />
<br />
== L'installation ==<br />
<br />
Il m'a fallu comprendre les étapes impliquées :<br />
<br />
# sauvegarder mes données sur l'ancien téléphone<br />
<br />
# télécharger un outil d'installation : Recovery, TWRT<br />
<br />
# télécharger un OS : Replicant, LineAgeOS<br />
<br />
# installer les outils de déboggage Android : ADB sur Linux<br />
<br />
# installer l'outil de recovery sur le téléphone : mode Download<br />
<br />
# démarrer en mode recovery<br />
## nettoyer l'espace disque<br />
## installer l'OS : télécharger via ADB<br />
## redémarrer<br />
<br />
=== Commandes ADB ===<br />
<br />
L'Android DeBugger est l'outil central dans votre démarche de gestion de l'OS sur vos smartphones. Il s'agit d'un serveur tournant sur votre PC, qui échange avec le mobile via son branchement USB.<br />
<br />
=== Quelques commandes basiques ===<br />
<br />
<code>heimdall flash --RECOVERY <recovery_filename>.img --no-reboot</code> : la commande pour installer l'application de recovery que vous avez choisie (Recovery ou TRWP)<br />
<br />
<code>adb shell</code> : un équivalent de ssh, soit une console sur votre mobile depuis votre PC<br />
<br />
<code>adb sideload filename.zip</code> : la commande pour téléverser le nouvel OS sur votre mobile (qui est sur Recovery, avec Apply from ADB)<br />
<br />
<code>adb reboot</code> : pour redémarrer votre mobile depuis votre PC<br />
== Quelques OS ==<br />
=== Replicant ===<br />
<br />
Site : https://replicant.us/supported-devices.php<br />
<br />
Remarques :<br />
<br />
* puriste : il ne contient que du Libre => pas de support du WiFi, du GPS, du Bluetooth (mais une application pour gérer ces périphériques en USB)<br />
<br />
* deux développeurs => peu de modèles supportés (essentiellement Samsung Galaxy)<br />
<br />
* léger : moins de 300 Mo<br />
<br />
* des petits manques : pas de voyant pour les SMS reçus, carte SD gérée de façon bizarre,...<br />
<br />
=== LineageOS ===<br />
<br />
Site : https://wiki.lineageos.org/devices/<br />
<br />
Remarques :<br />
<br />
* La principale distribution de référence, sur laquelle s'appuient nombre d'autres OS (/e/, Maru,...)<br />
<br />
* celle qui supporte le plus de modèles (ou tente de le faire : le Zip pour mon n7100a échoué à s'installer)<br />
<br />
* mais la version officielle, la plus récente et la seule sur leur site, gère peu des plus anciens modèles<br />
<br />
* on peut trouver des images faites par d'autres pour de nombreux modèles : recherchez UNOFFICIAL-xxxxx.zip, avec xxxxx l'identifiant de votre modèle et vous trouverez peut-être votre bonheur...<br />
<br />
* des applications incluses qui sont "discutées"<br />
<br />
* je n'ai pas pu l'essayer<br />
<br />
=== /e/ ===<br />
<br />
Site : https://doc.e.foundation/devices/<br />
<br />
Remarques :<br />
<br />
* une démarche volontariste et des moyens supérieurs aux autres (marketing notamment)<br />
<br />
* un cloud spécifique, auquel s'inscrire => me fait penser à KroSoft<br />
<br />
* pas testée<br />
<br />
=== Mer project ===<br />
<br />
Site : https://wiki.merproject.org/wiki/Adaptations/libhybris<br />
<br />
Remarques :<br />
* des indications très détaillées sur le support des différents périphériques : ça manque aux autres<br />
* pas vraiment un OS<br />
* a priori, Sailfish serait basé dessus ...<br />
<br />
=== Sailfish ===<br />
<br />
Site : https://sailfishos.org/wiki/Devices<br />
<br />
Remarques :<br />
<br />
* limité aux Sony Xperia ...<br />
<br />
* possibilité de hacker l'OS et mettre une Gentoo par dessus (au moins une personne l'a fait)<br />
<br />
* pas testée<br />
<br />
=== Maru(OS) ===<br />
<br />
Site : https://maruos.com/docs/devices/<br />
<br />
Remarques :<br />
<br />
* vise à fournir un véritable PC dans le téléphone (ce à quoi j'aspire)<br />
<br />
* ne supporte que quelques modèles Nexus (s'appuie sur ASOP, la version open source de Google)<br />
<br />
* indiquait en 2019 vouloir s'appuyer sur LineageOS, afin de supporter tous les téléphones</div>Guest