[U-Boot] U-Boot: using nand write to flash an ubi image, ubi part fails

Aaron Williams Aaron.Williams at cavium.com
Fri Sep 30 08:46:36 CEST 2011


Thanks.

I finally found the problem on our end and now I have ubifs working
beautifully.

-Aaron

On 09/29/2011 08:33 PM, Lars Michael wrote:
> --- On Thu, 29/9/11, Aaron Williams <Aaron.Williams at cavium.com> wrote:
>> From: Aaron Williams <Aaron.Williams at cavium.com>
>> Subject: Re: [U-Boot] U-Boot: using nand write to flash an ubi image, ubi part fails
>> To: u-boot at lists.denx.de
>> Cc: "Lars Michael" <lh_post at yahoo.com>
>> Date: Thursday, 29 September, 2011, 4:11
>> Hi Lars,
>>
>> Were you ever successful in getting UBI to work in U-Boot?
>> I am in a similar 
>> boat. I have UBI working beautifully in Linux (2.6.32.27)
>> but so far I've had 
>> no luck in U-Boot.
>>
>> -Aaron
> Hi Aaron,
>
> Good question, I am not able to write a ubi image (created by ubinize) 
> and then attatch to it from U-Boot. I found that I need the free space
> fixup patch. My U-Boot is rather old (2009.08) and I can not easily
> apply that patch due to too many other changes. So for now, I must
> write the image from Linux, do the fixup and then U-Boot is able to
> attach. 
>
> Regards,
> - Lars 
>
>> On Monday, July 18, 2011 02:29:08 AM Lars Michael wrote:
>>> Hello Ben,
>>>
>>> --- On Wed, 1/6/11, Ben Gardiner <bengardiner at nanometrics.ca>
>> wrote:
>>>>> Using mkfs.ubifs and ubinize I have created
>> an image
>>>> with 5 volumes. In Linux I could flash it using
>> "ubiformat
>>>> /dev/mtd1 -f /root/ubi.img" and attach it using
>> "ubiattach
>>>> /dev/ubi_ctrl -m 1". It worked.
>>>>
>>>>> In production I would prefer to write the
>> image from
>>>> U-Boot. So in U-Boot I used "nand erase" then
>> "nand write"
>>>> to flash the image. Then I want to attach by "ubi
>> part"
>>>> command - but this fails: "UBI error: ubi_init:
>> UBI error:
>>>> cannot initialize UBI, error -17"
>>>>
>>>>> [...]
>>>>> I realize that the U-Boot 'nand erase' does
>> not
>>>> preserve the erase counters. So what would be the
>> correct
>>>> way to erase and write in U-Boot? And why is the
>> ubiformat
>>>> not able to correct the problems?
>>>>
>>>> It's true that the ECs are not preserved. But
>> it's also
>>>> true that
>>>> trailing pages of 0xff are not trimmed either.
>> You
>>>> definitely need to
>>>> drop trailing 0xff pages when writing ubinized
>> images
>>>> containing UBIFS
>>>> volumes. To do this you can use either the new
>> 'nand write'
>>>> variant,
>>>> .trimffs [1] which is currently patches that have
>> been
>>>> Acked. Or you
>>>> can use the free-space-fixup feature which is
>> available in
>>>> the
>>>> ubifs-2.6 tree and requires that you use a
>> mkfs.ubifs built
>>>> from the
>>>> the mtd-utils tree.
>>> Ok, I have updated my mtd-utils and recompiled the
>> mkfs.ubifs to get
>>> support for the free-space-fixup feature. Next I have
>> pulled
>>> all ubi updates from the 2.6.29 backport tree which
>> gave med 154 patches
>>> including the fixup.
>>>
>>> Now I can build the image, ubiformat, ubiattach and
>> mount with success.
>>> After a reboot I can ubiattach and mount with
>> success.
>>> Next step is to get it to work in U-Boot too.
>>>
>>> Thanks and regards,
>>> - Lars
>>>
>>> _______________________________________________
>>> U-Boot mailing list
>>> U-Boot at lists.denx.de
>>> http://lists.denx.de/mailman/listinfo/u-boot
>> -- 
>> Aaron Williams <Aaron.Williams at cavium.com>
>>  (408) 943-7198
>>



More information about the U-Boot mailing list