fiasco: align also kernel

This commit is contained in:
Pali Rohár committed 2012-08-07 14:20:54 +02:00
1 parent 869a872897
commit 589443a356
1 file changed
+19 -6
+19 -6
View File
@@ -371,9 +371,16 @@ int fiasco_write_to_file(struct fiasco * fiasco, const char * file) {
/* image size */
size = image->size;
/* Align mmc image size */
if ( image->type == IMAGE_MMC )
size = ((size >> 8) + 1) << 8;
/* Align kernel image size */
else if ( image->type == IMAGE_KERNEL )
size = ((size >> 7) + 1) << 7;
/* TODO: update hash after align */
size = htonl(size);
WRITE_OR_FAIL(fd, &size, 4);
@@ -447,13 +454,17 @@ int fiasco_write_to_file(struct fiasco * fiasco, const char * file) {
WRITE_OR_FAIL(fd, buf, size);
}
/* Align mmc image (fill with 0xff) */
if ( image->type == IMAGE_MMC ) {
size = image->size;
if ( image->type == IMAGE_MMC )
size = ((image->size >> 8) + 1) << 8;
while ( size > image->size ) {
WRITE_OR_FAIL(fd, "\xff", 1);
--size;
}
else if ( image->type == IMAGE_KERNEL )
size = ((image->size >> 7) + 1) << 7;
/* Align image if needed (fill with 0xff) */
while ( size > image->size ) {
WRITE_OR_FAIL(fd, "\xff", 1);
--size;
}
image_list = image_list->next;
@@ -494,6 +505,8 @@ int fiasco_unpack(struct fiasco * fiasco, const char * dir) {
name = calloc(1, length);
/* TODO: Unpack image */
image_list = image_list->next;
}