官方论坛资料
https://community.nxp.com/t5/i-MX-Processors/How-to-Flash-Android-9-on-IMX8-with-128G-eMMC/m-p/1176513
本文记录nxp的修改emmc分区大小的笔记,原本的emmc是16G的但是更换为64G的emmc后,内部的储存大小还是显示16G。
一、明确修改处(修改又用,但是有bug)
evk_8mp:/ $ df -h
vail Use% Mounted on
tmpfs 1.6G 804K 1.6G 1% /dev
tmpfs 1.6G 0 1.6G 0% /mnt
/dev/block/dm-4 953M 950M 0 100% /
/dev/block/dm-5 214M 214M 0 100% /product
/dev/block/dm-6 110M 109M 0 100% /system_ext
/dev/block/dm-7 546M 544M 0 100% /vendor
tmpfs 1.6G 0 1.6G 0% /apex
tmpfs 1.6G 252K 1.6G 1% /linkerconfig
/dev/block/dm-9 8.3G 20M 8.2G 1% /data
通过df -h 命令查看分区挂载,如果没有修改分区按照默认的13G的算法,我们的/data的大小大约为8.3g(可用空间,总空间为16G)。
首先找到对应的BoardConfig.mk
{WORKSPACE}device/nxp/imx8m/evk_8mp/BoardConfig.mk
这里面有这样一段代码,通过阅读对应的手册可以知道,不同的bpt文件可以生成不同的Img,用于emmc启动还是SD卡启动。
对应的资料请看自己的参考手册。
# Support gpt
ifeq ($(TARGET_USE_DYNAMIC_PARTITIONS),true)
BOARD_BPT_INPUT_FILES += $(CONFIG_REPO_PATH)/common/partition/device-partitions-13GB-ab_super.bpt
ADDITION_BPT_PARTITION = partition-table-28GB:$(CONFIG_REPO_PATH)/common/partition/device-partitions-28GB-ab_super.bpt \
partition-table-dual:$(CONFIG_REPO_PATH)/common/partition/device-partitions-13GB-ab-dual-bootloader_super.bpt \
partition-table-28GB-dual:$(CONFIG_REPO_PATH)/common/partition/device-partitions-28GB-ab-dual-bootloader_super.bpt
else
ifeq ($(IMX_NO_PRODUCT_PARTITION),true)
BOARD_BPT_INPUT_FILES += $(CONFIG_REPO_PATH)/common/partition/device-partitions-13GB-ab-no-product.bpt
ADDITION_BPT_PARTITION = partition-table-28GB:$(CONFIG_REPO_PATH)/common/partition/device-partitions-28GB-ab-no-product.bpt \
partition-table-dual:$(CONFIG_REPO_PATH)/common/partition/device-partitions-13GB-ab-dual-bootloader-no-product.bpt \
partition-table-28GB-dual:$(CONFIG_REPO_PATH)/common/partition/device-partitions-28GB-ab-dual-bootloader-no-product.bpt
else
BOARD_BPT_INPUT_FILES += $(CONFIG_REPO_PATH)/common/partition/device-partitions-13GB-ab.bpt
ADDITION_BPT_PARTITION = partition-table-28GB:$(CONFIG_REPO_PATH)/common/partition/device-partitions-28GB-ab.bpt \
partition-table-dual:$(CONFIG_REPO_PATH)/common/partition/device-partitions-13GB-ab-dual-bootloader.bpt \
partition-table-28GB-dual:$(CONFIG_REPO_PATH)/common/partition/device-partitions-28GB-ab-dual-bootloader.bpt
endif
endif
由于我是默认的emmc启动,选择的是13GB的bpt,在对应的目录下打开bpt文件
"settings": {
"disk_size": "13 GiB", //只有这里不一样
"disk_alignment": 2097152,
"partitions_offset_begin": 8388608
},
你要确定用的那个bpt,不确定的话可以把每个13GB都改为了56,然后编译,烧录。
修改: device-partitions-13GB-ab-no-product.bpt
修改: device-partitions-13GB-ab.bpt
修改: device-partitions-13GB-ab_super.bpt
串口的时候出现了一段部不正常的log
[ 11.213931] random: crng init done
[ 11.217345] random: 7 urandom warning(s) missed due to ratelimiting
[ 11.224639] wait_for_keymaster: Using SoftwareKeymasterDevice from Google for encryption. Security level: SOFTWARE, HAL: android.hardware.keymaster@4.1::It
[ 11.240599] wait_for_keymaster: Keymaster device ready
[ 11.248383] init: Service 'wait_for_keymaster' (pid 250) exited with status 0 waiting took 4.298000 seconds
[ 11.258208] init: Sending signal 9 to service 'wait_for_keymaster' (pid 250) process group...
[ 11.266933] libprocessgroup: Successfully killed process cgroup uid 0 pid 250 in 0ms
[ 11.276120] init: Calling: /system/bin/vdc checkpoint restoreCheckpoint /dev/block/by-name/userdata
[ 11.311001] vdc: Command: checkpoint restoreCheckpoint /dev/block/by-name/userdata Failed: Status(-8, EX_SERVICE_SPECIFIC): '22: No magic'
[ 11.325067] vdc: vdc terminated by exit(25)
[ 11.329327] vdc:
[ 11.331435] init: vdc call failed with error code: 25
[ 11.336574] init: Calling: /system/bin/vdc checkpoint needsCheckpoint
[ 11.363264] vdc: vdc terminated by exit(1)
[ 11.367402] vdc:
[ 11.370454] type=1400 audit(1644397493.516:8): avc: denied { setattr } for comm="kdevtmpfs" name="dm-8" dev="devtmpfs" ino=237 scontext=u:r:kernel:s0 tcont1
[ 11.389154] device-mapper: table: 252:8: dm_table_destroy: dm_put_device call missing for 179:11
[ 11.414903] type=1400 audit(1644397493.560:9): avc: denied { getattr } for comm="kdevtmpfs" path="/dm-8" dev="devtmpfs" ino=237 scontext=u:r:kernel:s0 tcon1
[ 11.433806] type=1400 audit(1644397493.560:10): avc: denied { unlink } for comm="kdevtmpfs" name="dm-8" dev="devtmpfs" ino=237 scontext=u:r:kernel:s0 tcont1
[ 33.501154] **************************
[ 33.504935] *** GPU DRV CONFIG ***
[ 33.508734] **************************
[ 33.512541] Galcore version 6.4.3.336687
[ 33.516512] Galcore options:
[ 33.519412] irqLine = 74
[ 33.523036] registerMemBase = 0x38000000
[ 33.527322] registerMemSize = 0x00008000
[ 33.531615] irqLine2D = 75
[ 33.535231] registerMemBase2D = 0x38008000
[ 33.539519] registerMemSize2D = 0x00008000
[ 33.543812] contiguousSize = 0x10000000
[ 33.548099] contiguousBase = 0x0
[ 33.551782] externalSize = 0x00000000
[ 33.556088] externalBase = 0x0
[ 33.559766] bankSize = 0x00000000
[ 33.564060] fastClear = -1
[ 33.567669] compression = 15
[ 33.571269] powerManagement = 1
[ 33.574772] baseAddress = 0x40000000
[ 33.579088] physSize = 0xC0000000
[ 33.583376] recovery = 0
[ 33.586890] stuckDump = 0
[ 33.590411] userClusterMask = 0x0
[ 33.594092] GPU smallBatch = 1
[ 33.597608] allMapInOne = 1
[ 33.601134] mmuException = 1
[ 33.604634] irqs =
[ 33.604637] 74,
[ 33.608062] -1,
[ 33.609916] -1,
[ 33.611792] -1,
[ 33.613642] -1,
[ 33.615491] -1,
[ 33.617353] -1,
[ 33.619203] -1,
[ 33.621059] 75,
[ 33.622940] -1,
[ 33.624783]
[ 33.628149] registerBases =
[ 33.628152] 0x38000000,
[ 33.631578] 0x00000000,
[ 33.634129] 0x00000000,
[ 33.636679] 0x00000000,
[ 33.639235] 0x00000000,
[ 33.641783] 0x00000000,
[ 33.644350] 0x00000000,
[ 33.646906] 0x00000000,
[ 33.649462] 0x38008000,
[ 33.652005] 0x00000000,
[ 33.654579]
[ 33.658626] registerSizes =
[ 33.658635] 0x00008000,
[ 33.662062] 0x00000000,
[ 33.664625] 0x00000000,
[ 33.667182] 0x00000000,
[ 33.669731] 0x00000000,
[ 33.672279] 0x00000000,
[ 33.674848] 0x00000000,
[ 33.677396] 0x00000000,
[ 33.679947] 0x00008000,
[ 33.682497] 0x00000000,
[ 33.685065]
[ 33.689121] chipIDs =
[ 33.689130] 0xFFFFFFFF,
[ 33.692542] 0xFFFFFFFF,
[ 33.695112] 0xFFFFFFFF,
[ 33.697662] 0xFFFFFFFF,
[ 33.700211] 0xFFFFFFFF,
[ 33.702761] 0xFFFFFFFF,
[ 33.705316] 0xFFFFFFFF,
[ 33.707860] 0xFFFFFFFF,
[ 33.710418] 0xFFFFFFFF,
[ 33.712961] 0xFFFFFFFF,
[ 33.715530]
[ 33.719584] core 0 internal sRAMBases =
[ 33.719586] 0xFFFFFFFFFFFFFFFF,
[ 33.723702] 0xFFFFFFFFFFFFFFFF,
[ 33.726962]
[ 33.731718] core 1 internal sRAMBases =
[ 33.731720] 0xFFFFFFFFFFFFFFFF,
[ 33.735834] 0xFFFFFFFFFFFFFFFF,
[ 33.739098]
[ 33.743850] core 2 internal sRAMBases =
[ 33.743852] 0xFFFFFFFFFFFFFFFF,
[ 33.747967] 0xFFFFFFFFFFFFFFFF,
[ 33.751232]
[ 33.755979] core 3 internal sRAMBases =
[ 33.755988] 0xFFFFFFFFFFFFFFFF,
[ 33.760102] 0xFFFFFFFFFFFFFFFF,
[ 33.763363]
[ 33.768114] core 4 internal sRAMBases =
[ 33.768116] 0xFFFFFFFFFFFFFFFF,
[ 33.772230] 0xFFFFFFFFFFFFFFFF,
[ 33.775491]
[ 33.780243] core 5 internal sRAMBases =
[ 33.780245] 0xFFFFFFFFFFFFFFFF,
[ 33.784359] 0xFFFFFFFFFFFFFFFF,
[ 33.787620]
[ 33.792371] core 6 internal sRAMBases =
[ 33.792374] 0xFFFFFFFFFFFFFFFF,
[ 33.796488] 0xFFFFFFFFFFFFFFFF,
[ 33.799750]
[ 33.804502] core 7 internal sRAMBases =
[ 33.804505] 0xFFFFFFFFFFFFFFFF,
[ 33.808619] 0xFFFFFFFFFFFFFFFF,
[ 33.811881]
[ 33.816627] core 8 internal sRAMBases =
[ 33.816636] 0xFFFFFFFFFFFFFFFF,
[ 33.820783] 0xFFFFFFFFFFFFFFFF,
[ 33.824073]
[ 33.828820] core 9 internal sRAMBases =
[ 33.828830] 0xFFFFFFFFFFFFFFFF,
[ 33.832944] 0xFFFFFFFFFFFFFFFF,
[ 33.836207]
[ 33.840958] External sRAMBases =
[ 33.840960] 0xffffffffffffffff,
[ 33.844467] 0xffffffffffffffff,
[ 33.847729]
[ 33.852481] mmuPageTablePool = 1
[ 33.855987] mmuDynamicMap = 1
[ 33.859508] Build options:
[ 33.862235] gcdGPU_TIMEOUT = 20000
[ 33.866091] gcdGPU_2D_TIMEOUT = 20000
[ 33.869963] gcdINTERRUPT_STATISTIC = 1
[ 33.873920] GPU[0](ChipModel=0x7000 ChipRevision=0x6204):
[ 33.879361] **************************
[ 33.883125] *** GPU STATE DUMP ***
[ 33.886898] **************************
[ 33.890663] axi = 0x000000FD
[ 33.894189] idle = 0x7FFFFFFE
[ 33.897694] FE not idle
[ 33.900507] DMA address is constant, but state is changing:
[ 33.906294] 0x00000800
[ 33.909012] 0x00000000
[ 33.911744] dmaLow = 0x40000002
[ 33.915248] dmaHigh = 0xA4200010
[ 33.918773] dmaState = 0x00000000
[ 33.922279] command state = 0 (PAR_IDLE_ST)
[ 33.927361] command DMA state = 0 (CMD_IDLE_ST)
[ 33.932435] command fetch state = 0 (FET_IDLE_ST)
[ 33.937506] DMA request state = 0 (REQ_IDLE_ST)
[ 33.942580] cal state = 0 (CAL_IDLE_ST)
[ 33.947656] VE request state = 0 (VER_IDLE_ST)
[ 33.952741] Debug registers:
[ 33.955823] RA[0] debug registers:
[ 33.959600] [00] 00000000 00000000 00000000 00000000 031F0000 02000170 048D8630 68508040
[ 33.968084] [08] 911D6C00 00000000 00000000 00000000 00000000 00000008 030D0F14 00000000
[ 33.976543] [10] 00000008 22631121 75002004 78C00000 12344321 12344321 12344321 12344321
[ 33.985018] [18] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 33.993483] [20] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.001960] [28] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.010436] [30] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.018915] [38] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.027379] [40] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.035864] [48] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.044329] [50] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.052820] [58] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.061285] [60] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.069763] [68] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.078240] [70] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.086708] [78] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.095172] [80] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.103661] [88] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.112144] [90] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.120627] [98] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.129102] [A0] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.137585] [A8] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.146044] [B0] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.154528] [B8] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.162992] [C0] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.171471] [C8] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.179948] [D0] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.188416] [D8] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.196897] [E0] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.205375] [E8] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.213846] [F0] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
[ 34.222309] [F8] 12344321 12344321 12344321 12344321 12344321 12344321 12344321 12344321
.........
.........
[ 41.187256] A4201DA0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.195888] A4201DC0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.204534] A4201DE0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.213166] A4201E00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.221809] A4201E20 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.230442] A4201E40 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.239084] A4201E60 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.247717] A4201E80 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.256347] A4201EA0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.264991] A4201EC0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.273621] A4201EE0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.282264] A4201F00 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.290893] A4201F20 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.299536] A4201F40 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.308166] A4201F60 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.316809] A4201F80 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.325444] A4201FA0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.334078] A4201FC0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.342752] A4201FE0 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 41.351382]
[ 41.352988] Dump Level is 2, dump 3 valid record in link queue:
[ 41.358933] Link record 0: [A4202440 - A4202468] from command 00000000 00000000 pid 1 (init):
[ 41.367494] Not found
[ 41.369786]
[ 41.371379] Link record 1: [A4202840 - A4202880] from command 00000000 00000000 pid 1 (init):
[ 41.379938] A4202840 : 08010E02 00000701 48000000 00000701 08010594 00000001 0801022C 0000001F
[ 41.388568] A4202860 : 08015311 00000000 08010E02 00000701 48000000 00000701 10000000 00000000
[ 41.397210]
[ 41.398804] Link record 2: [A4202440 - A4202468] from command 00000000 00000000 pid 9 (kworker/u8:1):
[ 41.408054] Not found
[ 41.410344]
[ 41.411935] [galcore]: Stop driver to keep scene.
[ 48.413626] mke2fs: Discarding device blocks: 6819840/13816320
[ 48.414581] mke2fs: Creating filesystem with 13816320 4k blocks and 3457024 inodes
[ 48.467840] mke2fs: Filesystem UUID: 2a79d140-c340-40f6-9bb4-a66c572fc7f4
[ 48.474648] mke2fs: Superblock backups stored on blocks:
[ 48.480056] mke2fs: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
[ 48.488608] mke2fs: 4096000, 7962624, 11239424
[ 48.493150] mke2fs:
evk_8mp:/ $ df -h
vail Use% Mounted on
tmpfs 1.6G 804K 1.6G 1% /dev
tmpfs 1.6G 0 1.6G 0% /mnt
/dev/block/dm-4 953M 950M 0 100% /
/dev/block/dm-5 214M 214M 0 100% /product
/dev/block/dm-6 110M 109M 0 100% /system_ext
/dev/block/dm-7 546M 544M 0 100% /vendor
tmpfs 1.6G 0 1.6G 0% /apex
tmpfs 1.6G 252K 1.6G 1% /linkerconfig
/dev/block/dm-9 50G 20M 50G 1% /data
修改后我们通过df -h命令查看 可以看到可用空间为50g,总空间也变为了64G,所以我们的修改是ok的,所以下一步就是解决BUG,也就是串口打印的报错问题,以及不能投屏的问题。这里我目前的方法是通过命令重启一次开发板,就可以正常使用,但是这中操作显然是不合规矩的。
在网上百度了半天,终于在nxp的官网上看到了相关的文章,对应的连接,我放在了最上方,但是同样的问题还是会出现,所以emm继续找方法吧。而且经过实验,我的emmc好像只有16G才能一次成功的启动,32G与64G都不行,都需要去修改。头疼!!
目前还没有找到方法,后续如果有了方法我再补充!
二、bug解决
通过对错误log的代码跟踪,定位到对应错误的代码
代码目录:
kernel_imx/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.c
通过添加打印
if (_status == gcvSTATUS_OK)
{
gckOS_ReleaseMutex(kernel->os, kernel->device->recoveryMutex);
}
}
else
#endif
{
/*函数进入到了这里,调用gckKERNEL_Recovery()函数,导致打出对应的错误log*/
gckKERNEL_Recovery(kernel);
/* Work in this timeout is done. */
kernel->monitoring = gcvFALSE;
}
}
gcmkVERIFY_OK(gckOS_StartTimer(kernel->os, kernel->monitorTimer, advance));
}
#endif
继续跟进,通过添加log,发现出现这个问题的错在 _MonitorTimerFunction 函数里面的
void
_MonitorTimerFunction(
gctPOINTER Data
)
{
.......
{
/* GPU state is not changed, accumlate timeout. */
//这里时GPU状态没有改变,导致超时
kernel->timer += advance;
if (kernel->timer >= kernel->timeOut)
{
/* GPU stuck, trigger reset. */
//这里时GPU复位了,从而这个返回值导致走向下面一个函数
reset = gcvTRUE;
}
}
else
{
/* GPU state changed, cancel current timeout.*/
kernel->monitoring = gcvFALSE;
}
}
else
{
/* GPU finish all jobs, cancel current timeout*/
kernel->monitoring = gcvFALSE;
}
}
if (reset)//这里超时了会走到下面这个函数里面,修改emmc后第一次启动会走到这个函数里面,后续就不会走到这个函数里面
{
......()
}
......
};
因为不知道为啥第一次GPU状态会没有改变,从而卡住导致进行复位,所以我的想法时只有第一次会进入,那么我就跳过这个函数,让他不进入这个函数里面就可以了把,所以我修改了函数的返回值,让他像第二次一样,不进入对应的函数,就可以了吧。
if (kernel->timer >= kernel->timeOut)
{
/* GPU stuck, trigger reset. */
//这里时GPU复位了,从而这个返回值导致走向下面一个函数
//reset = gcvTRUE;
reset = gcvFALSE;
}
吼吼!再次烧录,发现真的可以起来,对应的分区也修改正确。
但是这因该不是正确的改法,但是对与我当前项目来说,这无疑是最好的,时间紧,事情多,没有参考手册,官网支持也没有。
三、问题总结
通过对log的抓取发现,GPU的挂掉是因为超时,原因是再烧录完镜像第一次启动的过程中,会有一个安卓系统的全盘加密过程,对应的log如下:
D vold : Copying 8 blocks at offset 27723300864
D vold : Copying 8 blocks at offset 27723333632
D vold : Copying 8 blocks at offset 27723366400
D vold : Copying 8 blocks at offset 27723399168
D vold : Copying 8 blocks at offset 27723431936
D vold : Copying 8 blocks at offset 27723464704
D vold : Copying 8 blocks at offset 27723497472
D vold : Copying 8 blocks at offset 27723530240
D vold : Copying 8 blocks at offset 27723563008
D vold : Copying 8 blocks at offset 27723595776
D vold : Copying 8 blocks at offset 27723628544
D vold : Copying 8 blocks at offset 27723661312
D vold : Copying 8 blocks at offset 27723694080
D vold : Copying 8 blocks at offset 27723726848
D vold : Copying 8 blocks at offset 27723759616
D vold : Copying 8 blocks at offset 27723792384
D vold : Copying 8 blocks at offset 27723825152
D vold : Copying 8 blocks at offset 27723857920
D vold : Copying 8 blocks at offset 27723890688
D vold : Copying 8 blocks at offset 27723923456
D vold : Copying 8 blocks at offset 27723956224
D vold : Copying 8 blocks at offset 27723988992
D vold : Copying 8 blocks at offset 27724021760
D vold : Copying 8 blocks at offset 27724054528
D vold : Copying 8 blocks at offset 27724087296
D vold : Copying 8 blocks at offset 27724120064
D vold : Copying 8 blocks at offset 27724152832
D vold : Copying 8 blocks at offset 27724185600
D vold : Copying 8 blocks at offset 27724218368
D vold : Copying 8 blocks at offset 27724251136
D vold : Copying 8 blocks at offset 27724283904
D vold : Copying 8 blocks at offset 27724316672
D vold : Copying 8 blocks at offset 27724349440
D vold : Copying 8 blocks at offset 27724382208
D vold : Copying 8 blocks at offset 27724414976
D vold : Copying 8 blocks at offset 27724447744
D vold : Copying 8 blocks at offset 27724480512
D vold : Copying 8 blocks at offset 27724513280
D vold : Copying 8 blocks at offset 27724546048
D vold : Copying 8 blocks at offset 27724578816
D vold : Copying 8 blocks at offset 27724611584
.......
D vold : Copying 8 blocks at offset 55436050432
D vold : Copying 8 blocks at offset 55436083200
D vold : Copying 2 blocks at offset 55436115968
I vold : Encrypted to sector 6929515520
D vold : cryptfs_enable_inplace_ext4 success
I vold : Inplace encryption complete
D vold : Mounting metadata-encrypted filesystem:/data
可能是因为修改了分区过后,导致分区较大,加密的时间比较长,所以才会导致GPU挂掉,重启过后,再次抓取log,发现并没有对应的加密过程,所以才会顺利的起来,也时重启后开机时间比较快的原因之一吧。