0 votes

Formatage de la mémoire interne MTD : sélection de la taille des blocs ?

J'ai enraciné la tablette china N101-II avec CyanogenMod après flashage d'une ROM personnalisée .

Le stockage interne de MTD est de 32 GiB et le flashage de ROM personnalisée fait une disposition différente du partitionnement interne. Ainsi, /data près de 12 GiB au lieu de 1 GiB à l'origine (il n'est donc plus nécessaire de déplacer les paquets vers un flash externe !!):

130|root@android:/system # df
Filesystem               Size     Used     Free   Blksize
/system                595.4M   549.8M    45.6M   1024
/data                   11.8G   449.8M    11.4G   4096
/cache                 126M     4.1M   121.9M   4096

Espace de repos à gauche pour /mnt/sdcard :

root@android:/ # cat /system/etc/vold.fstab
dev_mount flash /mnt/sdcard auto /devices/virtual/mtd/mtd9/mtdblock9 nonremovable

mais le processus de flashage de ROM personnalisé est resté mtdblock9 non formaté.

Sous PATH les commandes disponibles : mkfs.ext2 y tune2fs pour que je puisse me formater.

mkfs.ext2 soutien :

130|root@android:/system # mkfs.ext2 --help
mkfs.ext2 --help
BusyBox v1.21.1-jb bionic (2013-07-01 01:04 +0200) multi-call binary.

Usage: mkfs.ext2 [-Fn] [-b BLK_SIZE] [-i INODE_RATIO] [-I INODE_SIZE] [-m RESERVED_PERCENT] [-L LABEL] BLOCKDEV [KBYTES]

        -b BLK_SIZE Block size, bytes

Selon :

root@android:/ # cat /proc/mtd 
cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00400000 00004000 "misc"
mtd1: 00800000 00004000 "kernel"
mtd2: 01000000 00004000 "boot"
mtd3: 01000000 00004000 "recovery"
mtd4: 18000000 00004000 "backup"
mtd5: 08000000 00004000 "cache"
mtd6: 300000000 00004000 "userdata"
mtd7: 00400000 00004000 "kpanic"
mtd8: 28000000 00004000 "system"
mtd9: 46fa00000 00004000 "user"

Il semble que je doive sélectionner la taille de bloc 16384 (16KiB). Ai-je raison ?

アップデイト Il semble que mkfs.ext2 de busybox et ne fonctionne pas correctement :

android# mkfs.ext2 /dev/block/mtdblock9
mkfs.ext2: lseek: Value too large for defined data type

Mais j'ai trouvé mke2fs :

android# mke2fs -I 16384 /dev/block/mtdblock9
mke2fs 1.41.14 (22-Dec-2010)
mke2fs: invalid inode size 16384 (min 128/max 4096)

Afin de réduire la fragmentation, j'essaie de sélectionner une taille de bloc plus grande (ce qui fait moins d'opérations d'effacement sur la flash j'espère) :

android# mke2fs -I 4096 /dev/block/mtdblock9
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1162128 inodes, 4651520 blocks
232576 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
142 block groups
32768 blocks per group, 32768 fragments per group
8184 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000

0voto

gavenkoa Points 293

Je sélectionne la plus grande taille de bloc possible pour mke2fs pour éviter le fractionnement des blocs car l'opération d'effacement sur cette mémoire MTD est effectuée par des tranches de 16 KiB :

android# /sbin/mke2fs -t ext4 -I 4096 -O ^huge_file -m 0 /dev/block/mtdblock9
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1162128 inodes, 4651520 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
142 block groups
32768 blocks per group, 32768 fragments per group
8184 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

alors :

android# tune2fs -c 0 -i 0 /dev/block/mtdblock9
tune2fs -c 0 -i 0 /dev/block/mtdblock9
tune2fs 1.41.14 (22-Dec-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds

NOTE Il n'est pas nécessaire de formater /data y /cache les partitions. Cela peut être fait automatiquement dans wipe data du menu de récupération.

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