TWRP Recovery - Explications sur son fonctionnement et sur celui des appareils Android 3.0+

  • Auteur de la discussion nico598862
  • Date de début
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
12 922
Points
0
  • #1
C'est quoi un appareil "data media" ? (/data/media)

Voilà une synthèse pour mieux comprendre comment les "nouveaux" appareils Android fonctionnent.
Depuis Honeycomb 3.0 avec le Xoom, Google a changé le maniement du stockage. Au lieu d'avoir une partition "DATA" avec vos applications et une autre partition "SDCARD" pour stocker, Google a opté pour mettre en place une seule partition, une importante et unique partition de données.

Puisque le répertoire /data/media fait parti de /data, il n'a jamais été question de formater la partition data. Le fait de formater la partition data supprime évidemment le dossier media qui contient votre sdcard interne.
Quand vous faites un Factory reset, au lieu de formater, on utilise des commandes rm -rf qui supprime tous les dossiers sauf le dossier media pour qu'on puisse supprimer toutes les applications et leurs paramètres tout en laissant notre "sdcard" intacte.
Dans le recovery TWRP, on a aussi une option qui s'appelle "wipe internal storage" qui supprime le dossier media et une option "format data" qui formate pour recréer complètement les fichiers système. Ceci est utilisé lorsque quelque chose ne tourne vraiment pas rond ou pour supprimer l'encodage d'un appareil.

Quand vous démarrez sous Android, Android fusionne le dossier media à /sdcard et emule des fichiers système FAT qui n'ont pas les permissions pour les applications existantes. On n'a actuellement pas de fusion possible dans le recovery donc une commande extra de montage a été ajoutée pour monter le /data/media vers le /sdcard donc dans le recovery, vous devez toujours vous inquiéter des permissions sur /sdcard.

Parce-que la "sdcard interne" n'est pas un vrai système de fichiers FAT, vous ne pouvez pas le monter via un stockage USB. Enfin, ce n'est pas techniquement vrai, mais la vaste majorité des gens utilise des PC Windows et Windows ne reconnaît pas le EXT4.
Si vous monteriez la partition data via le stockage USB, Windows vous alertera en disant que l'appareil n'a pas été formatté et vous proposera donc de le faire, ce qui serait donc un désastre... L'organisation entière du EXT4 est une autre raison pour laquelle Android utilise le MTP pour le transfert de fichiers. La plupart des appareils n'ont pas une configuration de kernel suffisante pour même supporer le mode de stockage USB, donc ce n'est pas si facile d'activer le stockage USB. Malheureusement, le MTP n'est pas disponible pour le moment dans le recovery, alors si vous n'avez pas d'autres options, vous devrez utiliser ADB pour placer des fichiers sur/depuis votre appareil.

Si vous choisissez de faire un Factory reset depuis votre ROM, même si la ROM dit que ça va tout effacer dont la mémoire interne, et bien ce n'est pas ce que me TWRP fera. Un recovery AOSP Stock devrait formater la data y compris le "sdcard" mais le TWRP utilisera son fonctionnement propre au factory reset pour ne pas impacter le stockage interne.

Il y a 2 avantages à utilisation cette organisation plutôt que les anciennes data + la partition de stockage FAT. Avec /data/media, vous, l'utilisateur, avez plus de contrôle sur l'utilisation de votre stockage. Si vous avez des tas d'applaications, alors aucun problème car vous avez une groose partition data à disposition. Si vous n'avez pas beaucoup d'applications, vous avez toujours de la place pour stocker des gros fichiers comme des films. EXT4 n'est pas limité aux fameux 4Go (taille max par fichier) contrairement au FAT.
Il est probable que l'une des autres raisons qui a poussé à avoir Android sans FAT, c'est que c'est une création Microsoft. La performance sur EXT4 sous Android est sans doute également meilleure. En revanche, les appareils de "data media" tendent à stocker beaucoup de données d'applications dans la partie "data" donc du coup, la taille des backups est significative.

Android 4.2 a changé certaiens choses avec les appareils /data/media via le support multi-utilisateur. Chaque utilisateur est assigné dans un sous-dossier dans /data/media. L'utilisateur principal aura donc /data/media/0 et les utilisateurs secondaires auront /data/media/10 et /data/media/11 etc... Si vous intervertissez les utilisateurs dans Android 4.2, le système remontera le dossier /sdcard avec le dossier dédié au nouvel utilisateur. TWRP a été mis à jour pour utiliser le dossier /data/media/0 depuis la version 2.3.2.0.

Une autre fonctionnalité d'Android 4.2 est que quand vous passez sous 4.2 (mise à jour), cela peut mettr eà jour votre /data/media en mode multi-utilisateur. Si vous avez une ancienne version à 2.3.2.0, un factory reset peut provoquer de multiple mises à jour, déplaçant votre "sdcard" vers /data/media/0 puis /data/media/0/0 et encore /Data/media/0/0/0, etc... (selon le nombre de mises à jour). Cela peut provoquer des problèmes de restauration de backups car ils deviennent invisibles par le TWRP Recovery. De plus, ce n'est pas une bonne chose de revenir sur une ROM 4.1 après avoir mis une ROM 4.2 sans avoir déplacer manuellement vos fichiers.


Source :
 
Lyon-St-Clair

Lyon-St-Clair

Membres VIP
Inscrit
20 Janvier 2012
Messages
2 393
Points
36
  • #2
Salut,

Merci pour ces explications, je comprend mieux le "0" dans la racine des dossiers sur mon Nexus 4 ! ;)
 
N

nico598862

Membre
Inscrit
16 Novembre 2012
Messages
12 922
Points
0
  • #3
Oui, je l'ai rencontré ce cas aussi ;)
 
rodney864

rodney864

Membre
Inscrit
16 Août 2012
Messages
24
Points
1
  • #4
Bonjour,

j'ai un soucis de mémoire interne depuis le flash d'une rom stock origine Android pour Nexus 4, la mémoire du Nexus 4 est passé de 16go à 8go, j'ai essayé avec Twrp le wipe data / cache et factory reset, pareil avec le cmd windows, mais en vain, y a t'il une manipulation avec Twrp qui existe afin de récupérer la mémoire d'origine ? Merci d'avance.
 
Haut Bas