Welcome! Log In Create A New Profile

Advanced

[request] making bad blocks less bad - starting U-Boot from another NAND position

Posted by pengu 
[request] making bad blocks less bad - starting U-Boot from another NAND position
May 29, 2016 10:49AM
I've read that some guys have bad blocks (0 - 1024 kb) and there is no place for flashing U-Boot in typical size (512 kb - 1 mb).
is it possible to "jump" to another working NAND position and start U-Boot there?
The loader (U-Boot) which can do this should be configured freely.

I remember that is was possible to start another U-Boot from stock U-Boot (Cloud Engines)
Is it possible to create a super small U-Boot binary (no shell, no env, no filesystems, no EFI, ...)
(<256k) with the ability to start another U-Boot?
compared with GRUB, this could be the stage 1 or 1,5
how many code is necessary to make that possible?
How small can we get it with standard functions?



Edited 9 time(s). Last edit at 05/29/2016 11:11AM by pengu.
Re: [request] making bad blocks less bad - starting U-Boot from another NAND position
May 29, 2016 03:55PM
pengu ,

> I remember that is was possible to start another
> U-Boot from stock U-Boot (Cloud Engines)
> Is it possible to create a super small U-Boot
> binary (no shell, no env, no filesystems, no EFI,
> ...)
> (<256k) with the ability to start another U-Boot?

Mostly, not possible. Recent mainline u-boot does not support chainloading a substantially different u-boot from itself. And in this case, the memory footprint will be significantly different between the 2.

What you need to do in case of bad blocks is repartitioning MTDs (if necessary) and make sure it has enough good blocks to flash u-boot. The bootROM will take care of the bad blocks skipping.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
>
> Mostly, not possible. Recent mainline u-boot does
> not support chainloading a substantially different
> u-boot from itself.

I think the problem is, that most U-Boot builds use the same memory.

>
> What you need to do in case of bad blocks is
> repartitioning MTDs (if necessary) and make sure
> it has enough good blocks to flash u-boot.

U-Boot must be running for this to work so you can tell where the kernel is
Re: [request] making bad blocks less bad - starting U-Boot from another NAND position
May 29, 2016 04:41PM
pengu Wrote:
-------------------------------------------------------
> >
> > Mostly, not possible. Recent mainline u-boot
> does
> > not support chainloading a substantially
> different
> > u-boot from itself.
>
> I think the problem is, that most U-Boot builds
> use the same memory.
>

Memory footprint (i.e. size) are different.

> >
> > What you need to do in case of bad blocks is
> > repartitioning MTDs (if necessary) and make
> sure
> > it has enough good blocks to flash u-boot.
>
> U-Boot must be running for this to work so you can
> tell where the kernel is

Yes it must.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: