我已经从源代码为htc evo 4g编译了一个内核。我成功地获得了zImage。因此,当我构建整个树时,我使用zImage作为内核而不是预构建的内核。
但是当我构建整个android树时,我收到以下错误:
out / target / product / supersonic / boot.img总大小为5988352错误:out / target / product / supersonic / boot.img太大(5988352> [5406720 - 270336])make:* [out / target / product / supersonic /boot.img]错误1 make:*删除文件`out / target / product / supersonic / boot.img'
在网上搜索,我找不到解决方案。
我只发现分区的大小是在文件device/htc/supersonic/BoardConfig.mk
中定义的,但我不知道如何更改它们。
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x00280000
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x00500000
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x15e00000 # limited so we enforce room to grow
BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x1aba0000
BOARD_FLASH_BLOCK_SIZE := 131072
我不知道如何解决这个问题。
在您的情况下,启动分区限制为:0x00528000 - 0x00042000,大约5MB。多数民众赞成!现代(2013-2014)设备有10MB-50MB
您需要使boot.img更小,从内核中删除不需要的驱动程序,或者限制编译到ramdisk中的数据/二进制文件的数量。
您还可以使用'dd'命令拉动原始boot.img分区来检查设备的实际boot.img大小,如果它实际上大于5MB,则可以增加BOARD_RECOVERYIMAGE_PARTITION_SIZE中的值。