From 1079a03886807557e3a21cbe6266a7ad21106720 Mon Sep 17 00:00:00 2001 From: Yangbo Lu Date: Fri, 19 Jan 2018 18:38:03 +0800 Subject: [PATCH] layerscape: support ubifs rootfs 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 --- target/linux/layerscape/Makefile | 2 +- target/linux/layerscape/armv8_64b/config-4.9 | 12 +++++++ target/linux/layerscape/image/Makefile | 33 ++++++++++++++------ 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/target/linux/layerscape/Makefile b/target/linux/layerscape/Makefile index bd91556ef4..f533767fa6 100644 --- a/target/linux/layerscape/Makefile +++ b/target/linux/layerscape/Makefile @@ -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 diff --git a/target/linux/layerscape/armv8_64b/config-4.9 b/target/linux/layerscape/armv8_64b/config-4.9 index 99a693c1d5..976006ca44 100644 --- a/target/linux/layerscape/armv8_64b/config-4.9 +++ b/target/linux/layerscape/armv8_64b/config-4.9 @@ -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 diff --git a/target/linux/layerscape/image/Makefile b/target/linux/layerscape/image/Makefile index 88bf8d7b40..fc76ddd2ef 100644 --- a/target/linux/layerscape/image/Makefile +++ b/target/linux/layerscape/image/Makefile @@ -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 -- 2.30.2