>From 272f548fe8d0b811e0589e535f650f0507f6bccd Mon Sep 17 00:00:00 2001
From: Owen Kirby <o...@exegin.com>
Date: Fri, 11 Apr 2014 17:59:55 -0700
Subject: [PATCH 2/3] [at91] AT91SAM9G20-EK fixes.

While testing the 3.10 kernel update, I found that the out-of-the-box device 
tree for the
the AT91SAM9G20EK uses a UBIFS rootfs and stores the DTB separately from the 
zImage.

Signed-off-by: Owen Kirby <o...@exegin.com>
---
 target/linux/at91/config-default    |   10 ++++++++++
 target/linux/at91/image/Makefile    |   12 ++++++++++--
 target/linux/at91/image/ubinize.cfg |   13 +++++++++++++
 3 files changed, 33 insertions(+), 2 deletions(-)
 create mode 100644 target/linux/at91/image/ubinize.cfg

diff --git a/target/linux/at91/config-default b/target/linux/at91/config-default
index fcee520..8f2a67d 100644
--- a/target/linux/at91/config-default
+++ b/target/linux/at91/config-default
@@ -154,6 +154,11 @@ CONFIG_MTD_OF_PARTS=y
 CONFIG_MTD_PHYSMAP=y
 CONFIG_MTD_PHYSMAP_OF=y
 # CONFIG_MTD_SM_COMMON is not set
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_MULTI_IRQ_HANDLER=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEED_MACH_GPIO_H=y
@@ -213,6 +218,11 @@ CONFIG_SPLIT_PTLOCK_CPUS=999999
 # CONFIG_STAGING is not set
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
 CONFIG_TICK_CPU_ACCOUNTING=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_UID16=y
 CONFIG_UIDGID_CONVERTED=y
 # CONFIG_USB_ARCH_HAS_XHCI is not set
diff --git a/target/linux/at91/image/Makefile b/target/linux/at91/image/Makefile
index cf175ab..5c2f976 100644
--- a/target/linux/at91/image/Makefile
+++ b/target/linux/at91/image/Makefile
@@ -7,6 +7,9 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
+UBIFS_OPTS = -F -m 2048 -e 126KiB -c 2048 -U
+UBI_OPTS = -m 2048 -p 128KiB -s 512
+
 define Build/Clean
        $(MAKE) -C u-boot clean
 endef
@@ -28,11 +31,16 @@ define MkuImageDtb
                -d $(KDIR)/zImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage
 endef
 
+define MkOftree
+       cp -u $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
+       cp $(LINUX_DIR)/arch/arm/boot/dts/$(2).dtb 
$(BIN_DIR)/$(IMG_PREFIX)-$(1)-oftree.dtb
+endef
+
 # Atmel
 Image/Build/Kernel/AT91SAM9263EK=$(call MkuImageDtb,9263ek,at91sam9263ek)
 Image/Build/Kernel/AT91SAM9G15EK=$(call MkuImageDtb,9g15ek,at91sam9g15ek)
-Image/Build/Kernel/AT91SAM9G20EK=$(call MkuImageDtb,9g20ek,at91sam9g20ek)
-Image/Build/Kernel/AT91SAM9G20EK-2MMC=$(call 
MkuImageDtb,9g20ek_2mmc,at91sam9g20ek_2mmc)
+Image/Build/Kernel/AT91SAM9G20EK=$(call MkOftree,9g20ek,at91sam9g20ek)
+Image/Build/Kernel/AT91SAM9G20EK-2MMC=$(call 
MkOftree,9g20ek_2mmc,at91sam9g20ek_2mmc)
 Image/Build/Kernel/AT91SAM9G25EK=$(call MkuImageDtb,9g25ek,at91sam9g25ek)
 Image/Build/Kernel/AT91SAM9G35EK=$(call MkuImageDtb,9g35ek,at91sam9g35ek)
 Image/Build/Kernel/AT91SAM9M10G45EK=$(call 
MkuImageDtb,9m10g45ek,at91sam9m10g45ek)
diff --git a/target/linux/at91/image/ubinize.cfg 
b/target/linux/at91/image/ubinize.cfg
new file mode 100644
index 0000000..e4149ec
--- /dev/null
+++ b/target/linux/at91/image/ubinize.cfg
@@ -0,0 +1,13 @@
+[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
-- 
1.7.9.5
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to