firmware-utils: mkfwimage: provide human readable error
While looking at the ath25 build breakage of 19.07 images today I've encountered following error: mkfwimage -B XS5 -v [...] ath25-ubnt5-squashfs-sysupgrade.bin.new ERROR: Failed creating firmware layout description - error code: -2 Which is barely human readable and needs poking into the source code, so this patch makes the error more verbose and usable by mere mortals. Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
		@@ -297,6 +297,7 @@ static u_int32_t filelength(const char* file)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static int create_image_layout(const char* kernelfile, const char* rootfsfile, char* board_name, image_info_t* im)
 | 
					static int create_image_layout(const char* kernelfile, const char* rootfsfile, char* board_name, image_info_t* im)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						uint32_t rootfs_len = 0;
 | 
				
			||||||
	part_data_t* kernel = &im->parts[0];
 | 
						part_data_t* kernel = &im->parts[0];
 | 
				
			||||||
	part_data_t* rootfs = &im->parts[1];
 | 
						part_data_t* rootfs = &im->parts[1];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -311,8 +312,13 @@ static int create_image_layout(const char* kernelfile, const char* rootfsfile, c
 | 
				
			|||||||
	kernel->partition_entryaddr = p->kern_entry;
 | 
						kernel->partition_entryaddr = p->kern_entry;
 | 
				
			||||||
	strncpy(kernel->filename, kernelfile, sizeof(kernel->filename));
 | 
						strncpy(kernel->filename, kernelfile, sizeof(kernel->filename));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (filelength(rootfsfile) + kernel->partition_length > p->firmware_max_length)
 | 
						rootfs_len = filelength(rootfsfile);
 | 
				
			||||||
 | 
						if (rootfs_len + kernel->partition_length > p->firmware_max_length) {
 | 
				
			||||||
 | 
							ERROR("File '%s' too big (0x%08X) - max size: 0x%08X (exceeds %u bytes)\n",
 | 
				
			||||||
 | 
							       rootfsfile, rootfs_len, p->firmware_max_length,
 | 
				
			||||||
 | 
							       (rootfs_len + kernel->partition_length) - p->firmware_max_length);
 | 
				
			||||||
		return (-2);
 | 
							return (-2);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strcpy(rootfs->partition_name, "rootfs");
 | 
						strcpy(rootfs->partition_name, "rootfs");
 | 
				
			||||||
	rootfs->partition_index = 2;
 | 
						rootfs->partition_index = 2;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user