由于之前的EMMC(8Gflash,1G内存)的读写速度不给力,直接换了一个版本(16Gflash,2G内存),系统跑的好好的,但查看内置存储卡的容量只有5G(存储卡挂载在userdata分区),明明是16G的flash啊。
在一个同事的指导下,查看分区情况
adb shell cat /proc/partitions
179 0 15388672 mmcblk0
179 1 65536 mmcblk0p1
179 2 512 mmcblk0p2
179 3 512 mmcblk0p3
179 4 1024 mmcblk0p4
179 5 1024 mmcblk0p5
179 6 512 mmcblk0p6
179 7 512 mmcblk0p7
179 8 768 mmcblk0p8
179 9 768 mmcblk0p9
179 10 1024 mmcblk0p10
179 11 1536 mmcblk0p11
179 12 1536 mmcblk0p12
179 13 1024 mmcblk0p13
179 14 1 mmcblk0p14
179 15 8 mmcblk0p15
179 16 10240 mmcblk0p16
179 17 32 mmcblk0p17
179 18 1536 mmcblk0p18
179 19 16 mmcblk0p19
179 20 32768 mmcblk0p20
179 21 1258292 mmcblk0p21
179 22 32768 mmcblk0p22
179 23 262144 mmcblk0p23
179 24 32768 mmcblk0p24
179 25 1024 mmcblk0p25
179 26 512 mmcblk0p26
179 27 65536 mmcblk0p27
179 28 512 mmcblk0p28
179 29 32768 mmcblk0p29
179 30 1024 mmcblk0p30
179 31 10240 mmcblk0p31
259 0 204800 mmcblk0p32
259 1 307200 mmcblk0p33
259 2 12931055 mmcblk0p34
179 32 4096 mmcblk0rpmb
找来一台没换EMMC的机器来对比
179 0 7634944 mmcblk0
179 1 65536 mmcblk0p1
179 2 512 mmcblk0p2
179 3 512 mmcblk0p3
179 4 1024 mmcblk0p4
179 5 1024 mmcblk0p5
179 6 512 mmcblk0p6
179 7 512 mmcblk0p7
179 8 768 mmcblk0p8
179 9 768 mmcblk0p9
179 10 1024 mmcblk0p10
179 11 1536 mmcblk0p11
179 12 1536 mmcblk0p12
179 13 1024 mmcblk0p13
179 14 1 mmcblk0p14
179 15 8 mmcblk0p15
179 16 10240 mmcblk0p16
179 17 32 mmcblk0p17
179 18 1536 mmcblk0p18
179 19 16 mmcblk0p19
179 20 32768 mmcblk0p20
179 21 1258292 mmcblk0p21
179 22 32768 mmcblk0p22
179 23 262144 mmcblk0p23
179 24 32768 mmcblk0p24
179 25 1024 mmcblk0p25
179 26 512 mmcblk0p26
179 27 65536 mmcblk0p27
179 28 512 mmcblk0p28
179 29 32768 mmcblk0p29
179 30 1024 mmcblk0p30
179 31 10240 mmcblk0p31
259 0 204800 mmcblk0p32
259 1 307200 mmcblk0p33
259 2 5177327 mmcblk0p34
179 32 512 mmcblk0rpmb
mmcblk0即emmc的容量(单位kb),看来容量大小是正确读取到了,但mmcblk0p34(userdata)分区的大小不对。
找到device目录下的BoardConfig.mk文件,将BOARD_USERDATAIMAGE_PARTITION_SIZE的大小修改一下为(12931055*1024=13241400320)B,
BOARD_USERDATAIMAGE_PARTITION_SIZE := 13241400320
重新编译一下,烧写userdata分区(fastboot flash userdata userdata.img)
系统起来后,内置存储卡的容量正确识别到了。之前不知怎么修改这个容量,将这个数值改大了,导致挂载不了userdata分区(adb shell df查看),系统起不来的情况。
当然,换了一块性能更好的EMMC后,安兔兔跑分一下子提高了1500分。