Skip to contentSkip to conversation

Comparing UBI volumes to generate patch for upgrades

DISCUSSION Subodh Nijsure 2 participants 3 messages Feb 1, 2012 – Feb 3, 2012 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

Hi,

I am are working on a embedded industrial product that uses UBIFS, but we have limitation on amount of data this product can download per year.

So we are trying to figure out how to optimise size of upgrade package.

one option is use VCDIFF/bsdif or variation there-of and generate a binary diff package.

option 2 is write a tool that compares UBI volume layout for revision 1 and UBI volume layout for revision 2 and then send that difference, along the lines of what is outlined in the paper @ http://www.icmu.org/icmu2010/Papers/3-1.pdf

We are just getting started writing a tool to compare UBI volumes, but I want to send out querry to UBI experts to see if there are some fundamental issues with UBI that would make comparing UBI volumes and applying such a patch would be a non-starter.

If we do come up with a "decent" enough tool that can compare UBI volumes will certainly share it.

-Sam

#1 lore raw
Quoted 7 lines · Subodh Nijsure

one option is use VCDIFF/bsdif or variation there-of and generate a binary diff package.

option 2 is write a tool that compares UBI volume layout for revision 1 and UBI volume layout for revision 2 and then send that difference, along the lines of what is outlined in the paper @
http://www.icmu.org/icmu2010/Papers/3-1.pdf

I guess you can do this for R/O volumes, but not R/W.

Depending on how much extra flash you have, you may do the actual update in a power-off-tolerant manner or not.

Quoted 4 lines

We are just getting started writing a tool to compare UBI volumes, but I want to send out querry to UBI experts to see if there are some fundamental issues with UBI that would make comparing UBI volumes and applying such a patch would be a non-starter.

I assume you are not planning to do this stuff in kernel space, right?

Signature · 2 lines
Best Regards,
Artem Bityutskiy
#2 lore raw
Quoted 9 lines · Artem Bityutskiy
Quoted 7 lines · Subodh Nijsure

one option is use VCDIFF/bsdif or variation there-of and generate a binary diff package.

option 2 is write a tool that compares UBI volume layout for revision 1 and UBI volume layout for revision 2 and then send that difference, along the lines of what is outlined in the paper @
http://www.icmu.org/icmu2010/Papers/3-1.pdf

I guess you can do this for R/O volumes, but not R/W.

Yes we would do this 'upgrade' on read-only volume.

Quoted 3 lines

Depending on how much extra flash you have, you may do the actual update in a power-off-tolerant manner or not.

Actually we do have to do this upgrade in power-off-tolerant manner, but hardware does give us few seconds of "battery backed" power, and indicates to software that shutdown is imminent.

Quoted 5 lines
Quoted 4 lines

We are just getting started writing a tool to compare UBI volumes, but I want to send out querry to UBI experts to see if there are some fundamental issues with UBI that would make comparing UBI volumes and applying such a patch would be a non-starter.

I assume you are not planning to do this stuff in kernel space, right?

Not planning to this in kernel space.