On 13:30 Mon 03 Sep     , Sascha Hauer wrote:
> On Mon, Sep 03, 2012 at 12:55:34PM +0200, Jean-Christophe PLAGNIOL-VILLARD 
> wrote:
> > On 12:32 Mon 03 Sep     , Juergen Beisert wrote:
> > > Hi all,
> > > 
> > > currently I'm working on the difficult process to make an i.MX35 SoC boot 
> > > from 
> > > an externally connected NAND device.
> > > 
> > > Nothing special with it, only the NAND flash controller in the i.MX35 
> > > (also in 
> > > i.MX25, i.MX27 and i.MX31) is braindamaged broken. This controller loses 
> > > the 
> > > factory bad block markers when used without a workaround and losing these 
> > > markers is a _really_ bad idea.
> > > 
> > > But to use the workaround on these SoCs it needs a complicated 
> > > preparation of 
> > > the NAND. Doing it manually is very error prone. And this kind of 
> > > preparation 
> > > has to be kept when the system should be updated and so on. Not easy to 
> > > explain and so much more chances for the user to brick the system while 
> > > the 
> > > update process.
> > > 
> > > This makes me think about a dedicated command which is responsible to 
> > > make the 
> > > target bootable and does all the (more or less complicated) steps to 
> > > ensure 
> > > the next time it gets powered it's able to boot again.
> > > 
> > > There are more architectures which needs a complicated setup to be able 
> > > to 
> > > boot it from some kind of externally connected devices like NAND or eMMCs 
> > > for 
> > > example. Some needs special NAND checksums only for the bootloader, 
> > > others 
> > > needs to keep the partition table even if the bootloader gets updated and 
> > > so 
> > > on.
> > > 
> > > Would it be possible to share one command (or one group of commands) by 
> > > all 
> > > architectures? And each architecture adds its special code to the 
> > > command? 
> > > 
> > > What kind of setup procedures we must cover with such a command?
> > > 
> > > My examples:
> > > 
> > > - for the Freescale i.MX SoCs with the broken NFC we must write the 
> > > bootloader
> > >   in a different way than all the remaining data into the NAND device
> > > - for the Samsung S36410 we must save the factory bad block markers first 
> > > to
> > >   support booting from NAND as its internal ROM expects the checksums at a
> > >   strange offset in the OOB area
> > On some ST SoC it's the same I think we do not need any command we just need
> > to specify it as mtd level for a specific mtd part
> 
> A command has the advantage that for example we could also check for
> valid images before flashing them (does it have a correct barebox
> header?). This could be checked before actually erasing a sector.
> Also, flashing boot images is not limited to mtd devices, it could also
> be mmc, or for OMAP, not a device at all but a file inside a FAT on SD
> card.
for this part I agree but for the oob we must handle it at mtd level otherwise
the mtdcore will taint on bad ecc as example

Best Regards,
J.

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to