[RFC] Dedicated command to make a target bootable with Barebox
Sascha Hauer
s.hauer at pengutronix.de
Mon Sep 3 07:30:21 EDT 2012
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.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list