All of lore.kernel.org
 help / color / mirror / Atom feed
From: Graeme Russ <graeme.russ@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] uboot redundancy.
Date: Sat, 10 Jul 2010 21:11:17 +1000	[thread overview]
Message-ID: <4C385555.2080801@gmail.com> (raw)
In-Reply-To: <AANLkTimzuo3GIbzljs947gnDyxI1D21EhDfHIZzj-C2U@mail.gmail.com>

On 10/07/10 00:03, Sagar Heroorkar wrote:
> Hi All,
> 
> I am planning to implement uboot redundancy.
> This means having the following idea which we thought.
> 
> Golden-Uboot which is flashed in the NOR-FLASH. This is not field
> upgradable.
> This golden uboot is going to have logic to pick the other uboot based on
> certain flags or env vriables
> 
> As i mentioned i wanted the uboot to be redundant.
> So i will have 2 copies of uboot now.
> Uboot1
> Uboot2

I have a similar plan for x86 although the rationale was to enable rapid
load-reset-test(-write to boot ROM on pass).

The x86 port has the ability to load a new version of U-Boot into an
arbitrary location in RAM and 'boot-strap' directly into it. I was planning
on doing something similar to what you propose - All that is needed is a
little bit of code in the low-level boot-strap to choose whether to
continue loading the main image, or a secondary image. Note that at this
point, there is no environment and no CFI driver so any decision would need
to be based on NVRAM data.

> 
> Golden uboot will pick either of one uboots mentioned above. If the uboot1
> which is picked fails to boot, then we will have uboot2 as back up to boot.
> vice versa.
> 
> Golden uboot recides in the address fffa0000 (start.s).
> There is a relocation code which copies the code from flash to ram. if the
> uboot which i have picked addressess will change , hence how can i do the
> relocation?

x86 port has 'proper' relocation. It does not matter where the target image
resides, it will reload itself into the highest available memory location
and run from there.

> 
> Any pointers will help me if any one already did this kind of approach
> making uboot redundant.
> 

There were some posts a little while ago (search for posts by Joakim
Tjernlund - he was working on a 100% position independent U-Boot)

My work on U-Boot has been very slow of late, but I would be really
interested in working through this idea in a platform independent way.

--
Graeme

  reply	other threads:[~2010-07-10 11:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-09 14:03 [U-Boot] uboot redundancy Sagar Heroorkar
2010-07-10 11:11 ` Graeme Russ [this message]
2010-07-16 19:12   ` Sagar Heroorkar
2010-07-18 15:55     ` Sagar Heroorkar
2010-07-19 13:26       ` Sagar Heroorkar
2010-07-19 20:36         ` Joakim Tjernlund
2010-07-21 15:21           ` Sagar Heroorkar
2010-07-21 16:27             ` Joakim Tjernlund
2010-07-21 17:09               ` Sagar Heroorkar
2010-07-21 17:21                 ` Joakim Tjernlund
2010-07-21 18:25             ` Wolfgang Denk
2010-07-21 18:45               ` Sagar Heroorkar
2010-07-21 19:37                 ` Wolfgang Denk
2010-07-21 19:59                   ` Sagar Heroorkar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C385555.2080801@gmail.com \
    --to=graeme.russ@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.