Skip to content

Commit

Permalink
target: split jffs2 NAND out of jffs2
Browse files Browse the repository at this point in the history
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
  • Loading branch information
KanjiMonster committed Jun 5, 2013
1 parent 29464f1 commit 9f7ef8d
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 8 deletions.
7 changes: 7 additions & 0 deletions Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
26 changes: 19 additions & 7 deletions include/image.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down
3 changes: 2 additions & 1 deletion scripts/metadata.pl
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,8 @@ (@)
/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";
Expand Down
3 changes: 3 additions & 0 deletions target/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ config USES_SQUASHFS
config USES_JFFS2
bool

config USES_JFFS2_NAND
bool

config USES_EXT4
bool

Expand Down

0 comments on commit 9f7ef8d

Please sign in to comment.