diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-01-26 03:21:09 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-01-26 03:21:09 +0000 | 
| commit | ed9100bcbccc145ba323b891c6ae96e639e5b71f (patch) | |
| tree | 2f2f0b8062598de93d093484d0e0b313c8e78833 | |
| parent | 01721535f24ab0f268eb93d1a3497b5076b2ffce (diff) | |
add patch for including unpartitioned space in the rootfs partition for redboot devices (if applicable)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10263 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch b/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch new file mode 100644 index 000000000..272a51fcc --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch @@ -0,0 +1,32 @@ +Index: linux-2.6.23.1/drivers/mtd/redboot.c +=================================================================== +--- linux-2.6.23.1.orig/drivers/mtd/redboot.c	2008-01-26 01:43:10.742362738 +0100 ++++ linux-2.6.23.1/drivers/mtd/redboot.c	2008-01-26 01:47:24.432819736 +0100 +@@ -236,14 +236,21 @@ + #endif + 		names += strlen(names)+1; +  +-#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED + 		if(fl->next && fl->img->flash_base + fl->img->size + master->erasesize <= fl->next->img->flash_base) { +-			i++; +-			parts[i].offset = parts[i-1].size + parts[i-1].offset; +-			parts[i].size = fl->next->img->flash_base - parts[i].offset; +-			parts[i].name = nullname; +-		} ++			if (!strcmp(parts[i].name, "rootfs")) { ++				parts[i].size = fl->next->img->flash_base; ++				parts[i].size &= ~(master->erasesize - 1); ++				parts[i].size -= parts[i].offset; ++			} ++#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED ++			else { ++				i++; ++				parts[i].offset = parts[i-1].size + parts[i-1].offset; ++				parts[i].size = fl->next->img->flash_base - parts[i].offset; ++				parts[i].name = nullname; ++			} + #endif ++		} + 		tmp_fl = fl; + 		fl = fl->next; + 		kfree(tmp_fl);  | 
