aboutsummaryrefslogtreecommitdiff
path: root/ubi-utils/src
AgeCommit message (Collapse)Author
2007-11-24ubi-utils: unubi add physical erase block number for analysisFrank Haverkamp
The number is usefull to analyze cards with broken flash content. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2007-11-24ubi-utils: various fixes in unubiFrank Haverkamp
The extraction of data from blocks used for dynamic volumes was totally broken. The data size was calculated wrong. This fix is not perfect, the alignment is still ignored. The parameter "header-size" is very misleading. It does not reflect the vid hdr offset properly. I assume therefor that it only works for the layout I am using where the vid hdr is at the _end_ of the 1st NAND page (2048). I added the generation of a textfile with information about the blocks which are going into the internal graph representation. Instead of a graph I think that a simple array will simplify the code very much. The array must than be sorted properly to cope with older and newer block-copies but that should not be a problem. discussed the tool with my coleage Andreas Arnez and we found that it might be a good idea to replace it even with a perl program for the same purpose since that would offer the flexibility to change it on the fly when needed. The tool is mainly used for crash analysis so it could be an advantage to change it without needing a C-compiler. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2007-11-24ubi-utils: Update and bugfix unubiFrank Haverkamp
Drake Dawsett had done some changes to our unubi which where not yet published. I hereby send his latest code and integrated the parameter handling which was changed in our version. When reviewing this very huge patch we need to ensure that possible changes of others are not reversed. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2007-10-03ubi-utils: migrate to new libubiAlexander Schmidt
This patchset migrates the remaining tools (pddcustomize, ubimirror and pfiflash) to the new libubi. Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2007-09-26ubi-utils: Nand2bin add more information when bad blocks occurFrank Haverkamp
When bad blocks occur more debug information is needed. To identify the bad blocks the blocksize is required. The split block mode was added to generate files per block. In split mode the bad block markers are analyzed and a summary is printed at the end. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2007-09-26ubi-utils: Fixup oob data generationFrank Haverkamp
The filename for the OOB data was wrongly assigned. OOB data could therefore not be dumped. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2007-08-29ubi-utils: remove useless build informationArtem Bityutskiy
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2007-08-29ubi-utils: get rid of compile warningsArtem Bityutskiy
Just silly hacks. Also remove udevsettle() invocation from UBI library. If it must be called, it is not library's business anyway. Wa added it to make scripts which use ubimkvol utility run, so it is the only caller that really needs this. So just move the cruft to the utility. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2007-08-29ubi-utils: do not interfer with system namespaceArtem Bityutskiy
Rename __unused to ubi_unused to avoid clashes with system namespace Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2007-08-13ubi-utils: add -m option to ubimkvolZoltan Sogor
Creates the volume with maximum available size Signed-off-by: Zoltan Sogor <weth@inf.u-szeged.hu> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2007-07-10UBI-utils: add compare featureAlexander Schmidt
This is a new feature for pfiflash, called "--compare". It allows the user to simulate a pfiflash session without actually changing the flash content. If the flash content is equal to the data in the pfif file, pfiflash returns zero. A positive value is returned when the flash content differs from the pfi file, which indicates that an update is necessary. This feature is useful when a controller mounts an NFS share during boot and has to determine if a pfi file stored on this share contains a code update. Modified PDD values are also registered by the compare feature. Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
2007-06-29UBI-Utils: ubimirror discards returncodeAlexander Schmidt
Ubimirror compares volumes before they are mirrored, but discards the result of the comparison and alway copies volumes. I've tested this code with equal and unequal volumes and it seems to work fine now. Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com> Signed-off-by: Artem Bityutskiy <dedekind@infradead.org>
2007-06-28UBI-Utils: Cleanup of libubimirrorAlexander Schmidt
libubimirror has several odd intendations and spacing errors. Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com> Signed-off-by: Artem Bityutskiy <dedekind@infradead.org>
2007-06-18UBI: fix testsArtem Bityutskiy
This patch fixes UBI tests and adds udev problems solution description. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2007-03-29UBI-Utils: Convert to new ubi libraryAdrian Hunter
Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
2007-03-29UBI-Utils: Rename old ubi libraryAdrian Hunter
Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
2007-03-29UBI-Utils: Updated libubi for latest UBIAdrian Hunter
Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
2007-03-14UBI Tools - problem with multiple ubi devices.Alexander Schmidt
Fix problem with multiple ubi devices Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com> Signed-off-by: Josh Boyer <jwboyer@gmail.com>
2007-02-21UBI-Utils: Increment version of pfiflashFrank Haverkamp
Incrementing the version number was forgotten in the previous patch. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com> Signed-off-by: Josh Boyer <jwboyer@gmail.com>
2007-02-21UBI Utils: pfiflash did not erase block before writing to itAlexander Schmidt
Pfiflash should erase raw flash regions before overwriting them and check for bad blocks in case of NAND flash. Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com> Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com> Signed-off-by: Josh Boyer <jwboyer@gmail.com>
2007-02-21UBI Utils: Fix uninitialized written parameterFrank Haverkamp
The variable written was not properly initialized. That causes the -j option to fail. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com> Signed-off-by: Josh Boyer <jwboyer@gmail.com>
2007-02-12Fix several issues when compiling for 64bit systemsJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@gmail.com>
2007-01-26[PATCH] UBI Utils: Fix syntax description for ubiupdatevolTimo Lindhorst
Fix the syntax description in the help and usage messages for ubiupdatevol. Signed-off-by: Timo Lindhorst <lindhors@linux.vnet.ibm.com>
2006-12-12[PATCH] Minor ubi utils cleanupsJosh Boyer
Remove getopt extern declarations Minor whitespace cleanups Remove incorrect program names that snuck in during getopt rewrite Change comments to match reality Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[MTD] UBI Utils: Tools should have individual version numbersFrank Haverkamp
The tools had a mixture of different version numbers. This is changed now. The internal change to move to remove glibc dependencies should be reflected by an increase of the version number, so that we can react if trouble is seen with the new code. Singed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[MTD] UBI Utils: Fix pfiflashFrank Haverkamp
Various little fixes including some whitespace fixups. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[MTD] UBI Utils: Fix wrong handling of table containing stringsFrank Haverkamp
2006-12-11[MTD] UBI Utils: Fix ubiupdatevol argument parsingFrank Haverkamp
The file containing the data needs to be added as argument. The support got lost when removing the argp parsing. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 13/13] Include stdlib.h for mallocJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 12/13] Convert unubi to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 11/13] Convert ubiupdatevol to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 10/13] Convert ubirmvol to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 9/13] Convert ubimkvol to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 8/13] Convert ubimirror to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 7/13] Convert ubigen to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 6/13] Convert pfiflash to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 5/13] Convert pfi2bin to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 4/13] Convert pddcustomize to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 3/13] Convert nand2bin to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 2/13] Convert mkbootenv to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-11[PATCH 1/13] Convert bin2nand to use getopt option parsingJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-12-06[PATCH] Try 2: Remove bogus copyright statementJosh Boyer
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-11-06[MTD] UBI: rework of off-line UBI analysis toolDrake Dowsett
The new version can create a gnuplot graph of the erase count statistics. It can also extract UBI volumes and single blocks with a preanalysis of the EC as well as the VID header. It has a manual page too ;-). Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-11-06[MTD] UBI: pfiflash needs to flash raw sections and check CRCDrake Dowsett
Flashing of raw partitions should be possible now. CRC checking of pfi files before flashing the content was added. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-10-31[MTD] UBI: Fixed 16 KiB blocksize problem.Frank Haverkamp
2006-10-31[MTD] UBI: Fixed program versionsFrank Haverkamp
2006-10-31[MTD] UBI: Adaptations to new driver, reworked frontenddedekind@linutronix.de
2006-10-31[MTD] UBI: fixed bug in bin2nand introduced by the previous change.Frank Haverkamp
Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-10-31[MTD] UBI: Removed automake, autoconf, added ubi userspace headers.Frank Haverkamp
Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
2006-10-31UBI - Unsorted Block ImagesFrank Haverkamp
UBI (Latin: "where?") manages multiple logical volumes on a single flash device, specifically supporting NAND flash devices. UBI provides a flexible partitioning concept which still allows for wear-levelling across the whole flash device. In a sense, UBI may be compared to the Logical Volume Manager (LVM). Whereas LVM maps logical sector numbers to physical HDD sector numbers, UBI maps logical eraseblocks to physical eraseblocks. More information may be found in the UBI design documentation: ubidesign.pdf. Which can be found here: http://www.linux-mtd.infradead.org/doc/ubi.html Partitioning/Re-partitioning An UBI volume occupies a certain number of erase blocks. This is limited by a configured maximum volume size, which could also be viewed as the partition size. Each individual UBI volume's size can be changed independently of the other UBI volumes, provided that the sum of all volume sizes doesn't exceed a certain limit. UBI supports dynamic volumes and static volumes. Static volumes are read-only and their contents are protected by CRC check sums. Bad eraseblocks handling UBI transparently handles bad eraseblocks. When a physical eraseblock becomes bad, it is substituted by a good physical eraseblock, and the user does not even notice this. Scrubbing On a NAND flash bit flips can occur on any write operation, sometimes also on read. If bit flips persist on the device, at first they can still be corrected by ECC, but once they accumulate, correction will become impossible. Thus it is best to actively scrub the affected eraseblock, by first copying it to a free eraseblock and then erasing the original. The UBI layer performs this type of scrubbing under the covers, transparently to the UBI volume users. Erase Counts UBI maintains an erase count header per eraseblock. This frees higher-level layers (like file systems) from doing this and allows for centralized erase count management instead. The erase counts are used by the wear-levelling algorithm in the UBI layer. The algorithm itself is exchangeable. Booting from NAND For booting directly from NAND flash the hardware must at least be capable of fetching and executing a small portion of the NAND flash. Some NAND flash controllers have this kind of support. They usually limit the window to a few kilobytes in erase block 0. This "initial program loader" (IPL) must then contain sufficient logic to load and execute the next boot phase. Due to bad eraseblocks, which may be randomly scattered over the flash device, it is problematic to store the "secondary program loader" (SPL) statically. Also, due to bit-flips it may become corrupted over time. UBI allows to solve this problem gracefully by storing the SPL in a small static UBI volume. UBI volumes vs. static partitions UBI volumes are still very similar to static MTD partitions: * both consist of eraseblocks (logical eraseblocks in case of UBI volumes, and physical eraseblocks in case of static partitions; * both support three basic operations - read, write, erase. But UBI volumes have the following advantages over traditional static MTD partitions: * there are no eraseblock wear-leveling constraints in case of UBI volumes, so the user should not care about this; * there are no bit-flips and bad eraseblocks in case of UBI volumes. So, UBI volumes may be considered as flash devices with relaxed restrictions. Where can it be found? Documentation, kernel code and applications can be found in the MTD gits. What are the applications for? The applications help to create binary flash images for two purposes: pfi files (partial flash images) for in-system update of UBI volumes, and plain binary images, with or without OOB data in case of NAND, for a manufacturing step. Furthermore some tools are/and will be created that allow flash content analysis after a system has crashed. Who did UBI? The original ideas, where UBI is based on, were developed by Andreas Arnez, Frank Haverkamp and Thomas Gleixner. Josh W. Boyer and some others were involved too. The implementation of the kernel layer was done by Artem B. Bityutskiy. The user-space applications and tools were written by Oliver Lohmann with contributions from Frank Haverkamp, Andreas Arnez, and Artem. Joern Engel contributed a patch which modifies JFFS2 so that it can be run on a UBI volume. Thomas Gleixner did modifications to the NAND layer and also some to JFFS2 to make it work. Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>