Le contexte :
J'ai effacé toutes les partitions de mon appareil Moto G avec la récupération TWRP et installé Cyanogen 13 dessus. Ensuite, j'ai eu des problèmes lors de l'activation du cryptage : le téléphone redémarre simplement mais ne crypte pas. C'est un problème connu et est décrit ici .
Je voulais suivre une procédure décrite dans cette réponse (sur la base de ce ), qui semble fonctionner. L'explication est la suivante :
Lors du cryptage du téléphone, la partition /dev/block/mmcblk0pXX - contenant à l'origine un système de fichiers ext4 monté en tant que /data et /sdcard - contient maintenant un conteneur de chiffrement. Celui-ci sera décrypté au début du processus de démarrage et retourne une partition logique /dev/block/dm-0 qui contient alors le système de fichiers ext4 pour /data et /sdcard. (...)
Pour corriger cela, le système de fichiers dans /dev/block/mmcblk0pXX doit être à au moins 16KiB plus petit que la partition elle-même, ce qui peut facilement être facilement par resize2fs.
En résumé, la solution proposée consiste à redimensionner l'image de l'entreprise. /data
partition, en enlevant quelques secteurs...
L'important est le nombre de blocs (...) De ce nombre, nous soustrayons 8, ce qui laisse non pas 16KiB mais un espace sûr de 32 KiB pour l'en-tête de cryptage (16KiB ne vous dérange pas sur un volume de 12GB, sérieusement)
Le nombre réel de blocs à retirer de la base de données. /data
dépend de la taille du secteur pour la partition. Dans l'exemple ci-dessus c'est 4KB, donc 8x4 =32 .
Le problème
Ces instructions ne s'appliquent qu'au ext2/3/4 les systèmes de fichiers ; les commandes nécessaires ( e2fsck, tune2fs, resize2fs ) ne fonctionnera pas avec le Partition F2FS utilisé par Cyanogen v13.
J'ai trouvé fsck.f2fs
dans le /sbin que j'ai utilisé à la place de e2fsck y tune2fs . Voici les étapes à partir du shell ADB Root, démarré sur TWRP :
~ # mount | grep data
/dev/block/platform/msm_sdcc.1/by-name/modem on /firmware type ext4 (rw,seclabel,relatime,data=ordered)
/dev/block/mmcblk0p36 on /data type f2fs (rw,seclabel,relatime,background_gc=on,user_xattr,inline_xattr,acl,inline_data,active_logs=6)
/dev/block/mmcblk0p36 on /sdcard type f2fs (rw,seclabel,relatime,background_gc=on,user_xattr,inline_xattr,acl,inline_data,active_logs=6)
/dev/block/mmcblk0p33 on /cache type ext4 (rw,seclabel,relatime,data=ordered)
~ # umount /dev/block/mmcblk0p36
~ # fsck.f2fs -f /dev/block/mmcblk0p36
Info: Force to fix corruption
Info: sector size = 512
Info: total sectors = 11583232 (in 512 bytes)
(...)
Donc, mon /data
la partition est mmcblk0p36
et sa taille est de 11 583 232 secteurs. Chaque secteur fait 512 octets, je dois donc réduire la partition à une taille finale de 11 583 168 afin de laisser 32KB non alloués.
Mais comment faire ? Tout semble indiquer que le rétrécissement d'une partition F2FS n'est pas possible, mais je n'en suis pas sûr. Si ce n'est pas le cas, et en supposant que j'ai fait une sauvegarde complète de la partition F2FS, j'aimerais savoir si je peux la rétrécir. /data
partition, quelles sont les étapes pour le supprimer et le recréer avec une taille plus petite ?