# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [2.2.0] - 2024-03-29 ### Added - flashcp: Add write last option - flash_erase: Add an option for JFFS2 cleanmarker size - ubiattach: Add disable fastmap option - ubiattach: Add option to reserve peb pool for fastmap - support building without zlib - CHANGELOG & README files ### Fixed - jffs2dump: check return value of lseek - mkfs.ubifs: fix xattr scanning for builds with selinux support ### Changed - overhaul dependency handling in the build system ## [2.1.6] - 2023-08-30 ### Added - flash_speed: Measure read while write latency - Support `mtd:` syntax for several tools ### Fixed - flashcp: check for lseek errors - flashcp: fix buffer overflow - flashcp: verify data in `--partition` - flashcp: abort on `--partition` and `--erase-all` - flashcp: correct casting for percent display - mtdpart: document partition of size 0 - mkfs.ubifs: Non-terminated string related failure with option selinux - nandtest: handle nand devices larger than 4G - Fix printf format specifiers for 64 bit integer types ### Changed - flashcp: merge duplicate write code paths - flashcp: merge duplicate MEMERASE code paths - flashcp: simplify logging ## [2.1.5] - 2022-10-07 ### Fixed - mkfs.jffs2: spelling of `--compression-mode` parameter in help text - ubinfo: `--vol_id` return code for absent volume id - nandflipbits: fix corrupted oob - libmtd: do not ignore non-zero eraseblock size when `MTD_NO_ERASE` is set - jffs2reader: warning about unaligned pointer - tests: Remove unused linux/fs.h header from includes - fix test bashism - nanddump: fix writing big images on 32bit machines - nor-utils: fix memory leak ### Changed - flash_otp_dump: make offset optional - nandwrite: warn about writing 0xff blocks ## [2.1.4] - 2022-10-07 ### Added - ubiscan debugging and statistics utility ### Fixed - Some mtd-tests erroneously using sub-pages instead of the full page size - Buffer overrun in fectest - Build failures due to missing jffs2 kernel header ## [2.1.3] - 2021-07-25 ### Added - flashcp: Add new function that copy only different blocks - flash_erase: Add flash erase chip - Add flash_otp_erase - Add an ubifs mount helper - Add nandflipbits tool ### Fixed - mkfs.ubifs: Fix runtime assertions when running without crypto - Use AC_SYS_LARGEFILE - Fix test binary installation - libmtd: avoid divide by zero - ubihealthd: fix UBIFS build dependency - mkfs.ubifs: remove `OPENSSL_no_config()` - misc-utils: Add fectest to build system - mkfs.ubifs: Fix build with SELinux - Fix typos found by Debian's lintian tool - Fix jffs2 build if zlib or lzo headers are not in default paths ## [2.1.2] - 2020-07-13 ### Added - flashcp: Add option `-A`, `--erase-all` - mtd-utils: add optional offset parameter to `flash_otp_dump` - ubi-utils: Implement a ubihealthd - mkfs.ubifs: Add authentication support ### Fixed - mtd-utils: Fix return value of ubiformat - ubiupdatevol: Prevent null pointer dereference - libubigen: remove unnecessary include - libubi: remove private kernel header from includes - mkfs.ubifs: fscrypt: bail from encrypt_block if gen_essiv_salt fails - mkfs.ubifs: abort add_directory if readdir fails - mkfs.ubifs: close file descriptor in add_file error path - mkfs.ubifs: don't leak copied command line arguments - mkfs.ubifs: free derived fscrypt context in add_directory error paths - mkfs.ubifs: don't leak hastable iterators - mkfs.ubifs: don't leak temporary buffers - mkfs.ubifs: propperly cleanup in ALL interpret_table_entry error paths - mkfs.jffs2: don't leak temporary buffer if readlink fails - libmtd: don't leak temporary buffers - ftl_check: don't leak temporary buffers - ftl_format: don't leak temporary buffers - ubiformat: don't leak file descriptors - nanddump: don't leak copied command line arguments - mtd_debug: cleanup error handling in flash_to_file - jittertest: fix error check for open system call - fs-tests: don't leak temporary buffers - mtd-utils: Fix printf format specifiers with the wrong type - mtd-utils: Fix potential negative arguments passed to close(2) - mtd-utils: Fix various TOCTOU issues - mtd-utils: Fix some simple cases of uninitialized value reads - mtd-utils: Fix wrong argument to sizeof in nanddump - mtd-utils: Fix "are we really at EOF" test logic in libubi read_data - mtd-utils: Fix potentially unterminated strings - mtd-utils: Add checks to code that copies strings into fixed sized buffers - mkfs.ubifs: fix broken build if fscrtyp is disabled ### Changed - ubifs-media: Update to Linux-5.3-rc3 ## [2.1.1] - 2019-07-21 ### Added - mkfs.ubifs: Add ZSTD compression ### Fixed - ubiformat: Dont ignore sequence number CLI option - mkfs.ubifs: fix build without openssl - mkfs.ubifs: fix regression when trying to store device special files - mkfs.ubifs: fix description of favor_lzo - unittests/test_lib: Include proper header for `_IOC_SIZE` - unittests/libmtd_test: Include fcntl header - unittests: Define the use of `_GNU_SOURCE` - ubinize: Exit with non-zero exit code on error. - mtd-tests: nandbiterrs: Fix issue that just insert error at bit 7 - ubi-tests: ubi_mkvol_request: Fully initialize `struct ubi_mkvol_request req` - ubi-tests: io_read: Filter invalid offset before `lseek` in `io_read` test - ubi-tests: mkvol test: Checks return value `ENOSPC` for `ubi_mkvol` - ubi-tests: fm_param: Replace `fm_auto` with `fm_autoconvert` ## [2.1.0] - 2019-03-19 ### Added - mkfs.ubifs: Implement support for file system encryption - mkfs.ubifs: Implement selinux labelling support - ubinize: add support for skipping CRC check of a static volume when opening - ubimkvol: add support for skipping CRC check of a static volume when opening - Add lsmtd program ### Fixed - update various kernel headers - Instead of doing preprocessor magic, just output off_t as long long - fix verification percent display in flashcp - mkfs.ubifs: fix double free - mkfs.ubifs: Fix xattr nlink value - ubinize: avoid to create two `UBI_LAYOUT_VOLUME_ID` volume - common.h: fix prompt function - libmtd: don't print an error message for devices without ecc support - io_paral: Fix error handling of update_volume() - ubimkvol: Initialize req to zero to make sure no flags are set by default - libubi: add volume flags to `ubi_mkvol_request` - mkfs.ubifs: add_xattr is not depending on host XATTR support - Revert "Return correct error number in ubi_get_vol_info1" which introduced a regression. - make sure pkg-config is installed in configure script - ubiformat: process command line arguments before handling file arguments ### Changed - ubiformat: remove no-volume-table option ## [2.0.2] - 2018-04-16 ### Added - libmtd: Add support to access OOB available size - mkfs.ubifs: Allow root entry in device table ### Fixed - Fix unit-test header and file paths for out of tree builds - Fix unit test mockup for oobavail sysfs file - misc-utils: flash_erase: Fix Jffs2 type flash erase problem - libmtd_legacy: Fix some function description mismatches - mtd-utils: ubifs: fix typo in without_lzo definition - mtd: tests: check erase block count in page test - mtd: unittests: Stop testing stat() calls - mtd: unittests: Decode arg size from ioctl request - mtd: unittests: Use proper unsigned long type for ioctl requests - mtd: tests: Fix check on ebcnt in nandpagetest - ubi-utils: ubicrc32: process command line arguments first - nandbiterrs: Fix erroneous counter increment in for loop body - jittertest: Use the appropriate versions of abs() - Mark or fix switch cases that fall through - mkfs.ubifs: ignore EOPNOTSUPP when listing extended attributes - misc-utils: initialize "ip" in docfdisk to NULL - mkfs.ubifs: Apply squash-uids to the root node ### Changed - ubi-utils: ubiformat.c: convert to integer arithmetic - mtd-utils: common.c: convert to integer arithmetic - Run unit test programs through "make check" - Enable more compiler warning flags, fix warnings - Add no-return attribute to usage() style functions - Remove self-assignments of unused paramters - tests: checkfs: Remove unused source file from makefiles - ubi-tests: io_update: fix missleading indentation - Add ctags files to .gitignore - libscan: fix a comment typo in libscan.h - libmtd: fix a comment typo in dev_node2num ## [2.0.1] - 2017-08-24 ### Added - nandbiterrs: Add Erased Pages Bit Flip Test - mkfs.ubifs: Add support for symlinks in device table - nanddump: Add `--skip-bad-blocks-to-start` option - nandwrite: Add `--skip-bad-blocks-to-start` option ### Fixed - common: Always terminate with failure status if command line options are unknown or missing - common: Fix format specifier definitions for `off_t` and `loff_t` - common: More consistent exit codes - libmtd: Fix error status if MTD is not present on the system - libubi: Add klibc specific fixes for `ioctl` - libubi: Fix error status in `ubi_get_vol_info1` for non-existing volumes - misc-utils: Support jffs2 flash-erase for large OOB (>32b) - mkfs.jffs2: Add missing header inclusions required for build with musl - mkfs.ubifs: Fix alignment trap triggered by NEON instructions - mkfs.ubifs: Fix uuid.h path - mkfs.ubifs: Replace broken ubifs_assert with libc assert - nandbiterrs: Actually get the new ECC bit flip count before comparing stats - nandpagetest: Improved argument sanity checking - nandwrite: Fix bad block skipping - nandwrite: Improved argument sanity checking - ubinfo: Improved argument sanity checking - ubi-tests: Replace variable-length array with `malloc` - ubi-tests: Support up to 64k NAND page size ### Changed - build-system: Enable compiler warnings - build-system: Restructure autoconf dependency checking - common: Add const modifier to read only strings and string constants - common: Eliminate warnings about missing prototypes - common: Get rid of rpmatch usage - common: Remove README.udev from ubi-tests extra dist - common: Remove unused variables and functions - common: Silence warnings about unused arguments - flashcp: Drop custom defines for `EXIT_FAILURE` and `EXIT_SUCCESS` - libiniparser: remove unused function needing float - libmissing: Use autoconf header detection directly - libubi: Remove `UDEV_SETTLE_HACK` - misc-utils: Move libfec to common public header & library directory - nandwrite: replace erase loop with mtd_erase_multi - serve_image: Use PRIdoff_t as format specifier. - ubi-tests: Speedup io_paral by using rand_r() - ubirename: Fix spelling ## [2.0.0] - 2016-12-22 ### Added - libmissing with stubs for functions not present in libraries like musl - unittests for libmtd and libubi - port most kernel space mtd test modules to userspace - mkfs.ubifs: extended attribute support - ubinize: Move lengthy help text to a man page - nandwrite: Add skip-all-ff-pages option - flash_{un,}lock: support for MEMISLOCKED - nandtest: support hex/dec/oct for `--offset` and `--length` ### Fixed - common: Fix 'unchecked return code' warnings - common: Fix PRI{x,d}off definitions for x86_64 platform - common: include sys/sysmacros.h for major/minor/makedev - common: fix wrong format specifiers on mips32 - libmtd: Fix uninitialized buffers - libmtd: Eliminate warnings about implicit non-const casting - libmtd: Fix return status in mtd_torture test function - libmtd: mtd_read: Take the buffer offset into account when reading - mkfs.ubifs: use gid from table instead 2x uid - mkfs.ubifs: fix compiler warning for WITHOUT_LZO - mkfs.ubifs: fix build when WITHOUT_LZO is set - mkfs.ubifs: correct the size of nnode in memset - mkfs.jffs2: initialize lzo decompression buffer size - mkfs.jffs2: Fix scanf() formatstring for modern C version - nanddump: check write function result for errors - nanddump: write requested length only - flash_{un,}lock: don't allow "last byte + 1" - flash_{un,}lock: improve strtol() error handling - ubinize: Always return error code (at least -1) in case of an error - recv_image: fix build warnings w/newer glibc & _BSD_SOURCE - serve_image: use proper POSIX_C_SOURCE value - flashcp: Use %llu to print filestat.st_size - mtd_debug: check amount of data read. - fs-tests: integrity: don't include header - tests: Fix endian issue with CRC generation algorithm - make_a_release.sh: fix MTD spelling - Fix packaging of unit test files - Correct casting for final status report in flashcp ### Changed - autotools based build system - complete restructuring of the source tree - cleanup of some utilities - removal of some very old, unused or duplicated files from the source tree - libmtd: removal of very old, completely unused and broken functions - nandwrite: Factor out buffer checking code ## [1.5.2] - 2015-07-24 ### Added - mtdpart utility to add/delete partition - jffs2dump: XATTR and XREF support for content dump & endianess conversion ### Fixed - ubifs-media.h: include "byteorder.h" - ubiformat: fix the subpage size hint on the error path - include/common.h: fix build against current uClibc - include/common.h: fix build against recent 0.9.33 uClibc - libmtd: fix comment typo - mkfs.ubifs: Fix build with gcc 5.1 - libmtd: don't ignore "region index" parameter in `mtd_regioninfo()` - .gitignore: add new mtdpart utility - ubi-tests: fix a some overflows - formating issues (trailing whitespaces, space-before-tab, blank line at EOF) - fs-tests: pass `TEST_DIR` to integck in run_all.sh - nandtest: fix `--reads` argument - libmtd: fix `mtd_dev_present` return value on legacy systems - libfec: use standard C type instead of `u_long` - serve_image: do not include error.h - recv_image: do not include error.h - include/common.h: fix build against musl - integck: Use `$(CC)` and `$(AR)` instead of `gcc` and `ar` consistently ### Changed - mkfs.ubifs: start using common code, move some macros to common header - Move mkfs.ubifs/ubifs-media.h to include/mtd - make_a_release.sh: suggest announcement e-mail - nandtest: Remove redundant check - nandtest: Move the "read and compare" code to a function - nandtest: Introduce multiple reads & check iterations ## [1.5.1] - 2014-04-07 ### Added - tests: ubi: add stress-test.sh - ubi-utils: Add ubiblock tool - flash_erase, flash_otp_write: check the nand type - ubiupdatevol: add a `--skip` option - nandwrite: add `--input-{skip,size}` options - mkfs.ubifs: allow reformatting of devices - new prompt() helper for talking to the user ### Fixed - Makefile: add LDFLAGS_mkfs.ubifs, fix libuuid issue - runtests.sh: print more consistent messages - integck: fix identation - nandwrite: apply corrent version of `--input-*` patch series - ubi-tests: argument number mismatch for `ubi_leb_change_start` - ubi-tests: fix pthreads linking - ubiformat: correct "non-ubifs" warning message - mkfs.ubifs: correct and improve LEB size error prints - ubi-utils: Fix file descriptor leaks in libubi - integck.c: Fix buffer overflow in save_file - integck.c: Only verify the operation after datastructures have been updated - mkfs.ubifs: Improve error handling of is_contained() - nandwrite: clean up length types - nand{dump, test, write}: clean up `--help` handling - fix build errors w/newer kernel headers & glibc - ubinize: fix usage text - consistency between `u_int32_t` / `off_t` / `off64_t` - tests: io_update correct lseek parameters order - ubiformat: fix failure on big partitions (>4Gio) - Check mtdoffset is not larger than mtd.size in case of a bad block. - flash_otp_write: fix writing to NAND in presence of partial reads - flash_otp_write: fix a buffer overflow on NAND with write size > 2048 - ubiformat: really skip some messages when quiet - ubiformat: fix error path ### Changed - nandwrite: minor cleanups - tests: ubi: clean-up the runtests.sh script - libubi: Remove `ubi_attach_mtd` - load_nandsim.sh: switch to sh, remove bashisms, cleanup code - load_nandsim.sh: introduce a usage function - load_nandsim.sh: intruduce fatal function - load_nandsim.sh: use dochere for help output - mkfs.ubifs: rewrite path checking - ubi-tests: switch to using common.h from the top level - ubi-tests: rename common.[ch] to helpers.[ch] - integck.c: immediately dump the buffer containing the errors - use xstrdup in a few more places - move `_GNU_SOURCE` to the main makefile - ftl_check/ftl_format/nftldump: use existing mtd_swab.h header - flash_erase: use `pwrite()` rather than `lseek()` and `write()` - UBI: sync ubi-user.h with kernel v3.6-rc1 - introduce `PRIxoff_t` and `PRIdoff_t` printf helpers - ubiattach: use `max_beb_per1024` in `UBI_IOCATT` ioctl - ubiattach: fail if kernel ignores max_beb_per1024 - libubi: factorize `ubi_attach` and `ubi_attach_mtd` code - Makefile: Build and install `flash_otp_lock`, `flash_otp_write` - ubiformat: clean up synopsis of command-line parameters ## [1.5.0] - 2012-05-07 ### Added - limbtd: implement `mtd_dev_present` for older kernels - libubi: make `ubi_dev_present()` a library function - libmtd: add `mtd_dev_present()` library function ### Fixed - mkfs.ubifs: do not ignore `--max-leb-cnt` when formatting an UBI volume - ubinfo: fix `--all` for non-consecutive device numbers - mtdinfo: fix `--all` for non-consecutive device numbers - libmtd: fix segmentation fault on lib->mtd - mtdinfo: correct grammar on error message - libmtd: fix `mtd_write()` issues for large data-only writes - libmtd: check if the device is present before accessing it - libmtd_legacy: don't open device in R/W - Makefile: fix "make clean" for old GNU find - libmtd: Variable name same as function name causing compile to fail (Android) ### Changed - make_a_release.sh: remind about pushing the master branch - docfsdisk: minor cosmetic cleanup - mkfs.jffs2: improve documentation of `--pagesize` parameter ## [1.4.9] - 2011-12-17 ### Added - Add a script to make releases - nandtest: add seed argument ### Fixed - nandtest: seed random generator with time - libmtd: allow write operations when MEMWRITE is not supported - nandtest: set oldstats.failed - Makefile: fix install target with out-of-tree builds ### Changed - Makefile: separate man page install and compression steps ## [1.4.8] - 2011-11-19 ### Fixed - Makefile: Version number accedientally left at 1.4.6 in last release ## [1.4.7] - 2011-11-18 ### Added - libmtd: support MEMWRITE ioctl ### Fixed - jffs2reader: get rid of linker error - jffs2reader: eliminate compiler errors - ubiformat: handle write errors correctly - mtd-utils: add jffs2reader to .gitignore ### Changed - jffs2reader: use major() and minor() helpers - jffs2reader: print ctime only by user's request - jffs2reader: use const char * for path variables - jffs2reader: introduce ADD_BYTES macro - jffs2reader: update the header inclusion block - nandtest: print number of bits corrected during test - mkfs.ubifs/ubinize: increase PEB size limit to 2MiB - mtdinfo: provide info when used without arguments - nandwrite: use common.h "errmsg" functions - nandwrite: re-implement `--autoplace` option - move OOB auto-layout into libmtd's mtd_write - nandwrite: merge `mtd_write_oob` and `mtd_write` calls - libmtd: modify `mtd_write` to cover OOB writes - update mtd-abi.h - nandwrite: consolidate buffer usage - nanddump: kill usages of MEMSETOOBSEL ioctl - nandwrite: refactor "old_oobinfo" code - nandwrite: cleanup "oobinfochanged" leftovers - nandwrite: remove C99 comment style - use `__func__` instead of `__FUNCTION__` - mtd_debug: replace #defines with enum - mtd_debug: fixup style ### Removed - tests: checkfs: remove unused code - nandwrite: kill `--raw` option - nandwrite: kill -j, -y, and -f options - nandwrite: remove `autoplace` features ## [1.4.6] - 2011-08-20 ### Fixed - mkfs.ubifs: fix a gcc warning - integck: fix build error (MS_DIRSYNC, MS_RELATIME) - mtd-tests: checkfs: fix size_t related warning - mtd-tests: io_paral: build error, "variable length strings" - flash_erase: fix incorrect help message - Makefile: fix "version.h" build for cross-compiling - Makefile: fix "make clean" for cross-compile - mtdinfo: don't open NULL pointer when getting region_info with `-a' - mtdinfo: refactor code to remove "args.all" dependency - mtdinfo: fixup "example usage" help section - nandwrite: invalid erase after page write failure ### Changed - nanddump: change default to `--bb=skipbad` - nanddump: change `-o` to mean `--oob`, not `--omitoob` - nanddump: default to NOT dumping OOB data - mkfs.ubifs: use common.h - switch more utils to unified versioning - add common version printing function - mtdinfo: restructure help message - mtdinfo: consolidate help as display_help() - rewrite build system to avoid recursion - autogenerate version.h from build system ### Removed - mtdinfo: remove -m leftovers - mkfs.ubifs: remove root inode squash feature - nanddump: kill `--omitbad`, `--noskipbad` - kill flash_info - mtdinfo: kill `-m` option - build: remove old SYMLINKS variable ## [1.4.5] - 2011-07-25 ### Added - Makefile: introduce new target tests in Makefile - Makefile: introduce cscope target - nanddump: add `--oob` option - nanddump: add `--bb=METHOD` option - mkfs.ubifs: add `-F` option for `free-space fixup` - libmtd: add helper funcs for getting regioninfo and locked info - mtdinfo: add regioninfo/eraseblock map display - flash_info: allow people to get info on multiple devices ### Fixed - serve_image: adjust classifier and type for printf - libmtd: use PRIu64 classifier for uint64_t printf arguments - mkfs.jffs2: fix casting of __off64_t - tests: ubi-tests: clean libubi.a and *.o - tests: fs-tests: ssize_t return type in read() wrapper - mkfs.jffs2: fix casting of printf argument - tests: jittertest: fix set of compiler warnings - tests: ubi-tests: seed_random_generator() was used w/o prototype - tests: fs-tests: check return value of functions - tests: checkfs: fix linker warnings - tests: checkfs: fix compiler warnings - tests: make jittertest buildable - mkfs.ubifs: check output first - flash_{lock, unlock}: fix off-by-one error for "entire device" length - fs-tests: use independent random generators for ops and data - ubi-utils: ubimkvol: fix parameters parsing regression ### Changed - tests: checkfs: integerate with common Makefile - fs-tests: integck: major cleanup/rewrite - mtdinfo: deprecate the -m option - libmtd: improve mtd_islocked interface - switch ubi and ubifs tools to use common strtoX funcs - mtdinfo: separate out ubi information printing - fs_tests: make the test-suite finish faster - nanddump: document, warn about future default `--omitoob` - feature-removal-schedule: describe nanddump changes - nanddump: warn about new default BB handling - nanddump: update help message for BB method changes - nanddump: sort options in help message alphabetically by shortname - jffs2: make lzo optional at build time - flash_info: deprecate - ubi-utils: send help/version info to stdout - libmtd: use O_CLOEXEC - include/mtd: sync with kernel - flash_info: convert to common.h - ignore (FLAT) gdb files - flash_{lock,unlock}: convert to common code - flash_{lock,unlock}: merge into one util - flash_{lock,unlock}: merge functionality - flash_lock/flash_unlock/flash_info: clean up style ### Removed - punt redundant libcrc32 - mtdinfo: remove now unused ubigen info ## [1.4.4] - 2011-04-01 ### Added - libmtd: fix OOB read and write interface ### Fixed - fs-tests: test_1: fix compilation warnings - fs-tests: perf: fix compilation warning - fs-tests: integck: improve re-mounting test coverage ### Changed - mkfs.ubifs: deprecate `squash-rino-perm` options - nanddump: fail if `-s` parameter is unaligned ## [1.4.3] - 2011-03-18 ### Added - nandwrite: add only write oob option ### Fixed - common.h: simple_strtoll type ### Changed - flash_erase: start position should be in bytes ## [1.4.2] - 2010-12-31 ### Added - nandwrite: Large page+oob support - nanddump/nandwrite: 64-bit support utilizing libmtd - introduce xzalloc() helper - add xasprintf() helper - new memory wrappers - new strtoX helpers - new bareverbose() helper - libmtd: add lock/unlock helpers - nandwrite: add `--skipbad` to write bad blocks ### Fixed - nanddump: fix initialization of bad blocks oob data buffer - nanddump: always check the first erase block - flash_erase: Fix output of offsets - nanddump/nandwrite: Style fixups - nanddump/nandwrite: style, signed-ness, printing fixups - nandwrite: type consistency - nandwrite: prevent 32-bit overflow - nandwrite: avoid NULL buffer pointers - libmtd: fix OOB size initialization in legacy code - Makefile: Use $(CURDIR) in place of $(PWD) - mkfs.ubifs: Fix heap corruption on LEB overrun - mkfs.ubifs: Fix --squash-rino-perm / --nosquash-rino-perm - Fix make install errors - libmtd: fix "fount" typo - sys_errmsg: fix indentation - recv_image: fix `__USE_GNU` hack - ubi-utils: tweak const strings decls - compr_rtime: fix unused warning - libfec: fix up pointer warnings in fec magic computation - mkfs.jffs2: fix devtable count as mkfs.ubifs does - mkfs.jffs2: fix repeated dev nodes - mkfs.ubifs: Fix typo in short options of mkfs.ubifs ### Changed - mkfs.ubifs: do not override root inode permissions - Makefile: remove old ubi-utils - Add --squash-rino-perm removal plan - nanddump: warn when the start address is not page aligned - nanddump: Dynamic buffer, increase pagesize/oobsize - nandwrite: Use libmtd to get correct mtd parameters - nandwrite: switch "oobsize" for "writesize" - nandwrite: Clarify usage of aligned "erasesize" - nandwrite: add check for negative blockalign - nandwrite: use common.h "errmsg_die" - nanddump: choose correct "printf" format-specifier - nanddump: check for negative inputs - nanddump: change "unsigned" to "signed" - nanddump/nandwrite: use "simple_" str functions - common.h: Add MAX() macro, fix MIN() - nanddump: Refactor pretty print code into an sprintf() - jffs2reader: convert to common.h helpers - libmtd: make malloc failures fatal - sumtool/libfec: convert "()" to "(void)" in func defs - sumtool: convert to common.h helpers - mkfs.jffs2: convert to common.h and xalloc.h helpers - libmtd: unify some error messages - xalloc: simplify/unify error messages - enable garbage collection of unused function/data sections - mkfs.jffs2: use new xasprintf() helper - unify flash_erase and flash_eraseall - common.h: clean up PROGRAM_NAME usage - standardize PROGRAM_NAME - mkfs.ubifs: use common ARRAY_SIZE - punt duplicate normsg_cont define - convert to common.h/min - libmtd: unify erase block argument checking - compr: drop unused model argument - compr_zlib: mark local functions as static - rbtree: avoid redefining offsetof ### Removed - ftl_check: drop unused verbose flag - nandwrite: Remove redundant 'autoplace' check ## [1.4.1] - 2010-10-19 ### Changed - Hide zlib's crc32 in compr_zlib.c and mkfs.ubifs/compr.c ## [1.4.0] - 2010-09-13 ### Added - libmtd: add OOB read and write interfaces - libmtd: support MEMERASE64 - lib: Add forgotten Makefile - libmtd: add mtd_write_img - ubi-tests: add normsg - ubinfo: document the new -N option - nanddump: add canonical (hex+ascii) flag - nanddump: add "forcebinary" flag - nanddump: add `--nobad` to read bad blocks - libubi: add support to attach/detach by MTD device path - ubiattach/ubidetach: add support to attach/detach by path - nanddump: Support 4096+218 and 4096+224 page sizes - ubinfo: add -N option to get info by name of ubi volume - support 4096+64 page sizes ### Fixed - mkfs.jffs2: fix `--enable-compressor` - lib: fix libcrc32 generation - rename crc32 to mtd_crc32 - mkfs.ubifs: fix compilation warning - mkfs.jffs2: fixed warnings - nandtest: Fixed indentation - fix spelling error - fix compiler warnings - nandwrite: fix the bug of writing a yaffs2 image to NAND - nandwrite: check if the start address is page-aligned - nandtest: fix `--keep` argument - fix parallel build between ubi-utils and mkfs.ubifs - clean up compile warnings - ubi-utils: reformat help text to fit in 80 columns - nanddump: Fix hexdump nybble ordering - mtd_debug: fix creation mode parameter - mkfs.jffs2: fix integer underflow in jffs2_rtime_compress() ### Changed - libs: remove ubiutils-specific stuff from common.h - libs: make crc32 and fec to be libraries - libscan: rename hdr to ech - ubi-test: seed the random genrator in tests - ubi-tests: use rand instead of random in io_paral - ubi-utils: harmonize mtd device node variables - ubi-utils: harmonize libmtd interface a bit - ubi-tests: remove some junk from the integ test - libubigen: make init_vid_hdr externally visible - libubigen: move header comments - libubigen: do not create huge arrays on stack - ubi-tests: teach errmsg and failed return error code - ubi-tests: rename err_msg to errmsg - libubi: provide mtd number in UBI device information - libubi: remove few fields from volume info - nanddump: increase max OOB size - nanddump: rename `--nobad` to `--noskipbad` - build: add option to not force largefile support - ubi-utils: drop -Werror in old utils - flash_eraseall: tweaks to make binary size smaller - mtd: change flash_eraseall to use libmtd-wrapped ioctls - mtd-utils: update to latest mtd-abi.h from kernel.org - move libmtd source files to lib/ subdirectory - ubi-utils: provide default value for /dev/ubi_ctrl ### Removed - nanddump: drop unused --ignoreerrors option ## [1.3.1] - 2010-01-15 ### Fixed - ubiformat: always initialize seq number - ubiformat: be consistent with sequence numbers ## [1.3.0] - 2009-12-09 ### Added - Makefile: Add Optional ZLIB and LZO CPPFLAGS and LDFLAGS - Add mkfs.ubifs - Add support for 4k pages - ubirmvol: remove volume by name - nandwrite: Support reading from standard input - nanddump: Add Support for Quiet Option - ubinize: allow an absent 'image' in the ubinize configuration - handle non-power-of-2 erase size - add ubirename utility - ubiformat: mark faulty blocks as bad - ubi-utils: add sysfs interface support and new tool - libubi: add `ubi_set_property`, `ubi_leb_unmap` interfaces - libubi: add `ubi_is_mapped()` function - ubinize: add sequence number support - ubiformat: add image sequence support - ubi-utils: add ubirsvol tool to resize UBI volumes - flash_unlock: enhancing for unlocking of specified number of blocks ### Fixed - ubi-tests: fix makefile - ubi-tests: fix run script - ubinize: validate number of sections - ubinize: add more ini-file validation - ubinize: fix static volumes generation - fs-tests: fix symlink bug in integrity test - fs-tests: fix max file name length in integrity test - fs-tests: allow for symlink name too long in integrity test - ubi-utils: fixed and enhanced `--flash-image` option - ubimkvol: check for free LEBs - ubiupdatevol: remove non-existing option from help message - fs-tests: also preserve mount options when mounting again - nandwrite/nanddump: Pass Real Names as Arguments to perror - ubinize: correct subpage_size print and initialise vol_info to zero - flash_eraseall reports incorrect percentage - ubi-utils: fix CFLAGS handling wrt cross compilation - Makefile: Separate '-m' and the mode with a space when invoking 'install' - ubi-utils: various fixes - ubiformat.c: fix printf(%d, size_t) warning - ubi-utils: fix up build system - nandwrite: correct data reading - mkfs.jffs2: fix dir creation in / - ubi-utils: fix warning in fprintf() code - common.mk: tweak rules to workaround make-3.80 bugs - fs-tests: fix remounting in integck - ubi-utils: minor printing fix - ubi-utils: fix compilation warnings - ubi-tests: fix build and some warnings - ubiupdatevol: fix -t parameter - mkfs.jffs2: fix lzo usage on 64bit systems - make sure compiler supports warning flags - libmtd: fix mtd_is_bad return code - libubigen: don't define large array on stack - ubiformat: fix segfault and messages - Prevent git-clean from removing cscope files - ubinfo: handle -d correctly - ubiformat: fix build error - ubi-tests: make tests compile again - libubigen: add missing include - libubi: fix multiple memory corruptions - ubi-utils: fix memory corruptions - libmtd: recognize pre-MTD-sysfs kernels better - nandwrite: fix loop condition - nandwrite: return error if failure when reading from standard input - nandwrite: fix error handling - libubi: fix wrong size calculation with sizes > 4GiB - ubiformat: allow zero erase counter - ubi-utils: fix compilation errors when using CPPFLAGS - nandwrite: fix incorrect use of errno - ubiformat: fix typo in the help output - ubiformat: fix `--erase-counter` handling - flash_lock: fix length being passed - ubiformat: check that min IO size is power of 2 - ubiformat: fix error message ### Changed - enable parallel build process - ubi-utils: use 'stat(2)' instead of 'lstat(2)' - ubi-utils: allow ubiformat to read from stdin - ubi-utils: minor rename - nandwrite/nanddump: cleanup qualifiers, exit mnemonics, booleans, usage - fec.c: replace bzero, bcopy, bcmp wiuth memset, memcpy, memcmp - libubi: be more verbose about errors - libubi: remove some too verbose messages - Unify all common build system parts - ubiformat: nicify error messages - libmtd: Add `_FILE_OFFSET_BITS=64`, fix `lseek` overflow - update ubi-user.h, ubi-header.h, ubi-media.h - Add generated binaries to gitignore - ubi-utils: re-arrange directory layout - ubi-utils: tweak vpath handling - libmtd: move comments to headers - libubi: amend included header files - libubi: remove unnecessary header files - libmtd: amend interface - ubi-utils: rename `ubi_node_type`, `mtd_get_info`, `mtd_info` - libubi: improve `libubi_open` interface, error handling - libubi: do not use udevsettle - libmtd: rename `allows_bb`, `rdonly`, `num` fields - libmtd: make type_str to be an array - ubi-tests: improve io_paral test - ubiformat: torture eraseblocks on write errors - ubiformat: minor printing clean-up - ubiformat: nicify error output - ubiformat: make badblocks output less confusing - common: remove depricated KB,MB,GB support - ubi-utils: update ubi-media.h - ubiformat: clean up help output a little - jffs2dump: rewrite `--help` output to be more suitable for `help2man` - nandwrite: unified reading from standard input and from file ### Removed - ubi-utils: remove debugging leftovers - ubi-utils: remove depricated -d option ## [1.2.0] - 2008-06-27 ### Added - nandwrite: add 'markbad' option - Add nand integrity testing utility - Add utilities for multicast send/receive of MTD images - ubi-utils: add -m option to ubimkvol - ubi-utils: add -S option to ubimkvol - ubi-utils: Add rmvol test - Add test program orph.c - mkfs.jffs2.c: detect hardlinks - ubi-utils: add ubinfo, ubiupdate, ubiattach, ubidetach - ubi-utils: bin2nand, nand2bin support for different ecc layouts - ubi-utils: ubinize, ubiformat - Add libmtd, libscan - libubi: support atomic LEB change ioctl - mtd_debug: support new flags - Add load_nandsim.sh script - fs-tests: add simple performance test - mkfs.jffs2: Add Support for Symlinks to Device Table ### Fixed - Fix repeated warning about ECC correction, in nandtest - fs-tests: fix bug in simple test_2 - ubi-utils: Fixup oob data generation - ubi-utils: various fixes in unubi - ubi-utils: nand2bin had ECC calculation problems - libubi: fix use of negative `errno` values - libubi: fail gracefully if ubi is not supported on the current system - ubi-utils: fix readdir error checking - ubi-utils: fix bytes output formating - libubi: fix sysfs direntries scanning - ubi-utils: pddcustomize fixup update volume - ubi-utils: fix warnings for gcc 4.2.3 - ubi-utils: ubimkvol: fix wrong variable printout - Use LSB locations for manpages - compr_lzo.c: allocate enough memory for lzo compressor. - mkfs.jffs2.c: fix issue with crashing when using lzo compression - fs-tests: preserve mount options when mounting again - mkfs.jffs2: Remove Incorrect Find Optimization ### Changed - nandtest: Mark blocks bad on failed write; don't abort - Makefile: Make optflags easier for distros to override - Makefile: build ubi-utils from top dir, add to install target - Improve option handling in nandtest, add markbad and offset/length options - ubi-utils: rename `__unused` to `ubi_unused` - ubi-utils: remove useless build information - ubi-utils: Nand2bin add more information when bad blocks occur - ubi-utils: migrate to new libubi - ubi-utils: Update and bugfix unubi - ubi-utils: Test-case for unubi - ubi-utils: unubi: add physical erase block number for analysis - ubi-utils: overhaul README, tests - ubi-utils: move UBI tests to tests/ubi-tests/ - ubi-utils: move jffs2_test.sh to ubi-tests - mkfs.jffs2: use separate ino field in struct filesystem_entry for jffs2 ino# - mkfs.jffs2: Set mkfs.jffs2 page size runtime instead of fixed - ubi-tools: major cleanups in ubimkvol, ubirmvol - libubi: consistently rename `eb` to `leb` - ubi-utils: cleanup ubicrc32 - ubi-utils: more sanity checks - Move perl scripts to scritps directory - tests: move checkfs test, jittertest to tests directory - ubi-utils: update headers - ubi-utils: CLI handling for ubigen consistent with other tools - ubi-utils: scripts/mkdevs.pl: create control device node as well - ubi-utils: major overhaul/rewrite for pfi2ubi - ubi-tools: use uint32_t in userspace - ubi-utils: use macros not hardcoded constants - ubi-utils: use mtd_swab.h - ubi-tools: improve printing macros - ubi-tools: consistent option handling for ubimkvol, ubirmvol, ubiupdatevol - ubi-utils: don't use argp.h - Teach libubi_open not to prirnt error message - ubi-utils: use common.h in libubi - fs-tests: allow for ENOSPC in test fwrite00 - Makefile: respect CFLAGS/CPPFLAGS from build environment ### Removed - Remove mkfs.jffs utility - ubi-utils: remove unused directory, testcases.txt ## [1.1.0] - 2007-08-03 ### Added - Add GPL license text, .gitignore file - mkfs.jffs2: Add XATTR support - nanddump: Add `-n` argument (no-ecc) - Support for 1KB page & 32 bytes spare NAND - Add feature removal schedule file - Add fs-tests from Adrian Hunter - Add UBI utilities - Add lzo helper functions ### Fixed - nanddump.c: add missing `--file` long options - fix handling of ioctl return value in nand-utils - Correct integrity test calculations of free space ### Changed - nandwrite: Allow `-s` argument to accept hex and octal values - Add usage message for flash_erase.c - Consolidate the swab macros into one location - Switch to using standard types - Update mtd-abi.h from upstream kernel. - Update user headers from latest kernel tree - Update mtd-abi.h and use new NAND ECC functionality - Makefile: Support out-of-tree builds - mkfs.jffs2: Add xseqno into `jffs2_raw_xref` - Report compressed file sizes (including node headers) in mkfs.jffs2 stats - Consistently use getopt based option parsing - Amend tests not to insist that file system type is JFFS2 - Remove CVS $Id:$ tags ### Removed - mkfs.ffs2 - Remaining Automake files ## [1.0.0] - 2006-04-30 ### Added - Import source from CVS - Add user space headers ### Fixed - memory leak in `write_regular_file` - Fix cbuf free properly - Fix mtd_debug after removal of some MTD types and flags - Fix `make install` target ### Changed - Build using in-tree user space headers