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/Config.in | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ package/mtd/Makefile.in | 3 ++ package/mtd/mtd.mk | 98 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 200 insertions(+) create mode 100644 package/mtd/Config.in create mode 100644 package/mtd/Makefile.in create mode 100644 package/mtd/mtd.mk (limited to 'package') diff --git a/package/mtd/Config.in b/package/mtd/Config.in new file mode 100644 index 000000000..a6cd22d62 --- /dev/null +++ b/package/mtd/Config.in @@ -0,0 +1,99 @@ + +menuconfig BR2_PACKAGE_MTD + bool "mtd/jffs2 utilities" + default n + help + Build mtd/jffs utilities + +config BR2_PACKAGE_MTD_FLASH_ERASE + bool "flash_erase" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_FLASH_ERASEASLL + bool "flash_eraseall" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_FLASH_INFO + bool "flash_info" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_FLASH_LOCK + bool "flash_loco" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_FLASH_UNLOCK + bool "flash_unlock" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_FLASHCP + bool "flashcp" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_JFFS2DUMP + bool "jffs2dump" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_FTL_CHECK + bool "ftl_check" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_FTL_FORMAT + bool "ftl_format" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_NFTL_FORMAT + bool "nftl_format" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_NFTLDUMP + bool "nftldump" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_MKFSJFFS2 + bool "mkfs.jffs2" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_MKFSJFFS + bool "mkfs.jffs" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_NANDDUMP + bool "nanddump" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_NANDWRITE + bool "nandwrite" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_MTD_DEBUG + bool "mtd_debug" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_DOCFDISK + bool "docfdisk" + default y + depends on BR2_PACKAGE_MTD + +config BR2_PACKAGE_MTD_DOC_LOADBIOS + bool "doc_loadbios" + default y + depends on BR2_PACKAGE_MTD + + + diff --git a/package/mtd/Makefile.in b/package/mtd/Makefile.in new file mode 100644 index 000000000..d8c9cd7aa --- /dev/null +++ b/package/mtd/Makefile.in @@ -0,0 +1,3 @@ +ifeq ($(strip $(BR2_PACKAGE_MTD)),y) +TARGETS+=mtd +endif 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