X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/fc66ff967a15d664e2543d6a996d792ed39f6759..adde7768a2eab2950a7628319ec832c63a00ff03:/target/linux/generic-2.6/patches/060-rootfs_split.patch diff --git a/target/linux/generic-2.6/patches/060-rootfs_split.patch b/target/linux/generic-2.6/patches/060-rootfs_split.patch index ff800dcf3..210360600 100644 --- a/target/linux/generic-2.6/patches/060-rootfs_split.patch +++ b/target/linux/generic-2.6/patches/060-rootfs_split.patch @@ -1,23 +1,28 @@ -Index: linux/drivers/mtd/Kconfig +Index: linux-2.6.21.7/drivers/mtd/Kconfig =================================================================== ---- linux.orig/drivers/mtd/Kconfig -+++ linux/drivers/mtd/Kconfig -@@ -49,6 +49,11 @@ config MTD_PARTITIONS +--- linux-2.6.21.7.orig/drivers/mtd/Kconfig ++++ linux-2.6.21.7/drivers/mtd/Kconfig +@@ -49,6 +49,16 @@ config MTD_PARTITIONS devices. Partitioning on NFTL 'devices' is a different - that's the 'normal' form of partitioning used on a block device. -+config MTD_SPLIT_ROOTFS -+ bool "Automatically split rootfs partition for squashfs" ++config MTD_ROOTFS_ROOT_DEV ++ bool "Automatically set 'rootfs' partition to be root filesystem" ++ depends on MTD_PARTITIONS ++ default y ++ ++config MTD_ROOTFS_SPLIT ++ bool "Automatically split 'rootfs' partition for squashfs" + depends on MTD_PARTITIONS + default y + config MTD_REDBOOT_PARTS tristate "RedBoot partition table parsing" depends on MTD_PARTITIONS -Index: linux/drivers/mtd/mtdpart.c +Index: linux-2.6.21.7/drivers/mtd/mtdpart.c =================================================================== ---- linux.orig/drivers/mtd/mtdpart.c -+++ linux/drivers/mtd/mtdpart.c +--- linux-2.6.21.7.orig/drivers/mtd/mtdpart.c ++++ linux-2.6.21.7/drivers/mtd/mtdpart.c @@ -20,6 +20,8 @@ #include #include @@ -248,8 +253,8 @@ Index: linux/drivers/mtd/mtdpart.c + goto out; + } + -+ part->name = (unsigned char *)&part[1]; + memcpy(part, old, sizeof(*part)); ++ part->name = (unsigned char *)&part[1]; + strcpy(part->name, ROOTFS_SPLIT_NAME); + + len = (u32) sb->bytes_used; @@ -280,7 +285,7 @@ Index: linux/drivers/mtd/mtdpart.c + if (dpart == NULL) + return 1; + -+ printk(KERN_INFO "mtd: \"%s\" created, ofs=%lX, len=%lX \n", ++ printk(KERN_INFO "mtd: partition \"%s\" created automatically, ofs=%X, len=%X \n", + ROOTFS_SPLIT_NAME, dpart->offset, dpart->size); + + ret = add_one_partition(master, dpart, index, NULL); @@ -452,7 +457,7 @@ Index: linux/drivers/mtd/mtdpart.c - offs += slave->mtd.erasesize; + for (i = 0, j = 0; i < nbparts; i++) { + part = (struct mtd_partition *) &parts[i]; -+ ret = add_one_partition(master, part, i, &slave); ++ ret = add_one_partition(master, part, j, &slave); + if (ret) + return ret; + j++;