From c808a4a7efd0342cb565958dcd43bdd75d432ded Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Sat, 12 Oct 2013 21:44:48 +0000 Subject: [PATCH] ubifs: enable building modular images Now it is possible to build ubi/ubifs images for only selected boards inside single target. Signed-off-by: Luka Perkov SVN-Revision: 38375 --- include/image.mk | 22 ++++++++++++++++------ target/linux/kirkwood/image/Makefile | 16 ++++++++++++++-- target/linux/xburst/image/Makefile | 4 ++-- 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/include/image.mk b/include/image.mk index f5f1c8fb54fe..aa3bf27de06d 100644 --- a/include/image.mk +++ b/include/image.mk @@ -35,7 +35,7 @@ ifeq ($(CONFIG_JFFS2_LZMA),y) JFFS2OPTS += -X lzma --compression-mode=size endif ifneq ($(CONFIG_JFFS2_RTIME),y) - JFFS2OPTS += -x rtime + JFFS2OPTS += -x rtime endif ifneq ($(CONFIG_JFFS2_ZLIB),y) JFFS2OPTS += -x zlib @@ -115,7 +115,8 @@ endif ifneq ($(CONFIG_TARGET_ROOTFS_UBIFS),) define Image/mkfs/ubifs - $(CP) ./ubinize.cfg $(KDIR) + + ifdef UBIFS_OPTS $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ $(UBIFS_OPTS) \ $(if $(CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP),--space-fixup) \ @@ -125,10 +126,19 @@ ifneq ($(CONFIG_TARGET_ROOTFS_UBIFS),) --jrn-size=$(CONFIG_TARGET_UBIFS_JOURNAL_SIZE) \ -o $(KDIR)/root.ubifs \ -d $(TARGET_DIR) - $(call Image/Build,ubifs) - (cd $(KDIR); \ - $(STAGING_DIR_HOST)/bin/ubinize $(UBINIZE_OPTS) -o $(KDIR)/root.ubi ubinize.cfg) - $(call Image/Build,ubi) + endif + $(call Image/Build,ubifs) + + ifdef UBI_OPTS + $(CP) ./ubinize.cfg $(KDIR) + ( cd $(KDIR); \ + $(STAGING_DIR_HOST)/bin/ubinize \ + $(UBI_OPTS) \ + -o $(KDIR)/root.ubi \ + ubinize.cfg \ + ) + endif + $(call Image/Build,ubi) endef endif diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index b3d25f56b016..c63f606c69f4 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -8,8 +8,6 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk NAND_BLOCKSIZE := 2048:128k -UBIFS_OPTS := -m 2048 -e 126KiB -c 4096 -U -UBINIZE_OPTS := -m 2048 -p 128KiB -s 512 define Image/BuildKernel $(CP) $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage @@ -60,4 +58,18 @@ define Image/Build/squashfs ) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img endef +define Image/Build/ubifs + + ifdef UBIFS_OPTS + $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img + endif +endef + +define Image/Build/ubi + + ifdef UBI_OPTS + $(call Image/Build/ubifs,$(1)) + endif +endef + $(eval $(call BuildImage)) diff --git a/target/linux/xburst/image/Makefile b/target/linux/xburst/image/Makefile index 9c03b3809231..0de5560c961e 100644 --- a/target/linux/xburst/image/Makefile +++ b/target/linux/xburst/image/Makefile @@ -10,11 +10,11 @@ include $(INCLUDE_DIR)/image.mk JFFS2_BLOCKSIZE=256k 512k ifneq ($(CONFIG_TARGET_xburst_qi_lb60),) +UBI_OPTS = -m 4096 -p 512KiB UBIFS_OPTS = -m 4096 -e 516096 -c 4095 -UBINIZE_OPTS = -m 4096 -p 512KiB else +UBI_OPTS = -m 2048 -p 128KiB -s 512 UBIFS_OPTS = -m 2048 -e 126KiB -c 4096 -UBINIZE_OPTS = -m 2048 -p 128KiB -s 512 endif UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage.bin -- 2.30.2