layerscape: support ubifs rootfs
authorYangbo Lu <yangbo.lu@nxp.com>
Fri, 19 Jan 2018 10:38:03 +0000 (18:38 +0800)
committerJohn Crispin <john@phrozen.org>
Tue, 13 Feb 2018 09:01:51 +0000 (10:01 +0100)
Some layerscape devices (ls1012ardb/ls1012afrdm/ls1046ardb/ls1088ardb)
were using ext4 rootfs because there were issues using squashfs.
This patch is to drop using ext4 rootfs and use ubifs rootfs instead
which is more proper for SPI-NOR flash.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
target/linux/layerscape/Makefile
target/linux/layerscape/armv8_64b/config-4.9
target/linux/layerscape/image/Makefile

index bd91556..f533767 100644 (file)
@@ -10,7 +10,7 @@ BOARD:=layerscape
 BOARDNAME:=NXP Layerscape
 DEVICE_TYPE:=developerboard
 KERNEL_PATCHVER:=4.9
-FEATURES:=squashfs nand usb pcie gpio fpu
+FEATURES:=squashfs nand usb pcie gpio fpu ubifs
 SUBTARGETS:=armv8_64b armv8_32b
 MAINTAINER:=Yangbo Lu <yangbo.lu@nxp.com>
 
index 99a693c..976006c 100644 (file)
@@ -259,6 +259,7 @@ CONFIG_CRYPTO_CRC32C=y
 # CONFIG_CRYPTO_CRC32_ARM64 is not set
 CONFIG_CRYPTO_CRCT10DIF=y
 CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_DEFLATE=y
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_DEV_FSL_CAAM=y
 CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y
@@ -285,6 +286,7 @@ CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_HMAC=y
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_JITTERENTROPY=y
+CONFIG_CRYPTO_LZO=y
 CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_MD5=y
@@ -826,6 +828,12 @@ CONFIG_MTD_SPI_NOR=y
 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS_LIMIT=16384
 CONFIG_MTD_SST25L=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_BLOCK is not set
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_MUTEX_SPIN_ON_OWNER=y
 CONFIG_MV_XOR_V2=y
 CONFIG_NAMESPACES=y
@@ -1129,6 +1137,10 @@ CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
 # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
 CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
 CONFIG_TUN=y
+CONFIG_UBIFS_FS=y
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
 CONFIG_UCS2_STRING=y
 CONFIG_UIO=y
 CONFIG_UIO_AEC=y
index 88bf8d7..fc76ddd 100644 (file)
@@ -45,11 +45,6 @@ define Build/append-ls-dtb
        dd if=$(DTS_DIR)/$(1).dtb >> $@
 endef
 
-define Build/append-ls-rootfs-ext4
-       $(STAGING_DIR_HOST)/bin/make_ext4fs -l $(word 2,$(1)) -b 4096 -i 6000 -m 0 -J $(KDIR)/$(word 1,$(1))-$(word 2,$(1)).root.ext4 $(TARGET_DIR)
-       dd if=$(KDIR)/$(word 1,$(1))-$(word 2,$(1)).root.ext4 >> $@
-endef
-
 define Device/Default
   PROFILES = Default
   FILESYSTEMS := squashfs
@@ -89,13 +84,18 @@ define Device/ls1046ardb
   DEVICE_PACKAGES +=   rcw-layerscape-ls1046ardb uboot-layerscape-$(SUBTARGET)-ls1046ardb \
                        fman-layerscape-ls1046ardb layerscape-ppa-ls1046ardb
   DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1046a-rdb-sdk
+  FILESYSTEMS := ubifs
+  UBIFS_OPTS := -m 1 -e 262016 -c 128
+  UBINIZE_OPTS := -E 5
+  BLOCKSIZE := 256KiB
+  PAGESIZE := 1
   IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
                        append-ls-uboot $(1) | pad-to 4M | \
                        append-ls-ppa $(1) | pad-to 9M | \
                        append-ls-fman $(1) | pad-to 15M | \
                        append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
                        append-kernel | pad-to 32M | \
-                       append-ls-rootfs-ext4 $(1) 30M | check-size 67108865
+                       append-ubi | check-size 67108865
 endef
 TARGET_DEVICES += ls1046ardb
 
@@ -104,13 +104,18 @@ define Device/ls1012ardb
   DEVICE_PACKAGES +=   rcw-layerscape-ls1012ardb uboot-layerscape-$(SUBTARGET)-ls1012ardb \
                        kmod-ppfe layerscape-ppfe layerscape-ppa-ls1012ardb
   DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1012a-rdb
+  FILESYSTEMS := ubifs
+  UBIFS_OPTS := -m 1 -e 262016 -c 128
+  UBINIZE_OPTS := -E 5
+  BLOCKSIZE := 256KiB
+  PAGESIZE := 1
   IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
                        append-ls-uboot $(1) | pad-to 4M | \
                        append-ls-ppa $(1) | pad-to 10M | \
                        append-ls-ppfe | pad-to 15M | \
                        append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
                        append-kernel | pad-to 32M | \
-                       append-ls-rootfs-ext4 $(1) 30M | check-size 67108865
+                       append-ubi | check-size 67108865
 endef
 TARGET_DEVICES += ls1012ardb
 
@@ -119,13 +124,18 @@ define Device/ls1012afrdm
   DEVICE_PACKAGES +=   rcw-layerscape-ls1012afrdm uboot-layerscape-$(SUBTARGET)-ls1012afrdm \
                        kmod-ppfe layerscape-ppfe layerscape-ppa-ls1012afrdm
   DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1012a-frdm
+  FILESYSTEMS := ubifs
+  UBIFS_OPTS := -m 1 -e 262016 -c 128
+  UBINIZE_OPTS := -E 5
+  BLOCKSIZE := 256KiB
+  PAGESIZE := 1
   IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
                        append-ls-uboot $(1) | pad-to 4M | \
                        append-ls-ppa $(1) | pad-to 10M | \
                        append-ls-ppfe | pad-to 15M | \
                        append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
                        append-kernel | pad-to 32M | \
-                       append-ls-rootfs-ext4 $(1) 30M | check-size 67108865
+                       append-ubi | check-size 67108865
 endef
 TARGET_DEVICES += ls1012afrdm
 
@@ -136,6 +146,11 @@ define Device/ls1088ardb
                        layerscape-mc-ls1088ardb layerscape-dpl-ls1088ardb restool \
                        layerscape-ppa-ls1088ardb
   DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1088a-rdb
+  FILESYSTEMS := ubifs
+  UBIFS_OPTS := -m 1 -e 262016 -c 128
+  UBINIZE_OPTS := -E 5
+  BLOCKSIZE := 256KiB
+  PAGESIZE := 1
   IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \
                        append-ls-uboot $(1) | pad-to 4M | \
                        append-ls-ppa $(1) | pad-to 10M | \
@@ -144,7 +159,7 @@ define Device/ls1088ardb
                        append-ls-dpc $(1) | pad-to 15M | \
                        append-ls-dtb $$(DEVICE_DTS) | pad-to 16M | \
                        append-kernel | pad-to 32M | \
-                       append-ls-rootfs-ext4 $(1) 30M | check-size 67108865
+                       append-ubi | check-size 67108865
 endef
 TARGET_DEVICES += ls1088ardb