[email protected] wrote: > From: Carsten Schlote <[email protected]> > > Added lzo support for host-tools and dependancy. Added options > to install remaining mtd-utils for target.
please split into (at least) 3 patches > > Small bugfix for lzo compression. please send it upstream. cheers, Marc > > Signed-off-by: Carsten Schlote <[email protected]> > --- > patches/mtd-utils-1.3.0/lzo-compr-fixes.patch | 59 +++++++ > patches/mtd-utils-1.3.0/series | 3 + > rules/host-mtd-utils.in | 21 +++- > rules/host-mtd-utils.make | 5 + > rules/mtd-utils.in | 200 > +++++++++++++++++++++---- > rules/mtd-utils.make | 123 +++++++++++----- > 6 files changed, 340 insertions(+), 71 deletions(-) > create mode 100644 patches/mtd-utils-1.3.0/lzo-compr-fixes.patch > create mode 100644 patches/mtd-utils-1.3.0/series > > diff --git a/patches/mtd-utils-1.3.0/lzo-compr-fixes.patch > b/patches/mtd-utils-1.3.0/lzo-compr-fixes.patch > new file mode 100644 > index 0000000..132d304 > --- /dev/null > +++ b/patches/mtd-utils-1.3.0/lzo-compr-fixes.patch > @@ -0,0 +1,59 @@ > +From: Carsten Schlote <[email protected]> > +Date: Fri, 20 Mar 2009 12:43:32 +0100 > +Subject: [PATCH 1/1] [lzo compressor] Fixed lzo compression tests and crash > caused by unset variable. > + > +The following issues are addressed by this patch. > + > +- Check for compressed data to be smaller than the original size. This > + a clear fail and break assumtions at other places (-t option) > + > +- Set the destlen to the expected maximum size, before calling lzo > + decompression routine. It's used a max size value by this code (and > + holds the real decompression size after the call.) > + > +- Calls lzo_init(). > + > +Signed-off-by: Carsten Schlote <[email protected]> > +--- > + compr_lzo.c | 14 +++++++++++--- > + 1 file changed, 11 insertions(+), 3 deletions(-) > + > +Index: compr_lzo.c > +=================================================================== > +--- compr_lzo.c.orig 2009-07-03 11:31:41.000000000 +0200 > ++++ compr_lzo.c 2009-07-22 11:47:04.000000000 +0200 > +@@ -56,6 +56,9 @@ > + if (ret != LZO_E_OK) > + return -1; > + > ++ if (compress_size > *sourcelen) > ++ return -1; > ++ > + if (compress_size > *dstlen) > + return -1; > + > +@@ -71,6 +74,7 @@ > + int ret; > + lzo_uint dl; > + > ++ dl = destlen; > + ret = lzo1x_decompress_safe(data_in,srclen,cpage_out,&dl,NULL); > + > + if (ret != LZO_E_OK || dl != destlen) > +@@ -92,11 +96,15 @@ > + { > + int ret; > + > ++ lzo_init(); > ++ > + lzo_mem = malloc(LZO1X_999_MEM_COMPRESS); > + if (!lzo_mem) > + return -1; > + > +- /* Worse case LZO compression size from their FAQ */ > ++ /* Worse case LZO compression size from their FAQ - > ++ see http://www.oberhumer.com/opensource/lzo/lzofaq.php */ > ++ > + lzo_compress_buf = malloc(page_size + (page_size / 16) + 64 + 3); > + if (!lzo_compress_buf) { > + free(lzo_mem); > diff --git a/patches/mtd-utils-1.3.0/series b/patches/mtd-utils-1.3.0/series > new file mode 100644 > index 0000000..721ea5d > --- /dev/null > +++ b/patches/mtd-utils-1.3.0/series > @@ -0,0 +1,3 @@ > +0001-make-liblzo-optional.patch > +lzo-compr-fixes.patch -p0 > + > diff --git a/rules/host-mtd-utils.in b/rules/host-mtd-utils.in > index 7c3b629..eeffe6b 100644 > --- a/rules/host-mtd-utils.in > +++ b/rules/host-mtd-utils.in > @@ -1,7 +1,22 @@ > -## SECTION=hosttools_noprompt > +## SECTION=hosttools > > -config HOST_MTD_UTILS > +menuconfig HOST_MTD_UTILS > tristate > - select HOST_LIBLZO > + prompt "MTD utils " > select HOST_ZLIB > select HOST_UTIL_LINUX_NG > + select HOST_LIBLZO if HOST_MTD_UTILS_USE_LIBLZO there's already unconditionally lzo support > + help > + Install complete set of mtd-utils as host tools. > + > +if HOST_MTD_UTILS > + > +config HOST_MTD_UTILS_USE_LIBLZO > + bool > + prompt "Enable LZO support" > + default y if MTD_UTILS_USE_LIBLZO > + help > + Enable LZO support. > + > +endif > + > diff --git a/rules/host-mtd-utils.make b/rules/host-mtd-utils.make > index 8bd1018..ef13308 100644 > --- a/rules/host-mtd-utils.make > +++ b/rules/host-mtd-utils.make > @@ -52,6 +52,11 @@ HOST_MTD_UTILS_MAKEVARS = \ > BUILDDIR=$(HOST_MTD_UTILS_DIR) \ > DESTDIR=/ > > +ifndef PTXCONF_HOST_MTD_UTILS_USE_LIBLZO > + HOST_MTD_UTILS_COMPILE_ENV += WITHOUT_LZO=1 > + HOST_MTD_UTILS_MAKEVARS += WITHOUT_LZO=1 > +endif > + > HOST_MTD_UTILS_MAKE_PAR := NO > > # > ---------------------------------------------------------------------------- > diff --git a/rules/mtd-utils.in b/rules/mtd-utils.in > index cbccf36..940a168 100644 > --- a/rules/mtd-utils.in > +++ b/rules/mtd-utils.in > @@ -7,6 +7,7 @@ menuconfig MTD_UTILS > select UTIL_LINUX_NG > select UTIL_LINUX_NG_LIBBLKID > select LIBLZO if MTD_UTILS_USE_LIBLZO > + select HOST_MTD_UTILS why is this needed? > help > Memory Technology Device Utilities > > @@ -15,12 +16,74 @@ menuconfig MTD_UTILS > > if MTD_UTILS > > +comment "build options" > + > config MTD_UTILS_USE_LIBLZO > bool > prompt "liblzo support" > help > Enable LZO support > > + > +comment "misc utils" > + > +config MTD_UTILS_PDDCUSTOMIZE > + bool > + prompt "pddcustomize" > + help > + customize bootenv and pdd values > + > +config MTD_UTILS_MKPFI > + bool > + prompt "mkpfi" > + help > + This perl program is assembles PFI files from a config file > + > +config MTD_UTILS_PFI2BIN > + bool > + prompt "pfi2bin" > + help > + a tool to convert PFI files into binary images > + > +config MTD_UTILS_PFIFLASH > + bool > + prompt "pfiflash" > + help > + a tool for updating a controller with PFI files > + > +config MTD_UTILS_DOC_LOADBIOS > + bool > + prompt "doc_loadbios" > + help > + FIXME > + > +config MTD_UTILS_DOCFDISK > + bool > + prompt "docfdisk" > + help > + FIXME > + > +config MTD_UTILS_MTD_DEBUG > + bool > + prompt "mtd_debug" > + help > + Does info, read, write and erase on mtd devices > + > +config MTD_UTILS_RECV_IMAGE > + bool > + prompt "recv_image" > + help > + Receive and flash image from a network host > + > +config MTD_UTILS_SERVE_IMAGE > + bool > + prompt "serve_image" > + help > + Serve flashimage to network > + > + > +comment "flash utils" > + > config MTD_UTILS_FLASH_ERASE > bool > prompt "flash_erase" > @@ -45,6 +108,18 @@ config MTD_UTILS_FLASH_LOCK > help > This utility locks one or more sectors of flash device. > > +config MTD_UTILS_FLASH_OTP_DUMP > + bool > + prompt "flash_otp_dump" > + help > + FIXME > + > +config MTD_UTILS_FLASH_OTP_INFO > + bool > + prompt "flash_otp_info" > + help > + FIXME > + > config MTD_UTILS_FLASH_UNLOCK > bool > prompt "flash_unlock" > @@ -57,53 +132,81 @@ config MTD_UTILS_FLASHCP > help > Flash Copy - Written by Abraham van der Merwe > > -config MTD_UTILS_FTL_CHECK > +config MTD_UTILS_JFFS2DUMP > bool > - prompt "ftl_check" > + prompt "jffs2dump" > help > - Utility to check an FTL partition > + This utility dumps the contents of a binary JFFS2 image > > -config MTD_UTILS_FTL_FORMAT > +config MTD_UTILS_MKFS_JFFS2 > bool > - prompt "ftl_format" > + prompt "mkfs.jffs2" > help > - Utility to create an FTL partition in a memory region > + Build a JFFS2 image in a file, from a given directory tree. > > -config MTD_UTILS_JFFS2_DUMP > +config MTD_UTILS_RFDDUMP > bool > - prompt "jffs2_dump" > + prompt "rfddump" > help > - This utility dumps the contents of a binary JFFS2 image > + Dumps the contents of a resident flash disk > > -#config MTD_UTILS_JFFS2READER > -# bool > -# prompt "jffs2reader" > -# help > -# A jffs2 image reader > +config MTD_UTILS_RFDFORMAT > + bool > + prompt "rfdformat" > + help > + Formats NOR flash for resident flash disk > > -config MTD_UTILS_JITTERTEST > +config MTD_UTILS_SUMTOOL > bool > - prompt "jittertest" > + prompt "sumtool" > help > - This program is used to measure what the jitter of a > - real time task would be under "standard" Linux. > + Convert the input JFFS2 image to a summarized JFFS2 image > + Summary makes mounting faster - if summary support enabled in your > kernel > + > > - More particularly, what is the effect of running > - a real time task under Linux with background > - JFFS file system activity. > +comment "nand utils" > > -config MTD_UTILS_MTDDEBUG > +config MTD_UTILS_BIN2NAND > bool > - prompt "mtd_debug" > + prompt "bin2nand" > help > - Does info, read, write and erase on mtd devices > + a tool for adding OOB information to a binary input file > + > +config MTD_UTILS_MKBOOTENV > + bool > + prompt "mkbootenv" > + help > + processes bootenv text files and convertes them into a binary format > + > +config MTD_UTILS_NAND2BIN > + bool > + prompt "nand2bin" > + help > + split data and OOB > + > +config MTD_UTILS_FTL_CHECK > + bool > + prompt "ftl_check" > + help > + Utility to check an FTL partition > + > +config MTD_UTILS_FTL_FORMAT > + bool > + prompt "ftl_format" > + help > + Utility to create an FTL partition in a memory region > > config MTD_UTILS_NANDDUMP > bool > prompt "nanddump" > help > - This utility dumps the contents of raw NAND chips or NAND > - chips contained in DoC devices. > + Dumping the content of NFTL partitions on a "Physical Disk" > + > +config MTD_UTILS_NANDTEST > + bool > + prompt "nandtest" > + help > + test NAND device and badblock check > > config MTD_UTILS_NANDWRITE > bool > @@ -123,13 +226,10 @@ config MTD_UTILS_NFTLDUMP > bool > prompt "nftldump" > help > - Dumping the content of NFTL partitions on a "Physical Disk" > + This utility dumps the contents of raw NAND chips or NAND > + chips contained in DoC devices. > + > > -config MTD_UTILS_MKJFFS2 > - bool > - prompt "mkfs.jffs2" > - help > - Build a JFFS2 image in a file, from a given directory tree. > > config MTD_UTILS_SUMTOOL > bool > @@ -154,6 +254,12 @@ config MTD_UTILS_UBICRC32 > help > UBI CRC2 file checksum > > +config MTD_UTILS_UBICRC32_PL > + bool > + prompt "ubicrc32.pl" > + help > + Perl wrapper > + > config MTD_UTILS_UBIDETACH > bool > prompt "ubidetach" > @@ -166,6 +272,18 @@ config MTD_UTILS_UBIFORMAT > help > format an mtd device > > +config MTD_UTILS_UBIGEN > + bool > + prompt "ubigen" > + help > + a tool for adding UBI information to a binary input file > + > +config MTD_UTILS_UBIMIRROR > + bool > + prompt "ubimirror" > + help > + mirrors ubi volumes > + > config MTD_UTILS_UBIMKVOL > bool > prompt "ubimkvol" > @@ -182,7 +300,15 @@ config MTD_UTILS_UBINIZE > bool > prompt "ubinize" > help > - Creates UBI images. Probably more useful on host than on target > + ubinize version 1.0 - a tool to generate UBI images. An UBI image may > contain > + one or more UBI volumes which have to be defined in the input > configuration > + ini-file. The ini file defines all the UBI volumes - their > characteristics and > + the and the contents, but it does not define the characteristics of > the flash > + the UBI image is generated for. Instead, the flash characteristics > are defined > + via the command-line options. Note, if not sure about some of the > command-line > + parameters, do not specify them and let the utility to use default > values. > + Creates UBI images. > + Probably more useful on host than on target. > > config MTD_UTILS_UBIRMVOL > bool > @@ -196,6 +322,14 @@ config MTD_UTILS_UBIUPDATEVOL > help > Updates a volume with data from file > > +config MTD_UTILS_UNUBI > + bool > + prompt "unubi" > + help > + Extract volumes and/or analysis information from an UBI data file. > + When no parameters are flagged or given, the default operation is > + to rebuild all valid complete UBI volumes found within the image. > + > config MTD_UTILS_MTDINFO > bool > prompt "mtdinfo" > diff --git a/rules/mtd-utils.make b/rules/mtd-utils.make > index 113270d..f00f572 100644 > --- a/rules/mtd-utils.make > +++ b/rules/mtd-utils.make > @@ -66,70 +66,106 @@ $(STATEDIR)/mtd-utils.targetinstall: > @$(call install_fixup, mtd-utils,PRIORITY,optional) > @$(call install_fixup, mtd-utils,VERSION,$(MTD_UTILS_VERSION)) > @$(call install_fixup, mtd-utils,SECTION,base) > - @$(call install_fixup, mtd-utils,AUTHOR,"Robert Schwebel > <[email protected]>") > + @$(call install_fixup, mtd-utils,AUTHOR,"Carsten Schlote > <[email protected]>") > @$(call install_fixup, mtd-utils,DEPENDS,) > @$(call install_fixup, mtd-utils,DESCRIPTION,missing) > > +ifdef PTXCONF_MTD_UTILS_BIN2NAND > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/bin2nand) > +endif > +ifdef PTXCONF_MTD_UTILS_MKBOOTENV > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/mkbootenv) > +endif > +ifdef PTXCONF_MTD_UTILS_MKPFI > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/mkpfi) > +endif > +ifdef PTXCONF_MTD_UTILS_NAND2BIN > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/nand2bin) > +endif > +ifdef PTXCONF_MTD_UTILS_PDDCUSTOMIZE > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/pddcustomize) > +endif > +ifdef PTXCONF_MTD_UTILS_PFI2BIN > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/pfi2bin) > +endif > +ifdef PTXCONF_MTD_UTILS_PFIFLASH > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/pfiflash) > +endif > + > +ifdef PTXCONF_MTD_UTILS_DOC_LOADBIOS > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/doc_loadbios) > +endif > +ifdef PTXCONF_MTD_UTILS_DOCFDISK > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/docfdisk) > +endif > ifdef PTXCONF_MTD_UTILS_FLASH_ERASE > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/flash_erase) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/flash_erase) > endif > ifdef PTXCONF_MTD_UTILS_FLASH_ERASEALL > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/flash_eraseall) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, > /usr/sbin/flash_eraseall) > endif > ifdef PTXCONF_MTD_UTILS_FLASH_INFO > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/flash_info) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/flash_info) > endif > ifdef PTXCONF_MTD_UTILS_FLASH_LOCK > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/flash_lock) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/flash_lock) > +endif > +ifdef PTXCONF_MTD_UTILS_FLASH_OTP_DUMP > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, > /usr/sbin/flash_otp_dump) > +endif > +ifdef PTXCONF_MTD_UTILS_FLASH_OTP_INFO > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, > /usr/sbin/flash_otp_info) > endif > ifdef PTXCONF_MTD_UTILS_FLASH_UNLOCK > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/flash_unlock) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/flash_unlock) > endif > ifdef PTXCONF_MTD_UTILS_FLASHCP > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/flashcp) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/flashcp) > endif > ifdef PTXCONF_MTD_UTILS_FTL_CHECK > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/ftl_check) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/ftl_check) > endif > ifdef PTXCONF_MTD_UTILS_FTL_FORMAT > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/ftl_format) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/ftl_format) > endif > -ifdef PTXCONF_MTD_UTILS_JFFS2_DUMP > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/jffs2dump) > +ifdef PTXCONF_MTD_UTILS_JFFS2DUMP > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/jffs2dump) > endif > - > -ifdef PTXCONF_MTD_UTILS_MTDDEBUG > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/mtd_debug) > +ifdef PTXCONF_MTD_UTILS_MKFS.JFFS2 > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/mkfs.jffs2) > +endif > +ifdef PTXCONF_MTD_UTILS_MTD_DEBUG > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/mtd_debug) > endif > ifdef PTXCONF_MTD_UTILS_NANDDUMP > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/nanddump) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/nanddump) > +endif > +ifdef PTXCONF_MTD_UTILS_NANDTEST > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/nandtest) > endif > ifdef PTXCONF_MTD_UTILS_NANDWRITE > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/nandwrite) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/nandwrite) > endif > ifdef PTXCONF_MTD_UTILS_NFTL_FORMAT > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/nftl_format) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/nftl_format) > endif > ifdef PTXCONF_MTD_UTILS_NFTLDUMP > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/nftldump) > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/nftldump) > endif > -ifdef PTXCONF_MTD_UTILS_MKJFFS2 > - @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > - /usr/sbin/mkfs.jffs2) > +ifdef PTXCONF_MTD_UTILS_RECV_IMAGE > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/recv_image) > +endif > +ifdef PTXCONF_MTD_UTILS_RFDDUMP > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/rfddump) > +endif > +ifdef PTXCONF_MTD_UTILS_RFDFORMAT > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/rfdformat) > +endif > +ifdef PTXCONF_MTD_UTILS_SERVE_IMAGE > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/serve_image) > +endif > +ifdef PTXCONF_MTD_UTILS_SUMTOOL > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, /usr/sbin/sumtool) > endif > ifdef PTXCONF_MTD_UTILS_SUMTOOL > @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > @@ -172,6 +208,23 @@ ifdef PTXCONF_MTD_UTILS_UBINIZE > @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > /usr/sbin/ubinize) > endif > +ifdef PTXCONF_MTD_UTILS_UBICRC32_PL > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > + /usr/sbin/ubicrc32.pl) > +endif > +ifdef PTXCONF_MTD_UTILS_UBIGEN > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > + /usr/sbin/ubigen) > +endif > +ifdef PTXCONF_MTD_UTILS_UBIMIRROR > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > + /usr/sbin/ubimirror) > +endif > +ifdef PTXCONF_MTD_UTILS_UNUBI > + @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > + /usr/sbin/unubi) > +endif > + > ifdef PTXCONF_MTD_UTILS_MTDINFO > @$(call install_copy, mtd-utils, 0, 0, 0755, -, \ > /usr/sbin/mtdinfo) -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
signature.asc
Description: OpenPGP digital signature
-- ptxdist mailing list [email protected]
