diff options
Diffstat (limited to 'ubi-utils/new-utils/README')
-rw-r--r-- | ubi-utils/new-utils/README | 55 |
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 |