projects
/
openwrt
/
openwrt.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
f27feec
)
fix padding between end of the kernel and beginning of the rootfs in imagetag (#5108)
author
Florian Fainelli
<florian@openwrt.org>
Tue, 12 May 2009 13:20:36 +0000
(13:20 +0000)
committer
Florian Fainelli
<florian@openwrt.org>
Tue, 12 May 2009 13:20:36 +0000
(13:20 +0000)
SVN-Revision: 15801
tools/firmware-utils/src/imagetag.c
patch
|
blob
|
history
diff --git
a/tools/firmware-utils/src/imagetag.c
b/tools/firmware-utils/src/imagetag.c
index a5b7a93c68203648a3bd91aad02915fe275f6f13..31ba9b9c08c32b87c54b682f127688bc0221c496 100644
(file)
--- a/
tools/firmware-utils/src/imagetag.c
+++ b/
tools/firmware-utils/src/imagetag.c
@@
-153,7
+153,7
@@
int tagfile(const char *kernel, const char *rootfs, const char *bin,
struct imagetag tag;
struct kernelhdr khdr;
FILE *kernelfile = NULL, *rootfsfile = NULL, *binfile;
struct imagetag tag;
struct kernelhdr khdr;
FILE *kernelfile = NULL, *rootfsfile = NULL, *binfile;
- size_t kerneloff, kernellen, rootfsoff, rootfslen, read, imagelen;
+ size_t kerneloff, kernellen, rootfsoff, rootfslen, read, imagelen
, rootfsoffpadlen
;
uint8_t readbuf[1024];
uint32_t crc = IMAGETAG_CRC_START;
const uint32_t deadcode = htonl(DEADCODE);
uint8_t readbuf[1024];
uint32_t crc = IMAGETAG_CRC_START;
const uint32_t deadcode = htonl(DEADCODE);
@@
-203,6
+203,7
@@
int tagfile(const char *kernel, const char *rootfs, const char *bin,
rootfslen = getlen(rootfsfile);
rootfslen = (rootfslen % flash_bs) > 0 ? (((rootfslen / flash_bs) + 1) * flash_bs) : rootfslen;
imagelen = rootfsoff + rootfslen - kerneloff + sizeof(deadcode);
rootfslen = getlen(rootfsfile);
rootfslen = (rootfslen % flash_bs) > 0 ? (((rootfslen / flash_bs) + 1) * flash_bs) : rootfslen;
imagelen = rootfsoff + rootfslen - kerneloff + sizeof(deadcode);
+ rootfsoffpadlen = rootfsoff - (kerneloff + kernellen);
/* Seek to the start of the kernel */
fseek(binfile, kerneloff - fwaddr, SEEK_SET);
/* Seek to the start of the kernel */
fseek(binfile, kerneloff - fwaddr, SEEK_SET);
@@
-260,7
+261,7
@@
int tagfile(const char *kernel, const char *rootfs, const char *bin,
if (kernelfile) {
sprintf(tag.kernel.address, "%lu", kerneloff);
if (kernelfile) {
sprintf(tag.kernel.address, "%lu", kerneloff);
- sprintf(tag.kernel.len, "%lu", kernellen);
+ sprintf(tag.kernel.len, "%lu", kernellen
+ rootfsoffpadlen
);
}
if (rootfsfile) {
}
if (rootfsfile) {