Hi Guys, On May 27, 2013, at 10:28 AM, Heiko Schocher wrote:
> Hello Lukasz, > > Am 27.05.2013 09:02, schrieb Lukasz Majewski: >> Hi Heiko, >> >>> Hello Tom, >>> >>> Am 24.05.2013 19:12, schrieb Tom Rini: >>>> On Fri, May 24, 2013 at 07:42:01PM +0300, Pantelis Antoniou wrote: >>>>> Hi Heiko, >>>>> >>>>> On May 24, 2013, at 7:39 PM, Heiko Schocher wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> just digging in DFU support in U-Boot for an upcoming board >>>>>> support based on an AM335x. This board support uses for example a >>>>>> rootfs in an UBI Volume on a NAND flash, and this should be >>>>>> updated with dfu ... >>>>>> >>>>>> How To do this? Current state on this board is to erase the rootfs >>>>>> mtd partition with a nand erase and write the new image using >>>>>> dfu_nand.c ... which calls in the end nand_write ... which is ... >>>>>> lets say ... not the prefered way on an UBI volume ... >>>>>> >>>>>> How to solve this? Any ideas? >>>>> >>>>> Well, what would you like ideally to do? Why is nand_write not >>>>> ideal for a UBI volume. >>>>> >>>>> Note that dfu will skip over the bad blocks... >>>> >>>> Presumably because they want to replace say ubi0:rootfs (and leave >>>> ubi0:user-data and ubi0:u-boot-env and so forth alone) rather than >>>> write in a new ubi container of everything. >>>> >>>> I would suggest that, so long as our existing UBI infrastructure >>>> allows this, you add a new method, dfu_ubi which takes care of >>>> programming things. This shouldn't be too bad to write as I've >>>> heard the existing infrastucture was easily expanded for SPI (and >>>> patches are pending a little more clean up prior to posting). >>> >>> This sounds easy ... but they have also raw nand partitions, for >>> example spl partitions on one nand flash ... for which dfu_nand.c >>> fits perfectly ... is it possible to use dfu_nand.c and another >>> dfu_xxx.c at the same time? >> >> I'm not so familiar with nand devices handling, but in my opinion we >> shall create dfu_ubi.c file. >> >> I think that, nand part of dfu handling shall be separated from ubi, >> even if UBI itself is layed on nand. > > Yes, I tend also to this .. but not as a separte "dfu interface .." > "dfu nand .." should stay, and each partition should know, if it > is a raw nand, or UBI, or jffs2?,... as like in dfu_mmc.c ... but > this should not be hardcoded in every dfu_xxx.c, instead it should > be something like a subinterface ... if it is possible. > I'm not completely up to speed with UBI, but dfu_ubi seems to be the way to go for me. Looks like it's simple enough; erase (but don't step over the wear counters) , write (but skip over the wear counters). I don't know how smart you have to be with UBI version; be very careful when the binary format of UBI changes. >> However, Tom and Pantelis shall give their opinion, since they spent a >> lot of time on forcing dfu_nand.c to work. > > Yep, that would be great, as I am a dfu beginner ;-) > > bye, > Heiko > -- > DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Regards -- Pantelis _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot