[gumstix] Add support for ubifs
authorHamish Guthrie <hcg@openwrt.org>
Wed, 2 Feb 2011 14:58:30 +0000 (14:58 +0000)
committerHamish Guthrie <hcg@openwrt.org>
Wed, 2 Feb 2011 14:58:30 +0000 (14:58 +0000)
SVN-Revision: 25310

target/linux/omap35xx/gumstix/config-2.6.36
target/linux/omap35xx/gumstix/profiles/gumstix.mk
target/linux/omap35xx/image/Makefile
target/linux/omap35xx/image/ubinize.cfg [new file with mode: 0644]
target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch [new file with mode: 0644]

index 120b76e493b9e5e786358baeca2f1e599cf2ca52..6bfd63803bf72c7f1973ec6cf2be703e6d1b24b1 100644 (file)
@@ -29,7 +29,6 @@ CONFIG_ARM_L1_CACHE_SHIFT_6=y
 CONFIG_ARM_THUMB=y
 # CONFIG_ARM_THUMBEE is not set
 # CONFIG_ARPD is not set
-# CONFIG_AUTO_ZRELADDR is not set
 # CONFIG_BLK_DEV_INITRD is not set
 CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_RAM=y
@@ -39,7 +38,6 @@ CONFIG_BLK_DEV_SD=y
 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
 CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-# CONFIG_CC_STACKPROTECTOR is not set
 CONFIG_CMDLINE=" debug "
 CONFIG_COMMON_CLKDEV=y
 CONFIG_COMPAT_BRK=y
@@ -69,7 +67,7 @@ CONFIG_CRYPTO_BLKCIPHER=y
 CONFIG_CRYPTO_BLKCIPHER2=y
 CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_DEFLATE=y
 CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_DEV_OMAP_SHAM is not set
 CONFIG_CRYPTO_ECB=m
@@ -77,6 +75,7 @@ CONFIG_CRYPTO_HASH=y
 CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_HMAC=m
 CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_LZO=y
 CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_MD5=y
@@ -84,7 +83,6 @@ CONFIG_CRYPTO_PCBC=m
 CONFIG_CRYPTO_RNG2=y
 CONFIG_CRYPTO_WORKQUEUE=y
 CONFIG_DEBUG_GPIO=y
-# CONFIG_DEBUG_ICEDCC is not set
 CONFIG_DEBUG_INFO=y
 # CONFIG_DEBUG_INFO_REDUCED is not set
 CONFIG_DEBUG_KERNEL=y
@@ -96,7 +94,6 @@ CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_DEADLINE is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
 CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
 CONFIG_DETECT_HUNG_TASK=y
 CONFIG_DEVKMEM=y
 CONFIG_DEVTMPFS=y
@@ -136,8 +133,6 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 CONFIG_FRAME_POINTER=y
 CONFIG_FREEZER=y
-CONFIG_FS_MBCACHE=m
-CONFIG_FS_POSIX_ACL=y
 CONFIG_FUSE_FS=m
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
@@ -182,6 +177,8 @@ CONFIG_I2C_CHARDEV=y
 CONFIG_I2C_GPIO=y
 CONFIG_I2C_HELPER_AUTO=y
 CONFIG_I2C_OMAP=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
 CONFIG_INET_DIAG=y
 CONFIG_INET_TCP_DIAG=y
 CONFIG_INET_XFRM_MODE_BEET=y
@@ -202,24 +199,12 @@ CONFIG_IP_PNP_DHCP=y
 CONFIG_IP_PNP_RARP=y
 # CONFIG_ISDN is not set
 # CONFIG_ISP1301_OMAP is not set
-CONFIG_JBD=y
-CONFIG_JBD2=m
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-# CONFIG_JFFS2_LZMA is not set
-# CONFIG_JFFS2_SUMMARY is not set
-CONFIG_JFFS2_ZLIB=y
+CONFIG_JBD2=y
+# CONFIG_JFFS2_FS is not set
 CONFIG_KERNEL_GZIP=y
 # CONFIG_KERNEL_LZMA is not set
 CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
 # CONFIG_KEYBOARD_TWL4030 is not set
-# CONFIG_KEYBOARD_XTKBD is not set
 # CONFIG_LBDAF is not set
 # CONFIG_LEDS is not set
 # CONFIG_LEDS_GPIO is not set
@@ -227,6 +212,8 @@ CONFIG_KEYBOARD_ATKBD=y
 # CONFIG_LEDS_TRIGGERS is not set
 CONFIG_LIBCRC32C=y
 CONFIG_LOG_BUF_SHIFT=16
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
 # CONFIG_MACH_CM_T35 is not set
 # CONFIG_MACH_DEVKIT8000 is not set
 # CONFIG_MACH_IGEP0020 is not set
@@ -263,18 +250,25 @@ CONFIG_MOUSE_PS2=y
 # CONFIG_MOUSE_SERIAL is not set
 # CONFIG_MOUSE_VSXXXAA is not set
 CONFIG_MSDOS_FS=y
-CONFIG_MTD_AR7_PARTS=y
-CONFIG_MTD_BLOCK2MTD=y
+# CONFIG_MTD_BLKDEVS is not set
+# CONFIG_MTD_BLOCK is not set
+# CONFIG_MTD_BLOCK_RO is not set
 # CONFIG_MTD_CFI is not set
 # CONFIG_MTD_COMPLEX_MAPPINGS is not set
-CONFIG_MTD_DEBUG=y
-CONFIG_MTD_DEBUG_VERBOSE=0
 CONFIG_MTD_NAND=y
 CONFIG_MTD_NAND_ECC=y
-CONFIG_MTD_NAND_GPIO=y
-# CONFIG_MTD_NAND_OMAP2 is not set
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_OMAP_PREFETCH=y
+# CONFIG_MTD_NAND_OMAP_PREFETCH_DMA is not set
 CONFIG_MTD_NAND_PLATFORM=y
+# CONFIG_MTD_ROOTFS_ROOT_DEV is not set
+# CONFIG_MTD_ROOTFS_SPLIT is not set
 # CONFIG_MTD_SM_COMMON is not set
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_DEBUG is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
 # CONFIG_MUSB_PIO_ONLY is not set
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEON=y
@@ -353,16 +347,11 @@ CONFIG_REGULATOR_TWL4030=y
 # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
 CONFIG_RTC_CLASS=y
 # CONFIG_RTC_DRV_CMOS is not set
-# CONFIG_RTC_DRV_DS3232 is not set
-# CONFIG_RTC_DRV_ISL12022 is not set
 CONFIG_RTC_DRV_TWL4030=y
 CONFIG_SCHED_DEBUG=y
 CONFIG_SCSI=y
 # CONFIG_SCSI_MULTI_LUN is not set
 # CONFIG_SDIO_UART is not set
-# CONFIG_SENSORS_EMC2103 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_SMM665 is not set
 CONFIG_SERIAL_8250_DETECT_IRQ=y
 CONFIG_SERIAL_8250_EXTENDED=y
 CONFIG_SERIAL_8250_MANY_PORTS=y
@@ -375,7 +364,6 @@ CONFIG_SERIO_LIBPS2=y
 # CONFIG_SERIO_RAW is not set
 CONFIG_SERIO_SERPORT=y
 CONFIG_SMSC911X=y
-# CONFIG_SPARSE_IRQ is not set
 CONFIG_SPI=y
 # CONFIG_SPI_BITBANG is not set
 # CONFIG_SPI_GPIO is not set
@@ -403,6 +391,12 @@ CONFIG_TWL4030_POWER=y
 CONFIG_TWL4030_USB=y
 CONFIG_TWL4030_WATCHDOG=y
 # CONFIG_TWL6030_PWM is not set
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+# CONFIG_UBIFS_FS_DEBUG is not set
+CONFIG_UBIFS_FS_LZO=y
+# CONFIG_UBIFS_FS_XATTR is not set
+CONFIG_UBIFS_FS_ZLIB=y
 CONFIG_UID16=y
 CONFIG_USB=y
 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
index c4e94796fb38f3a9deffc0d5f65455008d1702e7..0eae28216e08a8893f4bea393ae013e8b363d10f 100644 (file)
@@ -5,6 +5,8 @@
 # See /LICENSE for more information.
 #
 
+FEATURES:=ubifs
+
 define Profile/Gumstix
   NAME:=gumstix
   PACKAGES:=-iptables -ppp -ppp-mod-pppoe -kmod-ipt-nathelper \
@@ -18,7 +20,7 @@ define Profile/Gumstix
                crda iw kmod-usb-hid \
                kmod-usb-storage kmod-usb-storage-extras \
                kmod-fs-vfat \
-               hegw hegwtest
+               hegw hegwtest mtd-utils
 endef
 
 define Profile/Gumstix/Description
index adaf395b70d282899c4275f5f40e0b464ece60cd..e238c48af883af81fb7276a868ef25cf19a4f4a1 100644 (file)
@@ -10,9 +10,12 @@ include $(INCLUDE_DIR)/image.mk
 JFFS2_BLOCKSIZE=128k
 JFFS2OPTS += --little-endian --pagesize=0x800 --no-cleanmarkers --pad
 
+UBIFS_OPTS = -m 2048 -e 126KiB -c 1996
+UBINIZE_OPTS = -m 2048 -p 128KiB -s 512
+
 define Image/BuildKernel
        $(TARGET_CROSS)objcopy -O binary -R .note -R .comment -S $(LINUX_DIR)/arch/arm/boot/compressed/vmlinux linux.bin
-       mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n "OpenWRT Kernel Image beagleboard" -d linux.bin uImage
+       mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n "OpenWRT Kernel Image gumstix" -d linux.bin uImage
        mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'uImage.bin+mmc2' -d ../files/boot-mmc.cmd boot.scr
 
        mv uImage $(BIN_DIR)/$(IMG_PREFIX)-$(KERNEL)-uImage
@@ -20,11 +23,13 @@ define Image/BuildKernel
        rm linux.bin
 endef
 
+ifndef CONFIG_TARGET_omap35xx_gumstix
 define Image/Build
        $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(KERNEL)-root.$(1)
        PADDING="true" PATH="$(TARGET_PATH)" ./gen_image.sh $(BIN_DIR)/$(IMG_PREFIX)-$(1).image 4 $(KDIR)/root.bootscript 240 $(KDIR)/root.$(1)
        $(call Image/Build/$(1),$(1))
 endef
+endif
 
 ifdef CONFIG_TARGET_omap35xx_gumstix
 define Image/Prepare
diff --git a/target/linux/omap35xx/image/ubinize.cfg b/target/linux/omap35xx/image/ubinize.cfg
new file mode 100644 (file)
index 0000000..49d55b9
--- /dev/null
@@ -0,0 +1,14 @@
+[rootfs]
+# Volume mode (other option is static)
+mode=ubi
+# Source image
+image=root.ubifs
+# Volume ID in UBI image
+vol_id=0
+# Allow for dynamic resize
+vol_type=dynamic
+# Volume name
+vol_name=rootfs
+# Autoresize volume at first mount
+vol_flags=autoresize
+
diff --git a/target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch b/target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch
new file mode 100644 (file)
index 0000000..038c1af
--- /dev/null
@@ -0,0 +1,36 @@
+From 859158bfab7e72af440622fb9731bcaef4e7d6dc Mon Sep 17 00:00:00 2001
+From: Sukumar Ghorai <s-ghorai@ti.com>
+Date: Fri, 19 Nov 2010 14:45:26 +0000
+Subject: [PATCH] omap: nand: remove hardware ECC as default
+
+Commit 2c01946c6b9ebaa5a89710bc42ca224a7f52f227 (omap3 nand: cleanup
+virtual address usages) wrongly enabled CONFIG_MTD_NAND_OMAP_HWECC
+which breaks boards like beagle and pandora that use software ECC
+for write.
+
+Boards like beagle and pandora uses sw ecc for write (e.g. binary flushed
+from u-boot) and read from kernel.
+
+Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
+Acked-by: David Woodhouse <David.Woodhouse@intel.com>
+[tony@atomide.com: updated comments]
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+ drivers/mtd/nand/omap2.c |    1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
+index cd41c58..15682ec 100644
+--- a/drivers/mtd/nand/omap2.c
++++ b/drivers/mtd/nand/omap2.c
+@@ -7,7 +7,6 @@
+  * it under the terms of the GNU General Public License version 2 as
+  * published by the Free Software Foundation.
+  */
+-#define CONFIG_MTD_NAND_OMAP_HWECC
+ #include <linux/platform_device.h>
+ #include <linux/dma-mapping.h>
+-- 
+1.7.0.4
+