aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2009-01-04 18:42:46 +0000
committerGabor Juhos <juhosg@openwrt.org>2009-01-04 18:42:46 +0000
commit54b85f55d987c06f8e9c006d416040b14bde98af (patch)
tree0634530396055edcd81d0e1529b4e4d40f13d7f5
parenta3ecf3d3dc8f077ae1d619dc907f0e699b1a55d2 (diff)
downloadupstream-54b85f55d987c06f8e9c006d416040b14bde98af.tar.gz
upstream-54b85f55d987c06f8e9c006d416040b14bde98af.tar.bz2
upstream-54b85f55d987c06f8e9c006d416040b14bde98af.zip
firmware-utils/mkfwimage: fix Ubiquiti firmware generation (closes #4414)
SVN-Revision: 13859
-rw-r--r--tools/firmware-utils/src/mkfwimage.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/tools/firmware-utils/src/mkfwimage.c b/tools/firmware-utils/src/mkfwimage.c
index 0a2f74ee9a..5c6a8792b3 100644
--- a/tools/firmware-utils/src/mkfwimage.c
+++ b/tools/firmware-utils/src/mkfwimage.c
@@ -46,7 +46,7 @@ fw_layout_t fw_layout_data[] = {
.name = "XS2",
.kern_start = 0xbfc30000,
.kern_len = 0x00140000,
- .root_start = 0xbfc30000 + 0x00140000,
+ .root_start = 0xbfc30000,
.root_len = 0x002C0000,
.kern_entry = 0x80041000,
.firmware_max_length= 0x00390000,
@@ -55,7 +55,7 @@ fw_layout_t fw_layout_data[] = {
.name = "XS5",
.kern_start = 0xbe030000,
.kern_len = 0x00140000,
- .root_start = 0xbe030000 + 0x00140000,
+ .root_start = 0xbe030000,
.root_len = 0x002C0000,
.kern_entry = 0x80041000,
.firmware_max_length= 0x00390000,
@@ -243,14 +243,14 @@ static int create_image_layout(const char* kernelfile, const char* rootfsfile, c
strcpy(rootfs->partition_name, "rootfs");
rootfs->partition_index = 2;
- rootfs->partition_baseaddr = p->root_start;
+ rootfs->partition_baseaddr = kernel->partition_baseaddr + kernel->partition_length;
rootfs->partition_length = p->firmware_max_length - kernel->partition_length;
rootfs->partition_memaddr = 0x00000000;
rootfs->partition_entryaddr = 0x00000000;
strncpy(rootfs->filename, rootfsfile, sizeof(rootfs->filename));
-printf("kernel: %d %d\n", kernel->partition_length, kernel->partition_baseaddr);
-printf("root: %d %d\n", rootfs->partition_length, rootfs->partition_baseaddr);
+printf("kernel: %d 0x%08x\n", kernel->partition_length, kernel->partition_baseaddr);
+printf("root: %d 0x%08x\n", rootfs->partition_length, rootfs->partition_baseaddr);
im->part_count = 2;
return 0;