This is very useful for trimming images towards 4 MiB flash size. Signed-off-by: Stephan Maka <step...@spaceboyz.net> --- tools/firmware-utils/src/mktplinkfw.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/tools/firmware-utils/src/mktplinkfw.c b/tools/firmware-utils/src/mktplinkfw.c index 09536c6..850aff4 100644 --- a/tools/firmware-utils/src/mktplinkfw.c +++ b/tools/firmware-utils/src/mktplinkfw.c @@ -657,10 +657,10 @@ static int check_options(void) kernel_len = kernel_info.file_size; if (combined) { - if (kernel_info.file_size > - fw_max_len - sizeof(struct fw_header)) { + int exceed_bytes = kernel_info.file_size - (fw_max_len - sizeof(struct fw_header)); + if (exceed_bytes > 0) { if (!ignore_size) { - ERR("kernel image is too big"); + ERR("kernel image is too big by %i bytes", exceed_bytes); return -1; } layout->fw_max_len = sizeof(struct fw_header) + @@ -684,20 +684,20 @@ static int check_options(void) DBG("kernel length aligned to %u", kernel_len); - if (kernel_len + rootfs_info.file_size > - fw_max_len - sizeof(struct fw_header)) { - ERR("images are too big"); + int exceed_bytes = kernel_len + rootfs_info.file_size - (fw_max_len - sizeof(struct fw_header)); + if (exceed_bytes > 0) { + ERR("images are too big by %i bytes", exceed_bytes); return -1; } } else { - if (kernel_info.file_size > - rootfs_ofs - sizeof(struct fw_header)) { + int exceed_bytes = kernel_info.file_size - (rootfs_ofs - sizeof(struct fw_header)); + if (exceed_bytes > 0) { ERR("kernel image is too big"); return -1; } - if (rootfs_info.file_size > - (fw_max_len - rootfs_ofs)) { + exceed_bytes = rootfs_info.file_size - (fw_max_len - rootfs_ofs); + if (exceed_bytes > 0) { ERR("rootfs image is too big"); return -1; } -- 2.1.4 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel