3 votes

Monter la partition sdcard comme /data

Je voulais initialement commenter aquí pour poser une question de clarification. Mais comme je n'ai pas assez de réputation et qu'il semble qu'il n'y ait pas de messagerie privée possible, j'ai ouvert cette nouvelle question.

L'appareil est un Moto G2 avec 8GB de stockage. Je l'ai configuré sous cm13 pour utiliser une sdcard de 64GB comme stockage adoptable. Après quelques semaines, ma sœur a appelé, l'appareil déconnecte la carte SD très souvent et veut qu'elle soit réinsérée.

Dans l'espoir que ce ne soit que la carte SD qui lâche, j'en ai commandé une nouvelle et j'ai copié tout le disque avec la carte SD. dd if=/dev/oldCard of=/dev/newCard . Il faut attendre pour savoir si le problème a disparu ou non. Mais j'ai pensé, si l'option de stockage adoptable d'Android n'est pas si brillante et donc j'ai cherché sur Google si je pouvais monter une partition ext4(/ou f2fs) sur la carte SD sous /data.

La réponse que j'ai trouvée ici sur Android Enthusiasts, semble intéressante, mais je ne peux pas croire que cela fonctionne de cette façon, d'après ce que je comprends... Donc, dans la réponse liée, il est dit :

C'est le moyen d'avoir /data sur le répertoire de la carte SD :

  1. Copier tout /data dans le répertoire de la carte SD : /mnt/sdcard/data
  2. Supprimer /data
  3. Créez un lien symbolique qui pointe vers le SD : ln -s /mnt/sdcard/data /data

Donc, mon problème/confusion avec ceci sont les points suivants :

  1. Si je crée un lien symbolique dans le répertoire racine vers autre chose, ce lien disparaît au redémarrage. Alors comment suis-je censé faire le lien de /data à un autre endroit persistant ?
  2. Si je fais /data pointer vers /sdcard/data la commande mount ne monterait-elle pas maintenant la partition dans laquelle les données sont réellement stockées sous le nom de /sdcard/data ? Les données seraient donc toujours placées dans la mémoire interne, mais le point où elles sont montées dans le système est différent/mauvais, n'est-ce pas ?

Mon but serait d'avoir une carte SD formatée avec ext4/f2fs et de la monter en tant que /data comme mount /dev/block/mmcblk1p1 /data au lieu de la partition de données interne. Mais puis-je faire cela SANS modifier le fstab du noyau pour chaque mise à jour que je veux faire manuellement ?

L

0voto

J'ai fait exactement la même chose par le passé avec un Samsung Galaxy Y DuOS S6102 en remplaçant toutes les lignes de montage concernant la partition de données dans le fichier init scripts et fstab fichier.

Je n'ai pas pu trouver de meilleures solutions (à l'épreuve du temps) pour ce problème, car si vous regardez le processus de démarrage d'un appareil Android générique dans Wikipedia, vous remarquerez que le noyau exécute les scripts init qui créent l'arborescence des répertoires et montent certains éléments qui posent les bases du démarrage des runtimes Dalvik/ART.

En apportant quelques modifications à ces scripts et en partitionnant la carte SD de 8 Go en 1 Go et 5,6 Go, j'ai réussi à la faire fonctionner.

Note : L'appareil que j'ai utilisé fonctionne sur une technologie ancienne avec peu de sécurité. caractéristiques par rapport aux techniques modernes. Il convient donc d'être prudent avant d'effectuer des changements.

0voto

Sruly Points 918

Cela devrait fonctionner puisque le lien symbolique considère le dossier /data comme un dossier mais fonctionne en fait sur le dossier auquel le lien symbolique fait référence.

A propos de votre problème de disparition après un redémarrage. Vous pouvez exécuter un script au démarrage qui crée le lien symbolique. (Ou vous pouvez probablement monter vos données directement sur /data sans avoir à utiliser un lien symbolique).

J'ai fait quelque chose de similaire pour rendre mon Termux système de fichiers fonctionne à partir d'une carte SD. Jetez un coup d'œil à cette réponse .

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X