From 58ae45f345826e27b17ad16c8d8a5699ec006a1f Mon Sep 17 00:00:00 2001 From: Ulf Samuelsson Date: Fri, 20 Jul 2007 08:00:19 +0000 Subject: [PATCH] Add optional mtd configuration (experimental - only available for Atmel targets) --- package/mtd/20050122/mtd.mk | 163 +++++++++++++++++ package/mtd/20050122/mtd.patch | 45 +++++ .../20061007/mtd-20061007-mkfs.jffs2.patch | 19 ++ package/mtd/20061007/mtd.mk | 114 ++++++++++++ package/mtd/20061007/mtd_20061007.patch | 93 ++++++++++ package/mtd/20061007/mtd_acl.patch | 48 +++++ package/mtd/Config.in | 29 +++- package/mtd/mtd.mk | 164 +----------------- 8 files changed, 511 insertions(+), 164 deletions(-) create mode 100644 package/mtd/20050122/mtd.mk create mode 100644 package/mtd/20050122/mtd.patch create mode 100644 package/mtd/20061007/mtd-20061007-mkfs.jffs2.patch create mode 100644 package/mtd/20061007/mtd.mk create mode 100644 package/mtd/20061007/mtd_20061007.patch create mode 100644 package/mtd/20061007/mtd_acl.patch diff --git a/package/mtd/20050122/mtd.mk b/package/mtd/20050122/mtd.mk new file mode 100644 index 0000000000..0a94deb667 --- /dev/null +++ b/package/mtd/20050122/mtd.mk @@ -0,0 +1,163 @@ +############################################################# +# +# mtd provides jffs2 utilities +# +############################################################# +ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) +# Be aware that this changes daily.... + +MTD_DL_SOURCE:=mtd-snapshot-$(DATE).tar.bz2 +MTD_CAT:=$(BZCAT) +MTD_SOURCE:=mtd-snapshot.tar.bz2 +MTD_SITE:=ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs +MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_snapshot +MTD_DIR:=$(BUILD_DIR)/mtd_snapshot +else +MTD_SOURCE:=$(strip $(subst ",, $(BR2_PACKAGE_MTD_ORIG_STRING))) +#")) +MTD_SITE:=http://ftp.debian.org/debian/pool/main/m/mtd +MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_orig +MTD_DIR:=$(BUILD_DIR)/mtd_orig +MTD_CAT:=$(ZCAT) +endif + + + +############################################################# +# +# Build mkfs.jffs2 for use on the local host system if +# needed by target/jffs2root. +# +############################################################# +MKFS_JFFS2 := $(MTD_HOST_DIR)/util/mkfs.jffs2 + +ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) +$(DL_DIR)/$(MTD_SOURCE): + $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_DL_SOURCE) + mv $(DL_DIR)/$(MTD_DL_SOURCE) $(DL_DIR)/$(MTD_SOURCE) + +$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE_GENERIC) + $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - + mv $(TOOL_BUILD_DIR)/$(shell tar tjf $(DL_DIR)/$(MTD_SOURCE) \ + | head -n 1 | xargs basename) $(MTD_HOST_DIR) + touch $@ +else +ifneq ($(MTD_SOURCE),) +$(DL_DIR)/$(MTD_SOURCE): + $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE) +endif + +$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) + $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - + mv $(TOOL_BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) | head -n 1 \ + | xargs basename) $(MTD_HOST_DIR) + toolchain/patch-kernel.sh $(MTD_HOST_DIR) package/mtd \*.patch + touch $@ +endif + +$(MTD_HOST_DIR)/util/mkfs.jffs2: $(MTD_HOST_DIR)/.unpacked + CFLAGS=-I$(LINUX_HEADERS_DIR)/include $(MAKE) CC="$(HOSTCC)" CROSS= \ + LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR)/util mkfs.jffs2 + +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)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) + $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - +ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) + mv $(BUILD_DIR)/$(shell tar tjf $(DL_DIR)/$(MTD_SOURCE) \ + | head -n 1 | xargs basename) $(MTD_DIR) + touch $@ +else + mv $(BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) \ + | head -n 1 | xargs basename) $(MTD_DIR) + toolchain/patch-kernel.sh $(MTD_DIR) \ + package/mtd \*.patch + touch $@ +endif + +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_JFFS3DUMP) += jffs3dump +MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool +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_NANDDUMP) += 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 + $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + CFLAGS+="-I$(MTD_DIR)/include" \ + CFLAGS+="-I$(LINUX_HEADERS_DIR)/include" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + 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/% + mkdir -p $(TARGET_DIR)/usr/sbin + cp -f $< $@ + $(STRIP) $@ +ifneq ($(BR2_PACKAGE_MTD_FLASHCP),) + -ln -sf flashcp $(TARGET_DIR)/usr/sbin/fcp +endif +ifneq ($(BR2_PACKAGE_MTD_ERASE),) + -ln -sf flash_erase $(TARGET_DIR)/usr/sbin/erase + -ln -sf flash_eraseall $(TARGET_DIR)/usr/sbin/eraseall +endif + +mtd: zlib $(MTD_TARGETS) + +mtd-source: $(DL_DIR)/$(MTD_SOURCE) + +mtd-clean: + -$(MAKE) -C $(MTD_DIR) clean +ifneq ($(BR2_PACKAGE_MTD_FLASHCP),) + -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/fcp +endif +ifneq ($(BR2_PACKAGE_MTD_ERASE),) + -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/erase + -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/eraseall +endif + +mtd-dirclean: + rm -rf $(MTD_DIR) + + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(strip $(BR2_PACKAGE_MTD)),y) +TARGETS+=mtd +endif diff --git a/package/mtd/20050122/mtd.patch b/package/mtd/20050122/mtd.patch new file mode 100644 index 0000000000..40d6865cc8 --- /dev/null +++ b/package/mtd/20050122/mtd.patch @@ -0,0 +1,45 @@ +diff -ur mtd-20050122.orig/util/flash_eraseall.c mtd-20050122.orig-patched/util/flash_eraseall.c +--- mtd-20050122.orig/util/flash_eraseall.c 2004-12-09 17:00:52.000000000 -0600 ++++ mtd-20050122.orig-patched/util/flash_eraseall.c 2007-01-13 22:56:51.864233154 -0600 +@@ -54,7 +54,7 @@ + static void display_help (void); + static void display_version (void); + static struct jffs2_unknown_node cleanmarker; +-static int target_endian = __BYTE_ORDER; ++int target_endian = __BYTE_ORDER; + + int main (int argc, char *argv[]) + { +@@ -134,7 +134,7 @@ + if (!quiet) + printf ("\nSkipping bad block at 0x%08x\n", erase.start); + continue; +- } else if (ret == -EOPNOTSUPP) { ++ } else if (errno == EOPNOTSUPP) { + fprintf(stderr, "%s: %s: Bad block check not available\n", exe_name, mtd_device); + bbtest = 0; + } else if (ret < 0) { +diff -ur mtd-20050122.orig/util/mkfs.jffs2.c mtd-20050122.orig-patched/util/mkfs.jffs2.c +--- mtd-20050122.orig/util/mkfs.jffs2.c 2004-11-26 17:00:13.000000000 -0600 ++++ mtd-20050122.orig-patched/util/mkfs.jffs2.c 2007-01-13 22:55:53.627687214 -0600 +@@ -101,7 +101,7 @@ + static int squash_uids = 0; + static int squash_perms = 0; + static int fake_times = 0; +-static int target_endian = __BYTE_ORDER; ++int target_endian = __BYTE_ORDER; + static const char *const app_name = "mkfs.jffs2"; + static const char *const memory_exhausted = "memory exhausted"; + +diff -ur mtd-20050122.orig/util/sumtool.c mtd-20050122.orig-patched/util/sumtool.c +--- mtd-20050122.orig/util/sumtool.c 2005-01-05 17:00:16.000000000 -0600 ++++ mtd-20050122.orig-patched/util/sumtool.c 2007-01-13 22:56:05.528616125 -0600 +@@ -68,7 +68,7 @@ + static int cleanmarker_size = sizeof(cleanmarker); + static const char *short_options = "o:i:e:hvVblnc:p"; + static int erase_block_size = 65536; +-static int target_endian = __BYTE_ORDER; ++int target_endian = __BYTE_ORDER; + static int out_fd = -1; + static int in_fd = -1; + diff --git a/package/mtd/20061007/mtd-20061007-mkfs.jffs2.patch b/package/mtd/20061007/mtd-20061007-mkfs.jffs2.patch new file mode 100644 index 0000000000..3c4d6bad62 --- /dev/null +++ b/package/mtd/20061007/mtd-20061007-mkfs.jffs2.patch @@ -0,0 +1,19 @@ +diff -urN mtd-20061007.orig-0rig/mkfs.jffs2.c mtd-20061007.orig/mkfs.jffs2.c +--- mtd-20061007.orig-0rig/mkfs.jffs2.c 2006-10-07 17:33:37.000000000 +0200 ++++ mtd-20061007.orig/mkfs.jffs2.c 2007-04-09 02:16:06.000000000 +0200 +@@ -240,6 +242,15 @@ + { + struct filesystem_entry *e = dir; + ++ if((strlen(fullname) == 1) && (fullname[0] == '/')) { ++ /* Looking for "root" */ ++ if(e != NULL) { ++ if((strlen(e->fullname) == 1) && (e->fullname[0] == '/')) { ++ return (e); ++ } ++ } ++ } ++ + if (S_ISDIR(dir->sb.st_mode)) { + e = dir->files; + } diff --git a/package/mtd/20061007/mtd.mk b/package/mtd/20061007/mtd.mk new file mode 100644 index 0000000000..006bfeb9c8 --- /dev/null +++ b/package/mtd/20061007/mtd.mk @@ -0,0 +1,114 @@ +############################################################# +# +# mtd provides jffs2 utilities +# +############################################################# +MTD_SOURCE=mtd_20061007.orig.tar.gz +MTD_SITE=http://ftp.debian.org/debian/pool/main/m/mtd +MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_orig +MTD_DIR:=$(BUILD_DIR)/mtd_orig +MTD_CAT:=zcat +MTD_DATE:=20061007 + +############################################################# +# +# Build mkfs.jffs2 for use on the local host system if +# needed by target/jffs2root. +# +############################################################# +MKFS_JFFS2 := $(MTD_HOST_DIR)/mkfs.jffs2 + +$(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) - + mv $(TOOL_BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) | head -n 1 \ + | xargs basename) $(MTD_HOST_DIR) + toolchain/patch-kernel.sh $(MTD_HOST_DIR) \ + package/mtd/$(MTD_DATE) \*.patch + touch $@ + +$(MTD_HOST_DIR)/mkfs.jffs2: $(MTD_HOST_DIR)/.unpacked + CC="$(HOSTCC)" CROSS= CFLAGS=-I$(LINUX_HEADERS_DIR)/include \ + $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR) mkfs.jffs2 + +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)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) + $(ZCAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + mv $(BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) \ + | head -n 1 | xargs basename) $(MTD_DIR) + toolchain/patch-kernel.sh $(MTD_DIR) \ + package/mtd/$(MTD_DATE) \*.patch + touch $@ + +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_JFFS3DUMP) += jffs3dump +MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool +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_NANDDUMP) += 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)/, $(MTD_TARGETS_y)) + +$(MTD_BUILD_TARGETS): $(MTD_DIR)/.unpacked + mkdir -p $(TARGET_DIR)/usr/sbin + $(MAKE) CFLAGS="-I. -I./include -I$(LINUX_HEADERS_DIR)/include -I$(STAGING_DIR)/include $(TARGET_CFLAGS)" \ + CROSS= CC=$(TARGET_CC) LINUXDIR=$(LINUX_DIR) WITHOUT_XATTR=1 -C $(MTD_DIR) + +MTD_TARGETS := $(addprefix $(TARGET_DIR)/usr/sbin/, $(MTD_TARGETS_y)) + +$(MTD_TARGETS): $(TARGET_DIR)/usr/sbin/% : $(MTD_DIR)/% + cp -f $< $@ + $(STRIP) $@ + +mtd: zlib $(MTD_TARGETS) + +mtd-source: $(DL_DIR)/$(MTD_SOURCE) + +mtd-clean: + -$(MAKE) -C $(MTD_DIR) clean + +mtd-dirclean: + rm -rf $(MTD_DIR) + + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(strip $(BR2_PACKAGE_MTD)),y) +TARGETS+=mtd +endif diff --git a/package/mtd/20061007/mtd_20061007.patch b/package/mtd/20061007/mtd_20061007.patch new file mode 100644 index 0000000000..23654fea6e --- /dev/null +++ b/package/mtd/20061007/mtd_20061007.patch @@ -0,0 +1,93 @@ +diff -urN mtd-20061007.orig/Makefile mtd-20061007.orig.patch/Makefile +--- mtd-20061007.orig/Makefile 2006-10-07 16:33:37.000000000 +0100 ++++ mtd-20061007.orig.patch/Makefile 2007-01-09 14:06:22.000000000 +0000 +@@ -9,12 +9,10 @@ + #CROSS=arm-linux- + CC := $(CROSS)gcc + CFLAGS := -I./include -O2 -Wall ++BUILDDIR := . + +-ifeq ($(origin CROSS),undefined) +- BUILDDIR := . +-else +-# Remove the trailing slash to make the directory name +- BUILDDIR := $(CROSS:-=) ++ifeq ($(WITHOUT_XATTR), 1) ++ CFLAGS += -DWITHOUT_XATTR + endif + + RAWTARGETS = ftl_format flash_erase flash_eraseall nanddump doc_loadbios \ +diff -urN mtd-20061007.orig/mkfs.jffs2.c mtd-20061007.orig.patch/mkfs.jffs2.c +--- mtd-20061007.orig/mkfs.jffs2.c 2006-10-07 16:33:37.000000000 +0100 ++++ mtd-20061007.orig.patch/mkfs.jffs2.c 2007-01-09 11:18:33.000000000 +0000 +@@ -64,8 +64,10 @@ + #include + #include + #include +-#include +-#include ++#ifndef WITHOUT_XATTR ++ #include ++ #include ++#endif + #include + #define crc32 __complete_crap + #include +@@ -1030,6 +1032,7 @@ + padword(); + } + ++#ifndef WITHOUT_XATTR + typedef struct xattr_entry { + struct xattr_entry *next; + uint32_t xid; +@@ -1258,6 +1261,9 @@ + padword(); + } + } ++#else /* WITHOUT_XATTR */ ++#define write_xattr_entry(x) ++#endif + + static void recursive_populate_directory(struct filesystem_entry *dir) + { +@@ -1416,9 +1422,11 @@ + {"test-compression", 0, NULL, 't'}, + {"compressor-priority", 1, NULL, 'y'}, + {"incremental", 1, NULL, 'i'}, ++#ifndef WITHOUT_XATTR + {"with-xattr", 0, NULL, 1000 }, + {"with-selinux", 0, NULL, 1001 }, + {"with-posix-acl", 0, NULL, 1002 }, ++#endif + {NULL, 0, NULL, 0} + }; + +@@ -1451,9 +1459,11 @@ + " -q, --squash Squash permissions and owners making all files be owned by root\n" + " -U, --squash-uids Squash owners making all files be owned by root\n" + " -P, --squash-perms Squash permissions on all files\n" ++#ifndef WITHOUT_XATTR + " --with-xattr stuff all xattr entries into image\n" + " --with-selinux stuff only SELinux Labels into jffs2 image\n" + " --with-posix-acl stuff only POSIX ACL entries into jffs2 image\n" ++#endif + " -h, --help Display this help text\n" + " -v, --verbose Verbose operation\n" + " -V, --version Display version information\n" +@@ -1772,6 +1782,7 @@ + perror_msg_and_die("cannot open (incremental) file"); + } + break; ++#ifndef WITHOUT_XATTR + case 1000: /* --with-xattr */ + enable_xattr |= (1 << JFFS2_XPREFIX_USER) + | (1 << JFFS2_XPREFIX_SECURITY) +@@ -1786,6 +1797,7 @@ + enable_xattr |= (1 << JFFS2_XPREFIX_ACL_ACCESS) + | (1 << JFFS2_XPREFIX_ACL_DEFAULT); + break; ++#endif + } + } + if (out_fd == -1) { diff --git a/package/mtd/20061007/mtd_acl.patch b/package/mtd/20061007/mtd_acl.patch new file mode 100644 index 0000000000..953786eb18 --- /dev/null +++ b/package/mtd/20061007/mtd_acl.patch @@ -0,0 +1,48 @@ +Author: Ulf Samuelsson +Date: 2007-01-25 + +Log: +Patch adding "sys/acl.h" needed to compile mtd. + +Modified: + package/mtd/mtd_acl.patch + +Changeset + package/mtd/mtd_acl.patch + +diff -urN mtd_orig-0rig/include/sys/acl.h mtd_orig/include/sys/acl.h +--- mtd_orig-0rig/include/sys/acl.h 1970-01-01 01:00:00.000000000 +0100 ++++ mtd_orig/include/sys/acl.h 2007-01-17 20:11:22.000000000 +0100 +@@ -0,0 +1,32 @@ ++/* ++ File: linux/posix_acl.h ++ ++ (C) 2002 Andreas Gruenbacher, ++*/ ++ ++ ++#ifndef __LINUX_POSIX_ACL_H ++#define __LINUX_POSIX_ACL_H ++ ++#define ACL_UNDEFINED_ID (-1) ++ ++/* a_type field in acl_user_posix_entry_t */ ++#define ACL_TYPE_ACCESS (0x8000) ++#define ACL_TYPE_DEFAULT (0x4000) ++ ++/* e_tag entry in struct posix_acl_entry */ ++#define ACL_USER_OBJ (0x01) ++#define ACL_USER (0x02) ++#define ACL_GROUP_OBJ (0x04) ++#define ACL_GROUP (0x08) ++#define ACL_MASK (0x10) ++#define ACL_OTHER (0x20) ++ ++/* permissions in the e_perm field */ ++#define ACL_READ (0x04) ++#define ACL_WRITE (0x02) ++#define ACL_EXECUTE (0x01) ++//#define ACL_ADD (0x08) ++//#define ACL_DELETE (0x10) ++ ++#endif /* __LINUX_POSIX_ACL_H */ diff --git a/package/mtd/Config.in b/package/mtd/Config.in index 582082d4bd..fa87ada8c5 100644 --- a/package/mtd/Config.in +++ b/package/mtd/Config.in @@ -5,15 +5,23 @@ config BR2_PACKAGE_MTD help Build mtd/jffs utilities -menu "MTD package selection" +config BR2_PACKAGE_MTD_EXPERIMENTAL + bool "Use experimental MTD (20061007)" depends on BR2_PACKAGE_MTD + depends on BR2_TARGET_ATMEL + default n + help + Build mtd/jffs utilities with Dataflash support + +menu "MTD package selection" + depends on BR2_PACKAGE_MTD + depends on !BR2_PACKAGE_MTD_EXPERIMENTAL choice prompt "Source package selection" depends on BR2_PACKAGE_MTD default BR2_PACKAGE_MTD_ORIG - config BR2_PACKAGE_MTD_ORIG bool "Default source" help @@ -28,7 +36,7 @@ config BR2_PACKAGE_MTD_SNAPSHOT endchoice config BR2_PACKAGE_MTD_ORIG_STRING - string "MTD package name" + string "MTD package" depends on BR2_PACKAGE_MTD_ORIG default "mtd_20050122.orig.tar.gz" help @@ -38,6 +46,13 @@ config BR2_PACKAGE_MTD_ORIG_STRING endmenu +config BR2_PACKAGE_MTD_ORIG_STRING + string + depends on BR2_PACKAGE_MTD_EXPERIMENTAL + default "mtd_20061007.orig.tar.gz" + help + Default is mtd_20061007.orig.tar.gz + menu "MTD tools selection" depends BR2_PACKAGE_MTD @@ -85,6 +100,13 @@ config BR2_PACKAGE_MTD_JFFS3DUMP bool "jffs3dump" default y depends on BR2_PACKAGE_MTD + depends on !BR2_PACKAGE_MTD_EXPERIMENTAL + +config BR2_PACKAGE_MTD_JFFS3DUMP + bool "jffs3dump (Don't check this since it is broken)" + default n + depends on BR2_PACKAGE_MTD + depends on !BR2_PACKAGE_MTD_EXPERIMENTAL config BR2_PACKAGE_MTD_SUMTOOL bool "sumtool" @@ -147,3 +169,4 @@ config BR2_PACKAGE_MTD_DOC_LOADBIOS depends on BR2_PACKAGE_MTD endmenu + diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk index 0a94deb667..468d42dee5 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -1,163 +1,5 @@ -############################################################# -# -# mtd provides jffs2 utilities -# -############################################################# -ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) -# Be aware that this changes daily.... - -MTD_DL_SOURCE:=mtd-snapshot-$(DATE).tar.bz2 -MTD_CAT:=$(BZCAT) -MTD_SOURCE:=mtd-snapshot.tar.bz2 -MTD_SITE:=ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs -MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_snapshot -MTD_DIR:=$(BUILD_DIR)/mtd_snapshot +ifeq ($(strip $(BR2_PACKAGE_MTD_EXPERIMENTAL)),y) +include package/mtd/20061007/mtd.mk else -MTD_SOURCE:=$(strip $(subst ",, $(BR2_PACKAGE_MTD_ORIG_STRING))) -#")) -MTD_SITE:=http://ftp.debian.org/debian/pool/main/m/mtd -MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_orig -MTD_DIR:=$(BUILD_DIR)/mtd_orig -MTD_CAT:=$(ZCAT) -endif - - - -############################################################# -# -# Build mkfs.jffs2 for use on the local host system if -# needed by target/jffs2root. -# -############################################################# -MKFS_JFFS2 := $(MTD_HOST_DIR)/util/mkfs.jffs2 - -ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) -$(DL_DIR)/$(MTD_SOURCE): - $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_DL_SOURCE) - mv $(DL_DIR)/$(MTD_DL_SOURCE) $(DL_DIR)/$(MTD_SOURCE) - -$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE_GENERIC) - $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - - mv $(TOOL_BUILD_DIR)/$(shell tar tjf $(DL_DIR)/$(MTD_SOURCE) \ - | head -n 1 | xargs basename) $(MTD_HOST_DIR) - touch $@ -else -ifneq ($(MTD_SOURCE),) -$(DL_DIR)/$(MTD_SOURCE): - $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE) -endif - -$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) - $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - - mv $(TOOL_BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) | head -n 1 \ - | xargs basename) $(MTD_HOST_DIR) - toolchain/patch-kernel.sh $(MTD_HOST_DIR) package/mtd \*.patch - touch $@ -endif - -$(MTD_HOST_DIR)/util/mkfs.jffs2: $(MTD_HOST_DIR)/.unpacked - CFLAGS=-I$(LINUX_HEADERS_DIR)/include $(MAKE) CC="$(HOSTCC)" CROSS= \ - LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR)/util mkfs.jffs2 - -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)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) - $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - -ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) - mv $(BUILD_DIR)/$(shell tar tjf $(DL_DIR)/$(MTD_SOURCE) \ - | head -n 1 | xargs basename) $(MTD_DIR) - touch $@ -else - mv $(BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) \ - | head -n 1 | xargs basename) $(MTD_DIR) - toolchain/patch-kernel.sh $(MTD_DIR) \ - package/mtd \*.patch - touch $@ -endif - -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_JFFS3DUMP) += jffs3dump -MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool -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_NANDDUMP) += 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 - $(MAKE) $(TARGET_CONFIGURE_OPTS) \ - CFLAGS+="-I$(MTD_DIR)/include" \ - CFLAGS+="-I$(LINUX_HEADERS_DIR)/include" \ - LDFLAGS="$(TARGET_LDFLAGS)" \ - 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/% - mkdir -p $(TARGET_DIR)/usr/sbin - cp -f $< $@ - $(STRIP) $@ -ifneq ($(BR2_PACKAGE_MTD_FLASHCP),) - -ln -sf flashcp $(TARGET_DIR)/usr/sbin/fcp -endif -ifneq ($(BR2_PACKAGE_MTD_ERASE),) - -ln -sf flash_erase $(TARGET_DIR)/usr/sbin/erase - -ln -sf flash_eraseall $(TARGET_DIR)/usr/sbin/eraseall -endif - -mtd: zlib $(MTD_TARGETS) - -mtd-source: $(DL_DIR)/$(MTD_SOURCE) - -mtd-clean: - -$(MAKE) -C $(MTD_DIR) clean -ifneq ($(BR2_PACKAGE_MTD_FLASHCP),) - -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/fcp -endif -ifneq ($(BR2_PACKAGE_MTD_ERASE),) - -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/erase - -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/eraseall -endif - -mtd-dirclean: - rm -rf $(MTD_DIR) - - -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(strip $(BR2_PACKAGE_MTD)),y) -TARGETS+=mtd +include package/mtd/20050122/mtd.mk endif -- 2.30.2