如果在编译过程中出现了如下错误,说明是分区太小了,需要增大这个分区的size:
__populate_fs: Could not allocate block in ext2 filesystem while writing file "TctCamera.odex"
e2fsdroid: Could not allocate block in ext2 filesystem while populating file system
【修改方法】
1.Android_project
/device/amlogic/p212/BoardConfig.mk内容如下:(以下数字为dts中设置的十进制表示,比如dts设置的为:0x10000000,十进制即为:
268435456)
ifeq ($(ANDROID_BUILD_TYPE), 64)
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1551892480
-BOARD_VENDORIMAGE_PARTITION_SIZE := 268435456
+BOARD_VENDORIMAGE_PARTITION_SIZE := 1073741824
BOARD_ODMIMAGE_PARTITION_SIZE := 134217728
BOARD_PRODUCTIMAGE_PARTITION_SIZE := 134217728
else
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1342177280
-BOARD_VENDORIMAGE_PARTITION_SIZE := 268435456
+BOARD_VENDORIMAGE_PARTITION_SIZE := 1073741824
BOARD_ODMIMAGE_PARTITION_SIZE := 134217728
BOARD_PRODUCTIMAGE_PARTITION_SIZE := 134217728
endif
2.dts,找到实际使用的dts,我这里是这个:
目录:common/arch/arm/boot/dts/amlogic/partition_mbox_normal_P_32.dtsi
内容如下:
tee:tee{
pname = "tee";
size = <0x0 0x2000000>;
mask = <1>;
};
vendor:vendor
{
pname = "vendor";
- size = <0x0 0x10000000>;
+ size = <0x0 0x40000000>;
mask = <1>;
};
重新编译,vendor分区会变大道我们设置的大小,打包不会再有错误,问题解决。