summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhcg <hcg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-02-02 14:58:30 +0000
committerhcg <hcg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-02-02 14:58:30 +0000
commitbc7abc312153405d372b51cd5ea9384f865ac86a (patch)
treee6af19e7892c83738c649be4b9b90625dea0665d
parentbba4bf7a0de8ae4a2222256dca0a6e48a6417215 (diff)
[gumstix] Add support for ubifs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25310 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/omap35xx/gumstix/config-2.6.3660
-rw-r--r--target/linux/omap35xx/gumstix/profiles/gumstix.mk4
-rw-r--r--target/linux/omap35xx/image/Makefile7
-rw-r--r--target/linux/omap35xx/image/ubinize.cfg14
-rw-r--r--target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch36
5 files changed, 86 insertions, 35 deletions
diff --git a/target/linux/omap35xx/gumstix/config-2.6.36 b/target/linux/omap35xx/gumstix/config-2.6.36
index 120b76e493..6bfd63803b 100644
--- a/target/linux/omap35xx/gumstix/config-2.6.36
+++ b/target/linux/omap35xx/gumstix/config-2.6.36
@@ -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
diff --git a/target/linux/omap35xx/gumstix/profiles/gumstix.mk b/target/linux/omap35xx/gumstix/profiles/gumstix.mk
index c4e94796fb..0eae28216e 100644
--- a/target/linux/omap35xx/gumstix/profiles/gumstix.mk
+++ b/target/linux/omap35xx/gumstix/profiles/gumstix.mk
@@ -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
diff --git a/target/linux/omap35xx/image/Makefile b/target/linux/omap35xx/image/Makefile
index adaf395b70..e238c48af8 100644
--- a/target/linux/omap35xx/image/Makefile
+++ b/target/linux/omap35xx/image/Makefile
@@ -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
index 0000000000..49d55b9840
--- /dev/null
+++ b/target/linux/omap35xx/image/ubinize.cfg
@@ -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
index 0000000000..038c1afecd
--- /dev/null
+++ b/target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch
@@ -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
+