From dda90723ce4a6d8c84dbf7c66ef8b2c4e5d67b2c Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sun, 23 Jan 2005 11:16:11 +0000 Subject: Patch from gtj: http://bugs.uclibc.org/view.php?id=40 0000040: Adds options to jffs2 filesystem creation Brings jffs2 up to the 20041007 build level so it will compile with both 2.4 and 2.6 kernels. Adds ability to specify eraseblock and pad sizes, permissions squash, big/little endian and device table in the configuration. Also adds capability to copy the resulting image to a secondary location like a tftp server's root directory. mtd.patch adds capabilities of the previously attached patch plus allows you to compile a version of the utilities to run on the target system. So now there's a set of config options under package to compile the utils for distribution to the target and a set of config options under target to create a jffs2 filesystem. --- package/mtd/mtd.mk | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 package/mtd/mtd.mk (limited to 'package/mtd/mtd.mk') diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk new file mode 100644 index 000000000..ea1cf31f1 --- /dev/null +++ b/package/mtd/mtd.mk @@ -0,0 +1,98 @@ +############################################################# +# +# mtd provides jffs2 utilities +# +############################################################# +MTD_SOURCE=mtd_20041007.orig.tar.gz +MTD_SITE=http://ftp.debian.org/debian/pool/main/m/mtd + +############################################################# +# +# Build mkfs.jffs2 for use on the local host system if +# needed by target/jffs2root. +# If /sbin/mkfs.jffs2 already exists, no make is needed +# +############################################################# +MKFS_JFFS2=$(shell which mkfs.jffs2 2>/dev/null || echo $(STAGING_DIR)/bin/mkfs.jffs2) + +MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd-20041007.orig + +$(DL_DIR)/$(MTD_SOURCE): + $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE) + +$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) + zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - + touch $(MTD_HOST_DIR)/.unpacked + +$(MTD_HOST_DIR)/util/mkfs.jffs2: $(MTD_HOST_DIR)/.unpacked + CFLAGS=-I$(LINUX_HEADERS_DIR)/include \ + $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR)/util mkfs.jffs2 + +$(STAGING_DIR)/bin/mkfs.jffs2: $(MTD_HOST_DIR)/util/mkfs.jffs2 + cp -f $(MTD_HOST_DIR)/util/mkfs.jffs2 $(STAGING_DIR)/bin + +mtd-host: $(MKFS_JFFS2) + +mtd-host-source: $(DL_DIR)/$(MTD_SOURCE) + +mtd-host-clean: + -$(MAKE) -C $(MTD_HOST_DIR) clean + +mtd-host-dirclean: + rm -rf $(MTD_HOST_DIR) + +############################################################# +# +# build mtd for use on the target system +# +############################################################# +MTD_DIR:=$(BUILD_DIR)/mtd-20041007.orig + +$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) + zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + touch $(MTD_DIR)/.unpacked + +MTD_TARGETS_n := +MTD_TARGETS_y := + +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASEALL) += flash_eraseall +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_INFO) += flash_info +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock +MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp +MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2 +MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS) += mkfs.jffs +MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump +MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check +MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format +MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump +MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format +MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMPP) += nanddump +MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite +MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug +MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk +MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios + +MTD_BUILD_TARGETS := $(addprefix $(MTD_DIR)/util/, $(MTD_TARGETS_y)) + +$(MTD_BUILD_TARGETS): $(MTD_DIR)/.unpacked + CFLAGS="-I$(LINUX_HEADERS_DIR)/include $(TARGET_CFLAGS)" \ + $(MAKE) CC=$(TARGET_CC) LINUXDIR=$(LINUX_DIR) -C $(MTD_DIR)/util + +MTD_TARGETS := $(addprefix $(TARGET_DIR)/usr/sbin/, $(MTD_TARGETS_y)) + +$(MTD_TARGETS): $(TARGET_DIR)/usr/sbin/% : $(MTD_DIR)/util/% + cp -f $< $@ + +mtd: $(MTD_TARGETS) + +mtd-source: $(DL_DIR)/$(MTD_SOURCE) + +mtd-clean: + -$(MAKE) -C $(MTD_DIR) clean + +mtd-dirclean: + rm -rf $(MTD_DIR) + + -- cgit v1.2.3