diff options
Diffstat (limited to 'meta/recipes-devtools/mtd/mtd-utils')
3 files changed, 193 insertions, 0 deletions
diff --git a/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git.patch b/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git.patch new file mode 100644 index 0000000000..5555654490 --- /dev/null +++ b/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git.patch @@ -0,0 +1,134 @@ +--- + mkfs.jffs2.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 42 insertions(+), 2 deletions(-) + +--- git.orig/mkfs.jffs2.c ++++ git/mkfs.jffs2.c +@@ -98,10 +98,16 @@ struct filesystem_entry { + struct filesystem_entry *next; /* Only relevant to non-directories */ + struct filesystem_entry *files; /* Only relevant to directories */ + struct rb_node hardlink_rb; + }; + ++struct ignorepath_entry { ++ struct ignorepath_entry* next; /* Points to the next ignorepath element */ ++ char name[PATH_MAX]; /* Name of the entry */ ++}; ++ ++static struct ignorepath_entry* ignorepath = 0; + struct rb_root hardlinks; + static int out_fd = -1; + static int in_fd = -1; + static char default_rootdir[] = "."; + static char *rootdir = default_rootdir; +@@ -404,19 +410,28 @@ static struct filesystem_entry *recursiv + int i, n; + struct stat sb; + char *hpath, *tpath; + struct dirent *dp, **namelist; + struct filesystem_entry *entry; +- ++ struct ignorepath_entry* element = ignorepath; + + if (lstat(hostpath, &sb)) { + perror_msg_and_die("%s", hostpath); + } + + entry = add_host_filesystem_entry(targetpath, hostpath, + sb.st_uid, sb.st_gid, sb.st_mode, 0, parent); + ++ while ( element ) { ++ if ( strcmp( element->name, targetpath ) == 0 ) { ++ printf( "Note: ignoring directories below '%s'\n", targetpath ); ++ return entry; ++ break; ++ } ++ element = element->next; ++ } ++ + n = scandir(hostpath, &namelist, 0, alphasort); + if (n < 0) { + perror_msg_and_die("opening directory %s", hostpath); + } + +@@ -1446,10 +1461,11 @@ static void create_target_filesystem(str + static struct option long_options[] = { + {"pad", 2, NULL, 'p'}, + {"root", 1, NULL, 'r'}, + {"pagesize", 1, NULL, 's'}, + {"eraseblock", 1, NULL, 'e'}, ++ {"ignore", 1, NULL, 'I'}, + {"output", 1, NULL, 'o'}, + {"help", 0, NULL, 'h'}, + {"verbose", 0, NULL, 'v'}, + {"version", 0, NULL, 'V'}, + {"big-endian", 0, NULL, 'b'}, +@@ -1493,10 +1509,11 @@ static char *helptext = + " -y, --compressor-priority=PRIORITY:COMPRESSOR_NAME\n" + " Set the priority of a compressor\n" + " -L, --list-compressors Show the list of the avaiable compressors\n" + " -t, --test-compression Call decompress and compare with the original (for test)\n" + " -n, --no-cleanmarkers Don't add a cleanmarker to every eraseblock\n" ++" -I, --ignore=PATH Ignore sub directory and file tree below PATH when recursing over the file system\n" + " -o, --output=FILE Output to FILE (default: stdout)\n" + " -l, --little-endian Create a little-endian filesystem\n" + " -b, --big-endian Create a big-endian filesystem\n" + " -D, --devtable=FILE Use the named FILE as a device table file\n" + " -f, --faketime Change all file times to '0' for regression testing\n" +@@ -1659,21 +1676,22 @@ int main(int argc, char **argv) + FILE *devtable = NULL; + struct filesystem_entry *root; + char *compr_name = NULL; + int compr_prior = -1; + int warn_page_size = 0; ++ struct ignorepath_entry* element = ignorepath; + + page_size = sysconf(_SC_PAGESIZE); + if (page_size < 0) /* System doesn't know so ... */ + page_size = 4096; /* ... we make an educated guess */ + if (page_size != 4096) + warn_page_size = 1; /* warn user if page size not 4096 */ + + jffs2_compressors_init(); + + while ((opt = getopt_long(argc, argv, +- "D:d:r:s:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0) ++ "D:d:r:s:I:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0) + { + switch (opt) { + case 'D': + devtable = xfopen(optarg, "r"); + if (fstat(fileno(devtable), &sb) < 0) +@@ -1693,10 +1711,32 @@ int main(int argc, char **argv) + case 's': + page_size = strtol(optarg, NULL, 0); + warn_page_size = 0; /* set by user, so don't need to warn */ + break; + ++ case 'I': ++ printf( "Note: Adding '%s' to ignore Path\n", optarg ); ++ element = ignorepath; ++ if ( !ignorepath ) { ++ ignorepath = xmalloc( sizeof( struct ignorepath_entry ) ); ++ ignorepath->next = 0; ++ strcpy( &ignorepath->name[0], optarg ); ++ } else { ++ while ( element->next ) element = element->next; ++ element->next = xmalloc( sizeof( struct ignorepath_entry ) ); ++ element->next->next = 0; ++ strcpy( &element->next->name[0], optarg ); ++ } ++ printf( "--------- Dumping ignore path list ----------------\n" ); ++ element = ignorepath; ++ while ( element ) { ++ printf( " * '%s'\n", &element->name[0] ); ++ element = element->next; ++ } ++ printf( "---------------------------------------------------\n" ); ++ break; ++ + case 'o': + if (out_fd != -1) { + error_msg_and_die("output filename specified more than once"); + } + out_fd = open(optarg, O_CREAT | O_TRUNC | O_RDWR, 0644); diff --git a/meta/recipes-devtools/mtd/mtd-utils/fix-ignoreerrors-git.patch b/meta/recipes-devtools/mtd/mtd-utils/fix-ignoreerrors-git.patch new file mode 100644 index 0000000000..bec60a18c1 --- /dev/null +++ b/meta/recipes-devtools/mtd/mtd-utils/fix-ignoreerrors-git.patch @@ -0,0 +1,26 @@ +--- + nanddump.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: git/nanddump.c +=================================================================== +--- git.orig/nanddump.c 2007-01-23 15:42:34.000000000 +0000 ++++ git/nanddump.c 2007-01-23 15:47:57.000000000 +0000 +@@ -281,7 +281,7 @@ int main(int argc, char **argv) + } + } + +- if (badblock) { ++ if (badblock && !ignoreerrors) { + if (omitbad) + continue; + memset (readbuf, 0xff, bs); +@@ -335,7 +335,7 @@ int main(int argc, char **argv) + if (omitoob) + continue; + +- if (badblock) { ++ if (badblock && !ignoreerrors) { + memset (readbuf, 0xff, meminfo.oobsize); + } else { + /* Read OOB data and exit on failure */ diff --git a/meta/recipes-devtools/mtd/mtd-utils/remove-ubi.patch b/meta/recipes-devtools/mtd/mtd-utils/remove-ubi.patch new file mode 100644 index 0000000000..4928db00be --- /dev/null +++ b/meta/recipes-devtools/mtd/mtd-utils/remove-ubi.patch @@ -0,0 +1,33 @@ +--- + Makefile | 3 --- + 1 file changed, 3 deletions(-) + +--- git.orig/Makefile ++++ git/Makefile +@@ -41,19 +41,17 @@ $(BUILDDIR)/%.o: %.c + $(CC) $(CFLAGS) -g -c -o $@ $< -g -Wp,-MD,$(BUILDDIR)/.$(<F).dep + + .SUFFIXES: + + all: $(TARGETS) +- make -C $(BUILDDIR)/ubi-utils + + IGNORE=${wildcard $(BUILDDIR)/.*.c.dep} + -include ${IGNORE} + + clean: + rm -f $(BUILDDIR)/*.o $(TARGETS) $(BUILDDIR)/.*.c.dep $(SYMLINKS) + if [ "$(BUILDDIR)x" != ".x" ]; then rm -rf $(BUILDDIR); fi +- make -C $(BUILDDIR)/ubi-utils clean + + $(SYMLINKS): + ln -sf ../fs/jffs2/$@ $@ + + $(BUILDDIR)/mkfs.jffs2: $(BUILDDIR)/crc32.o \ +@@ -91,6 +89,5 @@ $(BUILDDIR)/fectest: $(BUILDDIR)/fectest + install: ${TARGETS} + mkdir -p ${DESTDIR}/${SBINDIR} + install -m0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/ + mkdir -p ${DESTDIR}/${MANDIR}/man1 + gzip -9c mkfs.jffs2.1 > ${DESTDIR}/${MANDIR}/man1/mkfs.jffs2.1.gz +- make -C $(BUILDDIR)/ubi-utils install |