Ich habe das China N101-II Tablet mit CyanogenMod gerootet, nachdem ich das benutzerdefinierte ROM geflasht habe .
Der interne MTD-Speicher ist 32 GiB groß und das benutzerdefinierte ROM-Flashen unterscheidet sich vom Layout der internen Partitionierung. Also /data
fast 12 GiB statt ursprünglich 1 GiB (damit Pakete nicht mehr auf externes Flash verschoben werden müssen!!):
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
Restplatz übrig bis /mnt/sdcard
:
root@android:/ # cat /system/etc/vold.fstab
dev_mount flash /mnt/sdcard auto /devices/virtual/mtd/mtd9/mtdblock9 nonremovable
aber der benutzerdefinierte ROM-Flash-Prozess blieb mtdblock9
unformatiert.
Unter PATH
verfügbare Befehle: mkfs.ext2
und tune2fs
so kann ich mich formatieren.
mkfs.ext2
Unterstützung:
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
Entsprechend:
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"
scheint, dass ich die Blockgröße als 16384 (16KiB) auswählen muss. Habe ich recht?
UPDATE Scheint das mkfs.ext2
von busybox zu sein und funktioniert nicht richtig:
android# mkfs.ext2 /dev/block/mtdblock9
mkfs.ext2: lseek: Value too large for defined data type
Aber ich fand mke2fs
:
android# mke2fs -I 16384 /dev/block/mtdblock9
mke2fs 1.41.14 (22-Dec-2010)
mke2fs: invalid inode size 16384 (min 128/max 4096)
Um die Fragmentierung zu reduzieren, versuche ich, eine größere Blockgröße zu wählen (was hoffentlich zu weniger Löschvorgängen auf Flash führt):
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
Ich wähle die größtmögliche Blockgröße, um mke2fs
eine Blockfraktionierung als Löschvorgang auf diesem MTD-Speicher zu vermeiden, der von 16 KiB-Chanks ausgeführt wird:
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.
Dann:
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
HINWEIS Formatieren /data
und /cache
Partitionieren ist nicht erforderlich. wipe data
Dies kann automatisch im Wiederherstellungsmenü erfolgen .