summaryrefslogtreecommitdiff
path: root/ubi-utils/new-utils/README
diff options
context:
space:
mode:
Diffstat (limited to 'ubi-utils/new-utils/README')
-rw-r--r--ubi-utils/new-utils/README55
1 files changed, 0 insertions, 55 deletions
diff --git a/ubi-utils/new-utils/README b/ubi-utils/new-utils/README
deleted file mode 100644
index 41c5957..0000000
--- a/ubi-utils/new-utils/README
+++ /dev/null
@@ -1,55 +0,0 @@
-This directory contains a new UBI toolchain which is intended to replace
-the old one. All utilities support "-h" option which prints sufficient
-usage information. See the MTD web-site for more information.
-
-Motivation for new tool-chain.
-
-I was doing very active UBI development and had to add new features like
-dynamic UBI devices and auto-resize feature. Because of the mess in the
-the old tools I basically could not figure out how to upgrade them. In
-my humble oppinion, they are unmaintainable. The original authors did not
-show enthusiasm when I mailed them and asked to clean-up the tool-chain
-[1]. Thus, I re-implemented them, but I did borrow things from the old
-tool-chain and preserved copyrights and author names.
-
-I really did try to clean-up the old tool chain, but gave up (see git
-history for confirmation). So,
-
-1. I found the source codes very difficult to navigate and read, especially
- those related to pdd, pfi, and bootenv. Try to do this yourself - they
- are a puzzle.
-2. I foud the concept of PFI needlesly complecated - PFI file is nothing
- else but the initial configuration .ini file + the contents of the
- UBI volumes packed into one file, but with some changes of the .ini file's
- format. The PFI file format is not very nice and it is difficult to parse,
- especially because the PFI headers do not tell you data star and end for
- each data chunk, and you have to do additional parsing.
-
- So basically, you have .ini file + images, then you transfer this to pfi,
- which does not add any other information. For .ini you have libraries
- which may parse them, for pfi - not. Then you have to parse this pfi
- which adds unneeded and complex code. This all needs lists, hashmaps,
- and so on - for no reason.
-3. I found the command line options of the utilities to be inconsistent.
- This is OK when you script your single task and do not touch it anymore.
- But when you have to use the utilities while developing and testing,
- It is difficult to remember their inconsistent options.
-4. I found it wrong to add development options to user utilities like
- "broken update". End users should not see them.
-5. I did not find any consistent style and convention inside which
- irritated me.
-6. I found it weird to introduce needless "logging infrastructure" instead
- of just re-directing stdout and stderr to another file.
-7. I found the tool to be rather IBM-setup oriented. For example, the VID
- header position was hard-coded. Some utilities were just weird, like
- mkbootenv, which changed some ethernet addresses mentioned in a
- configuration file.
-8. Finally, it was very difficult to realize what is pfi and pdd, what for,
- why I need this transiant pfi file when I just want to create an UBI
- image. There was zero documentation.
-
-And so on.
-
-Feb 19, 2008, Artem Bityutskiy.
-
-[1]. http://lists.infradead.org/pipermail/linux-mtd/2007-December/020134.html