Flashing UBIFS image to gluebi mtd

Konstantin Tokarev annulen at yandex.ru
Fri Nov 1 05:12:05 EDT 2013



01.11.2013, 11:48, "Ricard Wanderlof" <ricard.wanderlof at axis.com>:
> On Thu, 31 Oct 2013, Konstantin Tokarev wrote:
>
>>  31.10.2013, 19:08, "Ezequiel Garcia" <ezequiel.garcia at free-electrons.com>:
>>>  Hi Konstantin,
>>>
>>>  On Thu, Oct 31, 2013 at 05:48:34PM +0400, Konstantin Tokarev wrote:
>>>>   I'm migrating rootfs of device from SquashFS on top of gluebi to UBIFS.
>>>  Sounds like you could use ubiblock for that setup, which is suitable
>>>  for squashfs, and completely independent of ubifs (thus less cpu and
>>>  memory hungry and easier to setup).
>>  Could you elaborate this a bit more? Do you mean that block device emultaion
>>  layer on top of UBI + FS on top of that can work faster than UBIFS on top of
>>  UBI?
>>
>>  Btw, I'm more interested in finding out in what way my UBIFS volume can be
>>  broken in given scenario and how can I detect it (to reflash once again,
>>  using UBI-aware updater this time).
>
> You didn't mention how you overwrote your UBI partition with new data. dd
> ? nandwrite ?

I write data to mtd device file (gluebi-based in this case) using write()
function, one mtd eraseblock at a time. Effectively it's the same as dd.

> I'm getting the impression your problem is based on the fact
> that when updating the firmware, you are using update firmware which is
> not UBI aware, and you don't get UBI-awareness on the system until you've
> done the update.

Exactly.

> A chicken-and-egg-situation. One solution in that case
> would be to have an intermediate firmware which was identical to what was
> in the device to start with but that had an UBI-aware upgrade application.

Not a solution, because end user of device might skip this intermediate
firmware accidentally.

It would be perfectly OK if rootfs failed to mount after update because
it led to reflash once again with the same firmware. It would be possible
to do any new consistency check, because initramfs software had already
been upgraded.

The problem is that incorrectly flashed UBIFS mounts without error,
all content is readable and has valid md5sums, and file write and
mv operations also succeed.

>
> Also I don't think you mentioned exactly your old setup. I'm assuming
> squashfs on top of mtd, with no UBI involved, right?

No, on top of UBI (to handle bad blocks and wear leveling).

-- 
Regards,
Konstantin



More information about the linux-mtd mailing list