Puis-je utiliser ext4 sur ma carte SD dans un téléphone non rooté?

18

Je sais que sur un téléphone rooté, il est raisonnablement normal de créer une petite partition ext4 pour App2SD à utiliser, mais je ne pose pas de question à ce sujet: j'ai un HTC Desire non rooté exécutant Froyo, et je voudrais formater l'ensemble de ma carte SD en ext4 au lieu de FAT. Je suis conscient que cela signifie que les PC Windows ne pourront pas utiliser la carte, mais tous mes PC fonctionnent sous Linux, donc ça devrait aller. Le téléphone pourra-t-il accéder et utiliser la carte dans ce cas?

Andrew Aylett
la source
Je ne pense pas que vous puissiez. d'autant plus que froyo utilise FAT pour sa mise en œuvre apps2sd.
Ryan Conrad
Je pense que vous devrez changer les options de montage de la carte SD, ce qui nécessiterait un root.
Matthew Read

Réponses:

4

ext4 devrait être pris en charge si vous avez une mise à niveau vers 2.3 ou 3.0 Android (je vois que votre message est juste avant les versions 2.3 et 3.0 ...).

... et quand btrFS est ajouté à Android, il a une belle option de montage ", ssd" avec un niveau d'usure etc. que ext4 n'a pas ... et plus de vitesse que ext4 maintenant, surtout si vous utilisez ", compresser = lzo "OR", space_cache "dans fstab (mais n'utilisez pas la compression AVEC l'option space_cache, utilisez uniquement 1 ou l'autre ou bien il ralentit à une analyse dans certains cas-tests) - et cette vitesse vient malgré la somme de contrôle btrFS de tous données (pas seulement des revues, comme ext4). :-)

Goldfanger
la source
3
Juste une mise à jour de 2017: je pense que cela n'est vraiment valable que si vous avez un appareil enraciné, malheureusement.
Jesse Adelman
5

En fait, j'avais ma carte SD sur ext4 et je l'ai montée en permanence au démarrage (j'ai root sur mon téléphone).

Le plus gros problème était que les applications ne s'attendent pas à vérifier les autorisations sur / sdcard, mais extX l'impose (pas d'option de montage autour de cela). Donc, si une application stocke par exemple de l'audio et appelle un autre sous-composant pour le lire, elle échoue.

Il en va de même pour les photos (l'appareil photo les prend, certains prévisualiseurs peuvent vouloir y accéder).

Vous pouvez corriger cela manuellement, mais vous devez exécuter après chaque nouveau fichier créé ... Il y aurait une belle solution réelle à cela, mais cela nécessite une modification du système: laissez les applications s'exécuter avec umask (002) au lieu de 022. Android est UPG (User Private Groups), il n'y a donc pas grand mal à le faire. - Maintenant, les applications peuvent choisir si elles veulent exposer des fichiers à d'autres en définissant le groupe sur "sdcard", ou non. Cela ajouterait également à une séparation forcée là où les applications le souhaitent.

Robert Siemer
la source
Obtenez des autorisations fixes à l'aide de FUSE ou sdcardfs: android.stackexchange.com/a/217936/218526 . Mais cette réponse n'est pas pour les téléphones non rootés.
Irfan Latif
3

Il semble que la réponse soit "non" :(. Je demandais parce que j'ai une nouvelle carte pour aller dans le téléphone, alors j'ai pensé que je l'essayerais - cela n'a pas fonctionné. Quand je demande au téléphone de monter sa carte, il va directement à dire "carte SD sans danger pour retirer."

Tant pis.

Andrew Aylett
la source
S'il vous plaît, appuyez votre réponse d'une manière ou d'une autre.
Léo Léopold Hertz
forum.xda-developers.com/showthread.php?t=2424900 explique que vold est quelque chose d'un obstacle
JasonPlutext
@JasonPlutext maintenant, il y a un vold patché disponible.
Irfan Latif
1

Réponse courte: non .

Bien que sur Android 5 cat /proc/filesystems, cela ext4soit pris en charge, il semble que ce soit le cas FAT32et exFAT (FAT64)sont pris en charge sur les appareils non rootés. J'ai essayé de monter une carte micro SD de 64 Go en exFAT sans succès.

L' utilisation que fdiskvous pouvez formater votre carte en FAT32 (fichiers plus de 4 Go ne sont pas pris en charge):

$ fdisk -H 224 -S 56 /dev/mmcblk0

  • d supprimer la partition précédente
  • nnouvelle partition, puis sélectionnez celle principale pet le secteur par défaut, par exemple pour2048
  • tréglé cpour FAT32
  • (ici, vous pouvez enregistrer quelques secteurs en passant en mode expert xet en déplaçant le début de la partition b)
  • w écrire les changements

Puis formatez en FAT32, en utilisant votre nombre de secteurs réservés ( 2048)

$ mkfs.vfat -F 32 -s 32 -R 2048 -v /dev/mmcblk0p1

  • -F 32 pour FAT32
  • -s 32 taille de cluster exprimée en secteurs, donc 32 x 512 octets = 16 Ko de clusters
  • -R 2048 nombre de secteurs réservés

De cette façon, la carte 64 Go peut être montée en utilisant FAT32, je n'ai pas réussi à trouver un formatage de travail pour exFAT ou ext4.

Tombart
la source
S'il vous plaît, appuyez votre réponse d'une manière ou d'une autre.
Léo Léopold Hertz 준영
@Masi pourriez-vous être plus précis? J'ai essayé de formater la carte SD en ext2, ext3, ext4, fat32 et exfat. Testé sur Android 5.0 et seul fat32 fonctionnait. Android a des options très limitées de connexion sur des appareils non rootés. Que voudriez-vous que je fasse?
Tombart
Je viens de faire une installation complète du système d'une nouvelle Rom sur ext4. Le téléphone a utilisé le mode de récupération (TWRP 2.8.x). Pas de système d'exploitation du tout dans le téléphone. Votre image de récupération doit prendre en charge ext4. Faites-le nous savoir et essayez de le mettre à jour. Je recommande TWRP 3.0.2.
Léo Léopold Hertz 준영
1
@Masi La question concerne Android non rooté par défaut. Je suppose que vous utilisez un système d'exploitation enraciné.
Tombart
1
@Masi bien, pourriez-vous alors soutenir cette affirmation avec quelque chose de plus spécifique?
Tombart
1

J'ai essayé LineageOS 14.1 (Android 7.1.2), il prend en charge la carte SD (carte TF) formatée en ext4. Bien qu'il formate sdcard en vfat par défaut, si vous ne faites aucun patch. Le moyen le plus simple est de formater la carte SD avec ext4 à l'aide d'un adaptateur USB-SDcard externe, puis d'insérer la carte SD dans le téléphone avec LineageOS installé.

neoedmund
la source
Cela est dû à Vold patché . Ne fonctionne pas sur les ROM d'origine.
Irfan Latif