diff options
author | jogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-06-05 20:58:03 +0000 |
---|---|---|
committer | jogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-06-05 20:58:03 +0000 |
commit | adf2c1219e02ac09b08bb20812436abf4fc0ef48 (patch) | |
tree | 13e60add6dc6841d2c73fc7642f002f26d07e830 | |
parent | cfb5f108fcb1cff1309532b96c1340ccfe2b3d08 (diff) |
target: split jffs2 NAND out of jffs2
Make jffs2_nand a separate option so this can be triggered without forcing
jffs2 images for nor targets.
Adds a new NAND_BLOCKSIZE variable that allows setting the generated layout
in <page_size>:<block_size> pairs.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36860 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | Config.in | 7 | ||||
-rw-r--r-- | include/image.mk | 26 | ||||
-rwxr-xr-x | scripts/metadata.pl | 3 | ||||
-rw-r--r-- | target/Config.in | 3 |
4 files changed, 31 insertions, 8 deletions
@@ -97,6 +97,13 @@ menu "Target Images" help Build a jffs2 root filesystem + config TARGET_ROOTFS_JFFS2_NAND + bool "jffs2 for NAND" + default y if USES_JFFS2_NAND + depends on !TARGET_ROOTFS_INITRAMFS && USES_JFFS2_NAND + help + Build a jffs2 root filesystem for NAND flash + config TARGET_ROOTFS_SQUASHFS bool "squashfs" default y if USES_SQUASHFS diff --git a/include/image.mk b/include/image.mk index 302228816e..60cde014de 100644 --- a/include/image.mk +++ b/include/image.mk @@ -77,15 +77,25 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) else - ifneq ($(CONFIG_TARGET_ROOTFS_JFFS2),) - define Image/mkfs/jffs2/sub + define Image/mkfs/jffs2/sub # FIXME: removing this line will cause strange behaviour in the foreach loop below - $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(JFFS2OPTS) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(1) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/' - $(call add_jffs2_mark,$(KDIR)/root.jffs2-$(1)) - $(call Image/Build,jffs2-$(1)) - endef + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(3) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(2) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/' + $(call add_jffs2_mark,$(KDIR)/root.jffs2-$(2)) + $(call Image/Build,jffs2-$(2)) + endef + + ifneq ($(CONFIG_TARGET_ROOTFS_JFFS2),) define Image/mkfs/jffs2 - $(foreach SZ,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/sub,$(SZ))) + $(foreach SZ,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/sub,$(SZ),$(SZ),$(JFFS2OPS))) + endef + endif + + ifneq ($(CONFIG_TARGET_ROOTFS_JFFS2_NAND),) + define Image/mkfs/jffs2_nand + $(foreach SZ,$(NAND_BLOCKSIZE), $(call Image/mkfs/jffs2/sub, \ + $(word 2,$(subst :, ,$(SZ))),nand-$(subst :,-,$(SZ)), \ + $(JFFS2OPTS) --no-cleanmarkers --pagesize=$(word 1,$(subst :, ,$(SZ)))) \ + ) endef endif @@ -188,6 +198,7 @@ define BuildImage $(call Image/mkfs/ext4) $(call Image/mkfs/iso) $(call Image/mkfs/jffs2) + $(call Image/mkfs/jffs2_nand) $(call Image/mkfs/squashfs) $(call Image/mkfs/ubifs) $(call Image/Checksum) @@ -199,6 +210,7 @@ define BuildImage $(call Image/mkfs/ext4) $(call Image/mkfs/iso) $(call Image/mkfs/jffs2) + $(call Image/mkfs/jffs2_nand) $(call Image/mkfs/squashfs) $(call Image/mkfs/ubifs) $(call Image/Checksum) diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 13abcb2937..ade86c867c 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -165,7 +165,8 @@ sub target_config_features(@) { /pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n"; /rtc/ and $ret .= "\tselect RTC_SUPPORT\n"; /squashfs/ and $ret .= "\tselect USES_SQUASHFS\n"; - /jffs2/ and $ret .= "\tselect USES_JFFS2\n"; + /jffs2$/ and $ret .= "\tselect USES_JFFS2\n"; + /jffs2_nand/ and $ret .= "\tselect USES_JFFS2_NAND\n"; /ext4/ and $ret .= "\tselect USES_EXT4\n"; /targz/ and $ret .= "\tselect USES_TARGZ\n"; /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n"; diff --git a/target/Config.in b/target/Config.in index 947e80ca4a..a7951aaf3b 100644 --- a/target/Config.in +++ b/target/Config.in @@ -48,6 +48,9 @@ config USES_SQUASHFS config USES_JFFS2 bool +config USES_JFFS2_NAND + bool + config USES_EXT4 bool |