Comme je le sais après Android
4.4 ou autre, votre carte de stockage n'est plus eXposée directement et doit être soigneusement interfacée par le biais d'une interface spécifique. Mount
les points dont il faut être conscient à travers vold
système
Ma question est la suivante : étant donné cette situation et le fait que ext4
est très compliquée en termes d'accès et surtout avec maintenant SeLinux
assis sur le dessus il est toujours possible d'effectuer un rendu ext4
alors qu'elle n'existait pas au départ, comme cela a été le cas pour lineage
et les OS similaires précédents ce serait le cas si les points de montage étaient créés au démarrage et ensuite vold
est mis au courant de leur existence
ce que j'ai fait
puisque je suis rooted
( magisk
) J'utilise su mount master
et les a montés manuellement, mais j'essaie ensuite d'utiliser vold
a échoué parce qu'il était trop tard J'ai trouvé quelques articles sur la façon dont cela a été réalisé dans les versions précédentes d'Android jusqu'à 5.
Après la version 7.6, le monde d'Android est devenu encore plus paranoïaque en matière de sécurité et de protection des données. seLINUX
n'aurait pas pu être plus exigeant à partir de la version 7.x d'Android, j'aimerais savoir s'il existe un guide définitif sur la façon dont cela peut être fait. cela ne me dérange pas de recompiler cette fonctionnalité dans le noyau. c'est un investissement beaucoup plus gratifiant que d'essayer de chercher des ROMs personnalisées et de s'éloigner du stock juste parce que vous le souhaitez. EXT4
soutien
alors comment puis-je ajouter EXT4
support sur stock et ROMs similaires pour les versions d'Android > 7.x et de faire cela de la bonne façon où toutes les applications peuvent accéder à mes partitions. toutes mes partitions sont EXT4
ce qui est tout à fait contraire à la deuxième partition
app2sd
qui est utilisée pour économiser de l'espace. Bien sûr, je l'ai aussi mais j'ai deux autres partitions utilisées pour extSD
(partition principale de stockage de données externe) et une autre consacrée à une autre application. 3 au total EXT4
partitions . la première est la partition de données principale ,la deuxième est app2sd
et la troisième est une partition spéciale consacrée à une seule application. Si cela a de l'importance, je suis enraciné sur un appareil Samsung fonctionnant sous nougat 7.x.
Une autre chose que j'ai observée et je vais mettre à jour la question en conséquence, c'est que tout d'un coup, de nulle part, les partitions montées sous /storage sont maintenant en lecture seule, alors qu'elles ne l'étaient pas auparavant. Je peux toujours lire et écrire sur ces partitions via /mnt/media_rw. Je me demande ce qui s'est passé car beaucoup d'applications dépendent de l'accès à mes partitions via le point de montage /storage.
Pour résumer, voici donc les questions :
- Montage multi
ext4
carte externe partitionnée au démarrage, contrairement au montage manuel que je peux faire. - Montez-le de la bonne façon avec le bon ID de groupe, de sorte que
vold
sait qu'elle a été montée et que toutes les applications et processus peuvent accéder librement à la partition. - Toutes les partitions externes sous
/storage
est soudainement devenue en lecture seule (la partition de la mémoire interne est bien sûr toujours en lecture et écriture).tune2fs
confirmé que toutes les partitions sont propres. Pourquoi cela se produit-il et comment y remédier ?
Merci pour la réponse. J'ai posé cette question qui ressemblait à un récit puisque je n'avais pas de captures d'écran ou de journaux à portée de main si c'est ce que vous vouliez dire dans votre commentaire d'ouverture en réponse. Voici donc ce que j'essaie de faire mais je me heurte à toutes sortes d'erreurs.
1) Monter mmck1p2
a /data/sdext2
et je continue à obtenir l'erreur failed to mount ... mmcblk1p2
sur ..... invalid argument
& une autre ligne similaire
failed..... /dev/block/vold/public
sur .... args invalides. c'est-à-dire via app2sd
et mon magisk
a l'option globale activée la même partition est déjà montée au démarrage sous media_rw and storage
Bind mounting
caméra DCIM
et de nombreux autres dossiers dans le stockage interne échoue lorsque la cible est /storage/part#
& cela a bien fonctionné auparavant. Mes partitions sont propres selon tune2fs
rapport . Que s'est-il passé ?
Merci encore. Je réponds à vos questions ici :
1) Quels sont les systèmes de fichiers actuellement montés (sortie de mount) ?
o/p est trop grand pour entrer ici. PFA
2) Sortie de /system/bin/id ?
pour l'utilisateur normal
uid=10112(u0_a112) gid=10112(u0_a112) groups=10112(u0_a112),1015(sdcard_rw),1023(media_rw),1028(sdcard_r),3003(inet),9997(everybody),50112(all_a112) context=u:r:untrusted_app:s0:c512,c768
3) Quelle commande exactement avez-vous utilisée pour monter mmck1p2 sur /data/sdext2 ? 4) Quelle commande avez-vous utilisée pour lier le montage du dossier DCIM ?
1 mount -o,rw /dev/block/mmcblk1p1 /storage/extsd
2 lp=/sdcard/logger.txt
4 ls./mnt/media_rw
5 ls /mnt/media_rw
6 mkdir -p $_/extsd
7 mount --bind /storage/extsd $_
8 ls $_
Avec l'exécution ci-dessus à partir du terminal, je ne peux voir les fichiers qu'à partir du terminal. adb
Je me retrouve dans la même situation
. Pensée adb
serait persistant mais ce n'est pas le cas. Après cela, j'ai essayé d'invoquer vold dans l'espoir qu'il rende mon support persistant et visible, mais pas de chance là non plus.
dreameltemtr:/ # /system/bin/vold
/system/bin/vold
Aborted
134|dreameltemtr:/ # /system/bin/vold --blkid_context=u:r:blkid:s0 --blkid_untrusted_context=u:r:blkid_untrusted:s0 --fsck_context=u:r:fsck:s0 --fsck_untrusted_context=u:
r:fsck_untrusted:s0
ntext=u:r:fsck:s0 --fsck_untrusted_context=u:r:fsck_untrusted:s0 <
SELinux selinux_android_compute_policy_index : Policy Index[2], Con:u:r:magisk:s0 RAM:SEPF_SECMOBILE_7.1.1_0003, [-1 -1 -1 -1 0 1]
également à mount partition
# 2 via app2sd
il existe un mount
que l'application écrit dans /system/bin/etc or /data/app2sd
Cela dépend des options que vous choisissez. Il utilise une approche similaire, sauf que
-- J'ai utilisé son propre binaire pour la fonctionnalité de montage en liaison
-- Je vais faire des tests périodiques pour voir si certaines partitions sont montées.
-- Il exécutera ces scripts périodiquement (il a en quelque sorte patché plusieurs scripts ensemble) en espérant que l'un d'eux fonctionnera.
-- Je tente de monter via un périphérique de bloc ( / dev/block/mmcxxx
) ainsi que vold
( /dev/block/vold/nnn
)
Voici que script et vous verrez ce que je viens de dire. Encore une fois PFA puisqu'il y a un plafond pour le nombre maximum de personnages dans un message.
4) Quels sont les messages d'erreur exacts ? -
les messages exacts sont 2 lignes de app2sd
gui
boîte d'attention
- Failed to mount /dev/block/ mmcblk1p2 to /data/sdext2 invalid argument <br>
- Failed to mount /dev/block/vold/public/179:34 to /data/sdext2 invalid argument<br>
Sur la dernière partie où je ne peux pas écrire à l'externe partitions
monté en dessous /storage
Ce cas d'installation de ROM a été avorté. Elle a provoqué des boot-loops
après 10 minutes, j'ai donc restauré mon Nandroid
sauvegarde. Je ne peux donc pas trouver plus de détails.
0 votes
Vous pouvez formater la carte SD externe comme
ext4
et le monter manuellement où vous voulez.ext4
est présent dans toutes les ROM - stock ou personnalisées - depuis la première version d'Android. Quelle est exactement votre question ?0 votes
Merci de votre réponse Irfan, je peux le trouver manuellement comme je l'ai écrit.
0 votes
Merci de votre réponse Irfan Je peux le trouver manuellement comme je l'ai écrit. Il y a 3 questions, désolé si ce n'était pas clair 1 ) il faut monter au démarrage et lire écrire 2 ) les informations de montage doivent être transférées de manière à dire au processus v o l d que tous les autres processus et applications peuvent accéder à cette partition de stockage de données externe.
0 votes
3 ) Une autre chose que j'ai observée et je vais mettre à jour la question en conséquence est que tout d'un coup, les partitions montées sous /storage sont maintenant en lecture seule alors qu'elles ne l'étaient pas auparavant. Je peux toujours lire et écrire sur ces partitions via /mnt/media_rw. Je me demande ce qui s'est passé car beaucoup d'applications dépendent de l'accès à mes partitions via le point de montage /storage.
0 votes
Je suppose que votre problème n'est pas lié au système de fichiers, mais plutôt aux autorisations des applications. Android.stackexchange.com/search?q=WRITE_EXTERNAL_STORAGE
0 votes
@user1874594 1) Quels sont les systèmes de fichiers actuellement montés (sortie de la commande
mount
) ? 2) Sortie de/system/bin/id
? 3) Quelle commande avez-vous utilisée exactement pour montermmck1p2
a/data/sdext2
? 4) Quelle commande exacte avez-vous utilisée pour lier le dossier DCIM ? 5) Quels sont les messages d'erreur exacts ?0 votes
Merci encore Irfan. Il y a un script de montage que je mettrai dans la question. et aussi o/p de montage.
0 votes
J'ai ajouté plus de détails que vous avez demandé Irfan - Merci !
0 votes
@ALex merci encore. Cette ROM est
permissive
dès la sortie de la boîte0 votes
Merci à tous pour votre aide. J'ai finalement réussi à faire le montage en utilisant
0 votes
Merci à tous pour votre aide. J'ai finalement réussi à faire le montage en utilisant
fbind magisk
mais cela ne s'est pas produit tout de suite. J'ai dû ouvrir le script qui était plein de fonctions et l'une d'entre elles recherchait Mount media read write comme un point de montage./proc /partitions
. et il ne s'est jamais avéré être vrai avec un temps de 1800 s.Cette fonction a dû être modifiée pour que le résultat soit vrai lorsque ,/mnt
J'espère que le temps que j'ai investi dans tout cela sera récompensé par l'utilisation de ce même module chaque fois que je serai confronté à ce problème !