[U-Boot] start a second kernel/filesystem if first one is corrupted

Wolfgang Wegner wolfgang at leila.ping.de
Wed Jan 13 16:22:25 CET 2010


Hi,

On Wed, Jan 13, 2010 at 04:02:10PM +0100, Arno Steffen wrote:
> To make a more stable system I want to put a second reduced linux
> (kernel/rootfs) onto flash memory.
> This should be boot automatically, if #1 fails for any reason.
> I tried to add this in bootcmd, but execution will be interuppted if the
> first bootm failes.
> Is there any chance to do so?

yes, it is possible.
You should provide more information about your system and what you
already tried.

In my board, i have a rather crude approach for the actual boot command:
"run xilinxload&&bootm 0x80000;update;reset"

If either of xilinxload [which configures an FPGA] or bootm fails,
the update command is executed to allow updating the firmware and
after update a reset is performed. This works for me on a coldfire,
so in theory it should be possible to replace "update" by another
"bootm...".

Using bootcount on systems supporting it is a much better solution,
unfortunately it is not yet implemented for coldfire.

> (maybe it is even possible to compile this into bootloader, in case uboot
> environment gets corrupted/misconfigured)

IIRC there is a read-only option for the environment.

Regards,
Wolfgang



More information about the U-Boot mailing list