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>

SVN-Revision: 36860
This commit is contained in:
Jonas Gorski 2013-06-05 20:58:03 +00:00
parent 29464f1367
commit 9f7ef8d5f0
4 changed files with 31 additions and 8 deletions

View file

@ -97,6 +97,13 @@ menu "Target Images"
help help
Build a jffs2 root filesystem 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 config TARGET_ROOTFS_SQUASHFS
bool "squashfs" bool "squashfs"
default y if USES_SQUASHFS default y if USES_SQUASHFS

View file

@ -77,15 +77,25 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
else 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 # 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 '/^.+$$$$/' $(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-$(1)) $(call add_jffs2_mark,$(KDIR)/root.jffs2-$(2))
$(call Image/Build,jffs2-$(1)) $(call Image/Build,jffs2-$(2))
endef endef
ifneq ($(CONFIG_TARGET_ROOTFS_JFFS2),)
define Image/mkfs/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 endef
endif endif
@ -188,6 +198,7 @@ define BuildImage
$(call Image/mkfs/ext4) $(call Image/mkfs/ext4)
$(call Image/mkfs/iso) $(call Image/mkfs/iso)
$(call Image/mkfs/jffs2) $(call Image/mkfs/jffs2)
$(call Image/mkfs/jffs2_nand)
$(call Image/mkfs/squashfs) $(call Image/mkfs/squashfs)
$(call Image/mkfs/ubifs) $(call Image/mkfs/ubifs)
$(call Image/Checksum) $(call Image/Checksum)
@ -199,6 +210,7 @@ define BuildImage
$(call Image/mkfs/ext4) $(call Image/mkfs/ext4)
$(call Image/mkfs/iso) $(call Image/mkfs/iso)
$(call Image/mkfs/jffs2) $(call Image/mkfs/jffs2)
$(call Image/mkfs/jffs2_nand)
$(call Image/mkfs/squashfs) $(call Image/mkfs/squashfs)
$(call Image/mkfs/ubifs) $(call Image/mkfs/ubifs)
$(call Image/Checksum) $(call Image/Checksum)

View file

@ -165,7 +165,8 @@ sub target_config_features(@) {
/pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n"; /pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n";
/rtc/ and $ret .= "\tselect RTC_SUPPORT\n"; /rtc/ and $ret .= "\tselect RTC_SUPPORT\n";
/squashfs/ and $ret .= "\tselect USES_SQUASHFS\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"; /ext4/ and $ret .= "\tselect USES_EXT4\n";
/targz/ and $ret .= "\tselect USES_TARGZ\n"; /targz/ and $ret .= "\tselect USES_TARGZ\n";
/cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n"; /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";

View file

@ -48,6 +48,9 @@ config USES_SQUASHFS
config USES_JFFS2 config USES_JFFS2
bool bool
config USES_JFFS2_NAND
bool
config USES_EXT4 config USES_EXT4
bool bool