在编译android源码时,出现下面错误:
1 make_ext4fs -l 167772160 -a system out/target/product/Mary/system.img.ext4 out/target/product/Mary/system 2 Creating filesystem with parameters: 3 Size: 167772160 4 Block size: 4096 5 Blocks per group: 32768 6 Inodes per group: 5120 7 Inode size: 256 8 Journal blocks: 1024 9 Label: 10 Blocks: 40960 11 Block groups: 2 12 Reserved block group size: 15 13 error: do_inode_allocate_extents: Failed to allocate 119 blocks 14 15 make: *** [out/target/product/Mary/obj/PACKAGING/systemimage_intermediates/system.img] 错误 4 16 make: *** 正在删除文件“out/target/product/Mary/obj/PACKAGING/systemimage_intermediates/system.img”
这个错误是由分配的空间太小导致的。
解决方法:
打开device/odm/Mary/BoardConfig.mk
扩大BOARD_*_PARTITION_SIZE的大小,如:
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 251658240 #0x0F000000 #167772160 # 0x0A000000
参考资料:
=== error: do_inode_allocate_extents: Failed to allocate blocks ===
One way to workaround this is to increase the system image size.
Please see BOARD_*_PARTITION_SIZE variables in device/<vendor>/$(TARGET_PRODUCT)/BoardConfig.mk in your workspace.