He rooteado la tableta china N101-II con CyanogenMod después de flashear la ROM personalizada .
El almacenamiento MTD interno tiene un tamaño de 32 GiB y la actualización de ROM personalizada crea un diseño diferente al particionamiento interno. Por lo tanto, /data
cerca de 12 GiB en lugar de 1 GiB original (¡por lo que ya no es necesario mover paquetes a un flash externo!):
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 dejado 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 ROM personalizado no se mtdblock9
formateó.
Bajo PATH
los comandos disponibles: mkfs.ext2
y tune2fs
así me puedo formatear.
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
De acuerdo a:
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 necesito seleccionar el tamaño del bloque como 16384 (16KiB). ¿Tengo razón?
ACTUALIZAR 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, trato de seleccionar un tamaño de bloque más grande (lo que hace que la operación de borrado sea menor en el flash, 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
Selecciono el tamaño de bloque más grande posible para mke2fs
evitar el fraccionamiento de bloques como operación de borrado en esa memoria MTD realizada por 16 KiB chanks:
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 hay necesidad de formatear /data
y /cache
particionar. Eso se puede hacer automáticamente en wipe data
el menú de recuperación.