0 votos

Formateo del almacenamiento interno de la MTD: ¿selección del tamaño del bloque?

He rooteado la tablet china N101-II con CyanogenMod después de flasheo de ROMs personalizadas .

El almacenamiento interno de la MTD es de 32 GiB y el flasheo de la ROM personalizada tiene una disposición diferente a la de la partición interna. Así, /data cerca de 12 GiB en lugar de 1 GiB original (¡así que ya no es necesario mover los paquetes a la flash externa!):

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

Espacio de descanso que queda para /mnt/sdcard :

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

pero el proceso de flasheo de la ROM personalizada quedó mtdblock9 sin formato.

En PATH comandos disponibles: mkfs.ext2 y tune2fs para poder formatearme.

mkfs.ext2 apoyo:

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

Según:

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"

parece que tengo que seleccionar el tamaño del bloque como 16384 (16KiB). ¿Estoy en lo cierto?

ACTUALIZACIÓN Parece que mkfs.ext2 de busybox y no funciona correctamente:

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

Pero encontré mke2fs :

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

Para reducir la fragmentación intento seleccionar un tamaño de bloque más grande (lo que hace que la cantidad de operaciones de borrado en la flash sea menor, espero):

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 Puntos 111

Selecciono el mayor tamaño de bloque posible para mke2fs para evitar el fraccionamiento de bloques ya que la operación de borrado en esa memoria MTD se realiza por chanks 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.

entonces:

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

NOTA No es necesario formatear /data y /cache particiones. Esto se puede hacer automáticamente en wipe data del menú de recuperación.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X