Boot.img太大了

问题描述 投票:0回答:1

我已经从源代码为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

我不知道如何解决这个问题。

build linux-kernel embedded-linux android-source cyanogenmod
1个回答
1
投票

在您的情况下,启动分区限制为:0x00528000 - 0x00042000,大约5MB。多数民众赞成!现代(2013-2014)设备有10MB-50MB

您需要使boot.img更小,从内核中删除不需要的驱动程序,或者限制编译到ramdisk中的数据/二进制文件的数量。

您还可以使用'dd'命令拉动原始boot.img分区来检查设备的实际boot.img大小,如果它实际上大于5MB,则可以增加BOARD_RECOVERYIMAGE_PARTITION_SIZE中的值。

© www.soinside.com 2019 - 2024. All rights reserved.