From a177d6bfafa5ace9e7ee0defe2a1b9c1ae52f23b Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Tue, 29 Apr 2014 21:02:05 +0000 Subject: [PATCH] at91: AT91SAM9G20-EK fixes From 272f548fe8d0b811e0589e535f650f0507f6bccd Mon Sep 17 00:00:00 2001 From: Owen Kirby 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40597 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/at91/config-default | 14 ++++++++++++++ target/linux/at91/image/Makefile | 12 ++++++++++-- target/linux/at91/image/ubinize.cfg | 13 +++++++++++++ 3 files changed, 37 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 92f3893f4a..966cf9afc9 100644 --- a/target/linux/at91/config-default +++ b/target/linux/at91/config-default @@ -58,8 +58,10 @@ CONFIG_CPU_TLB_V4WBI=y CONFIG_CPU_USE_DOMAINS=y CONFIG_CRC16=y CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_LZO=y CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" # CONFIG_DEBUG_PINCTRL is not set @@ -135,6 +137,8 @@ CONFIG_JBD2=y CONFIG_JFFS2_ZLIB=y CONFIG_KTIME_SCALAR=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE=y CONFIG_M25PXX_USE_FAST_READ=y CONFIG_MACB=y @@ -156,6 +160,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_KUSER_HELPERS=y @@ -218,6 +227,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_UNCOMPRESS_INCLUDE="mach/uncompress.h" diff --git a/target/linux/at91/image/Makefile b/target/linux/at91/image/Makefile index cf175ab2e2..5c2f976446 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 0000000000..e4149ec7d7 --- /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