[PATCH 6/7] New utility ubidump
Bill Pringlemeir
bpringlemeir at nbsps.com
Mon Jul 21 09:20:59 PDT 2014
On 16 Jul 2014, hujianyang at huawei.com wrote:
>> But again, if you start smaller, and upstream a good tool for
>> UBIFS-level stuff, it will be easier to add UBI stuff separately.
>> Besides, I have some additional vision, which you do not have to
>> implement, but which should be taken into account. E.g., ubidump
>> which does not need UBI/UBIFS drivers, ubidump which can deal with an
>> image generated with nanddump without "mounting" it, etc. So I was
>> thinking doing small steps at a time would make it easier for me and
>> for you to make a tool which has limited functionality today, but
>> which can be later extended to support more functionality.
> It seems you what more than me. I think you are right. I need to
> reconsider how to realize these above, not hole of them, but a
> good architecture that can be extended easily.
> So I think getting data from mtd driver is a good choice and then
> run it with an image file. Current UBI functionality has lots of
> limit and it is basing on UBI driver. But we need to do more work
> in user space (rebuilding volume table and so on) in this way. I
> think it's worth.
> Give me some time to re-create this utility. I will send it to you
> if I finished it. If you get some new ideas, please tell me as soon
> as possible.
I started some thing like this. The source is attached. As really you
only want 'read only' access, there is a minimal portion of the
UBI/UbiFs code that is needed. I think that only the 'ubi-media.h' is
needed. The Linux is high performance and handles read/write with
different fault conditions.
If you write code for read-only/single thread I think it will be much
more simple than the active UBI/UbiFS code in the Linux kernel. I did
not look at the UbiFS layer as much. It is far more complex that UBI
imho; of course, I just saw a little of the internal volumes and the
fast map features. However, fast map itself should not be needed for
this utility.
For your use case of analysis in a running system, I think that reads of
'/dev/mtd0ro', etc can be used. This way recovery features can also be
developed if we identified some inconsistency; Ie, it is not required to
'mount' the volume before analysis.
The attached source just scans an file image and create an leb/peb
mapping. I only used the 'ubi-media.h' as documentation.
Fwiw,
Bill Pringlemeir.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: parse_ubi.c
Type: text/x-csrc
Size: 13046 bytes
Desc: Stupid source that processes raw dump of UBI layer.
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20140721/7228fb12/attachment-0001.bin>
More information about the linux-mtd
mailing list