From: Shashi Kumar M.S <shashi.ms@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] How to use multiple env variables.
Date: Thu, 28 Jan 2010 21:19:37 +0530 [thread overview]
Message-ID: <006201caa031$81daeb10$a5206c6b@semco> (raw)
In-Reply-To: 20100128094308.GA2220@localhost.localdomain
Hi,
Thanks for the reply at the earliest.
One doubt.
Where should this variable swapos should be.
1. should this "swapos" be in one of the separate partition of the nand
flash
so that can be set by the kernel.
2. or is it a u-boot environment variable set by the kernel (reading the
u-boot env
from the kernel and updating the "swapos" env) after the copy of new
kernel and ramdisk done.
Thanks and Regards
Shashi.
----- Original Message -----
From: "Ladislav Michl" <Ladislav.Michl@seznam.cz>
To: "Shashi Kumar M.S" <shashi.ms@samsung.com>
Cc: <u-boot@lists.denx.de>
Sent: Thursday, January 28, 2010 3:13 PM
Subject: Re: [U-Boot] How to use multiple env variables.
> On Thu, Jan 28, 2010 at 12:30:54PM +0530, Shashi Kumar M.S wrote:
>> Is there any option for multiple env variables so that when i upgrade the
>> kernel and rootfile system if not working properly so that i can fall
>> back to
>> the previous kernel and ramdisk considering i have a sufficiently big
>> nand
>> with required number of partition.
>
> Something like this works for me:
> Two env variables controls from where to boot: 'ospart' indicating
> partition
> number and 'swapos' saying that there is new firmware pending.
> Consider NAND partitions kernel0, rootfs0, kernel1 and rootfs1. System is
> running from kernel1 and rootfs1 (ospart=1). Now write new system to
> kernel0
> and rootfs0 and set variable 'swapos', then reboot system. U-Boot then
> executes
> if test -n $swapos; then
> setenv swapos; saveenv;
> if test $ospart -eq 0; then
> setenv ospart 1;
> else
> setenv ospart 0;
> fi;
> fi
> and constructs kernel cmdline "root=mtd:rootfs$ospart"
> and then loads kernel with "nboot kernel$ospart"
>
> Inside some OS boot script it is then discovered that system is running
> from diferent partition than saved in environment (we cleared 'swapos'
> env variable, but new 'ospart' was to saved to permanent storage) and
> after finding itself in sane state (based on self check or user's
> interaction) it sets 'ospart' in environment accordingly. Otherwise
> reboot is performed (based on watchdog, user's interaction...) and
> original OS version is loaded (as 'ospart' remains intact).
>
> Best regards,
> ladis
next prev parent reply other threads:[~2010-01-28 15:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-28 7:00 [U-Boot] How to use multiple env variables Shashi Kumar M.S
2010-01-28 9:43 ` Ladislav Michl
2010-01-28 15:49 ` Shashi Kumar M.S [this message]
2010-01-28 17:11 ` Ladislav Michl
2010-01-28 9:44 ` Wolfgang Denk
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='006201caa031$81daeb10$a5206c6b@semco' \
--to=shashi.ms@samsung.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox