修改:
tools/firmware-utils/src/mktplinkfw2.c
static struct flash_layout layouts[] = {
{
.id= "8Mltq",
.fw_max_len= 0x7a0000,
.kernel_la= 0x80002000,
.kernel_ep= 0x80002000,
.rootfs_ofs= 0x140000,
}, {
.id= "12Mmtk",//这里改了
.fw_max_len= 0xC00000,
.kernel_la= 0x80000000,
.kernel_ep= 0x80000000,
.rootfs_ofs= 0x140000,
}, {
/* terminating entry */
}
};static struct board_info boards[] = {
{
.id= "TD-W8970v1",
.hw_id= 0x89700001,
.hw_rev= 1,
.layout_id= "8Mltq",
}, {
.id= "ArcherC20i",
.hw_id= 0xc2000001,
.hw_rev= 58,
.layout_id= "12Mmtk",//这里改了
.hdr_ver= 3,
.endian_swap= true,
}, {
/* terminating entry */
}
};
过程:首先grep搜索这个错误,有好几个文件有,修改每一个,把文件名打印出来(其实报错的时候有提示文件名,我没注意);
然后把相关的数字、字符打印出来:
ERR("rootfs image is too big from -> mktplinkfw2.c board_id=%s, layout_id=%s, layout->fw_max_len=%d", board_id, layout_id,layout->fw_max_len);
编译一次,我就知道解决方法了,