From: John Crispin <john@openwrt.org>
Date: Tue, 22 Apr 2014 08:08:46 +0000 (+0000)
Subject: lantiq: BT Home Hub 2B - overlayfs on top of ubi
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=4f3c74011048239eb5c37a2740c428b59d161387;p=openwrt%2Fstaging%2Fynezz.git

lantiq: BT Home Hub 2B - overlayfs on top of ubi

BT Home Hub 2B: use overlayfs on top of ubi.

Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>

SVN-Revision: 40553
---

diff --git a/target/linux/lantiq/dts/BTHOMEHUBV2B.dts b/target/linux/lantiq/dts/BTHOMEHUBV2B.dts
index ac53217bb3..329e149911 100644
--- a/target/linux/lantiq/dts/BTHOMEHUBV2B.dts
+++ b/target/linux/lantiq/dts/BTHOMEHUBV2B.dts
@@ -6,7 +6,10 @@
 	model = "BTHOMEHUBV2B - BT Home Hub 2B";  /* SoC: Lantiq Danube-S PSB 50712 @ 333MHz V1.3/1.5 */
 
 	chosen {
-		bootargs = "console=ttyLTQ0,115200 init=/etc/preinit rootfstype=squashfs,jffs2";
+		// uncomment for overlayfs on top of ubi
+		bootargs = "console=ttyLTQ0,115200 init=/etc/preinit ubi.mtd=rootfs_ubi,256 root=/dev/mtdblock8";
+		// uncomment for ubifs
+//		bootargs = "console=ttyLTQ0,115200 init=/etc/preinit ubi.mtd=rootfs_ubi,256 root=ubi0:rootfs rootfstype=ubifs";
 	};
 
 	memory@0 {				  /* RAM: Samsung K4H511638F-LC 64MB */
@@ -80,8 +83,13 @@
 				};
 
 				partition@4000 {
-					label = "firmware";
-					reg = <0x4000 0x1FFC000>;
+					label = "kernel";
+					reg = <0x4000 0x160000>;
+				};
+
+				partition@164000 {
+					label = "rootfs_ubi";
+					reg = <0x164000 0x1E9C000>;
 				};
 
 			};
diff --git a/target/linux/lantiq/xway/config-default b/target/linux/lantiq/xway/config-default
index 9d7118409c..684fb0005a 100644
--- a/target/linux/lantiq/xway/config-default
+++ b/target/linux/lantiq/xway/config-default
@@ -1,6 +1,9 @@
 CONFIG_ADM6996_PHY=y
 CONFIG_AR8216_PHY=y
 CONFIG_CLONE_BACKWARDS=y
+CONFIG_CRC16=y
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
 CONFIG_FIRMWARE_IN_KERNEL=y
 CONFIG_GPIO_DEVRES=y
 # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
@@ -13,6 +16,8 @@ CONFIG_IRQCHIP=y
 CONFIG_IRQ_WORK=y
 # CONFIG_ISDN is not set
 CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
 CONFIG_M25PXX_USE_FAST_READ=y
 CONFIG_MTD_M25P80=y
 CONFIG_MTD_NAND=y
@@ -22,6 +27,11 @@ CONFIG_MTD_NAND_XWAY=y
 # CONFIG_MTD_PHYSMAP_OF is not set
 # CONFIG_MTD_SM_COMMON is not set
 CONFIG_MTD_SPLIT_UIMAGE_FW=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_MTD_UBI_GLUEBI=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_NLS=y
 # CONFIG_PROC_DEVICETREE is not set
 # CONFIG_RCU_STALL_COMMON is not set
@@ -34,9 +44,16 @@ CONFIG_SPI_BITBANG=y
 CONFIG_SPI_GPIO=y
 CONFIG_SPI_MASTER=y
 CONFIG_SPI_XWAY=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+# CONFIG_UBIFS_FS_XZ is not set
+CONFIG_UBIFS_FS_ZLIB=y
 CONFIG_USB=y
 CONFIG_USB_COMMON=y
 # CONFIG_USB_EHCI_HCD is not set
 CONFIG_USB_SUPPORT=y
 # CONFIG_USB_UHCI_HCD is not set
 # CONFIG_XRX200_PHY_FW is not set
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_ZLIB_INFLATE=y
diff --git a/target/linux/lantiq/xway/profiles/bt.mk b/target/linux/lantiq/xway/profiles/bt.mk
index 73ec8653da..59c750a491 100644
--- a/target/linux/lantiq/xway/profiles/bt.mk
+++ b/target/linux/lantiq/xway/profiles/bt.mk
@@ -9,4 +9,8 @@ define Profile/BTHOMEHUBV2B
 	swconfig
 endef
 
+BTHOMEHUBV2B_UBIFS_OPTS:="-m 512 -e 15872 -c 1959"
+BTHOMEHUBV2B_UBI_OPTS:="-m 512 -p 16KiB -s 256"
+
+
 $(eval $(call Profile,BTHOMEHUBV2B))
diff --git a/target/linux/lantiq/xway/target.mk b/target/linux/lantiq/xway/target.mk
index 1b54ee2c4f..390eb2ac79 100644
--- a/target/linux/lantiq/xway/target.mk
+++ b/target/linux/lantiq/xway/target.mk
@@ -1,7 +1,7 @@
 ARCH:=mips
 SUBTARGET:=xway
 BOARDNAME:=XWAY
-FEATURES:=squashfs atm mips16 jffs2_nand
+FEATURES:=squashfs atm mips16 jffs2_nand ubifs
 CPU_TYPE:=34kc
 CPU_SUBTYPE:=dsp