Browse Source

kernel: mtdsplit: calculate kernel partition precisely for Seama

So far "kernel" partition didn't contain just a kernel. It also included
Seama header and meta data. This was making kernel update complex and it
wasn't trivial to read kernel size.
Fix it by making "kernel" parition contain just a kernel image.

Signed-off-by: Rafał Miłecki <[email protected]>
Rafał Miłecki 9 years ago
parent
commit
1aca291214
1 changed files with 2 additions and 2 deletions
  1. 2 2
      target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c

+ 2 - 2
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c

@@ -79,8 +79,8 @@ static int mtdsplit_parse_seama(struct mtd_info *master,
 		return -ENOMEM;
 
 	parts[0].name = KERNEL_PART_NAME;
-	parts[0].offset = 0;
-	parts[0].size = rootfs_offset;
+	parts[0].offset = sizeof hdr + be16_to_cpu(hdr.metasize);
+	parts[0].size = rootfs_offset - parts[0].offset;
 
 	if (type == MTDSPLIT_PART_TYPE_UBI)
 		parts[1].name = UBI_PART_NAME;