[U-Boot] [PATCH v2] omap3_beagle: enable the use of a plain text file named uEnv.txt instead of boot.scr
Jason Kridner
jkridner at beagleboard.org
Wed Mar 2 16:44:14 CET 2011
On Tue, Mar 1, 2011 at 9:54 PM, Alexander Holler <holler at ahsoftware.de> wrote:
> Hello Jason,
>
> On 02.03.2011 00:37, Jason Kridner wrote:
>
>> From: Alexander Holler<holler at ahsoftware.de>
>>
>> Using the new env import command it is possible to use plain text files
>> instead
>> of script-images. Plain text files are much easier to handle.
>>
>> E.g. If your boot.scr contains the following:
>> -----------------------------------
>> setenv dvimode 1024x768-16 at 60
>> run loaduimage
>> run mmcboot
>> -----------------------------------
>> you could create a file named uEnv.txt and use that instead of boot.scr:
>> -----------------------------------
>> dvimode=1024x768-16 at 60
>> uenvcmd=run loaduimage; run mmcboot
>> -----------------------------------
>> The variable uenvcmd (if existent) will be executed (using run) after
>> uEnv.txt
>> was loaded. If uenvcmd doesn't exist the default boot sequence will be
>> started,
>> therefore you could just use
>> -----------------------------------
>> dvimode=1024x768-16 at 60
>> -----------------------------------
>> as uEnv.txt because loaduimage and mmcboot is part of the default boot
>> sequence.
>>
>> For backwards compatibility the use of boot.scr is still supported.
>> ---
>> Changes for v2:
>> - Eliminated else redundant clause that would be ignored if boot
>> succeeds.
>
>
> If I interpret your change correctly, your v2 would use uEnv.txt and
> boot.scr if both are existent. I think this would only lead to confusion.
> My target was to get rid of boot.scr and to therefor boot.scr would be
> ignored if uEnv.txt exists. I don't see any reason why boot.scr should be
> still used when uEnv.txt exists.
if uenvcmd results in a successful boot, then boot.scr would never get executed.
Again, my concern is that this default logic gets overly complex. A
policy of applying linear attempt-then-fall-through will make patches
to this logic apply cleanly as new boot sources are added,
specifically if we ever get the USER button support upstream.
I understand the goal of only using uEnv.txt and not using ucmdenv
such that the u-boot default variables can be used to perform the
boot. I think this goal can easily be achieved by deleting boot.scr.
If boot.scr exists, I don't follow that it would be any less confusing
to the user if it were to *not* be executed following uEnv.txt.
>
>
>>
>> Signed-off-by: Jason Kridner<jkridner at beagleboard.org>
>> Cc: Alexander Holler<holler at ahsoftware.de>
>> ---
>> include/configs/omap3_beagle.h | 26 ++++++++++++++++++--------
>> 1 files changed, 18 insertions(+), 8 deletions(-)
>>
>> diff --git a/include/configs/omap3_beagle.h
>> b/include/configs/omap3_beagle.h
>> index f151e98..b7f5480 100644
>> --- a/include/configs/omap3_beagle.h
>> +++ b/include/configs/omap3_beagle.h
>> @@ -229,6 +229,9 @@
>> "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
>> "bootscript=echo Running bootscript from mmc ...; " \
>> "source ${loadaddr}\0" \
>> + "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
>> + "importbootenv=echo Importing environment from mmc ...; " \
>> + "env import -t $loadaddr $filesize\0" \
>> "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
>> "mmcboot=echo Booting from mmc ...; " \
>> "run mmcargs; " \
>> @@ -240,15 +243,22 @@
>>
>> #define CONFIG_BOOTCOMMAND \
>> "if mmc rescan ${mmcdev}; then " \
>> + "echo SD/MMC found on device ${mmcdev};" \
>> + "if run loadbootenv; then " \
>> + "run importbootenv;" \
>> + "fi;" \
>> + "if test -n $uenvcmd; then " \
>> + "echo Running uenvcmd ...;" \
>> + "run uenvcmd;" \
>> + "fi;" \
>> "if run loadbootscript; then " \
>> - "run bootscript; " \
>> - "else " \
>> - "if run loaduimage; then " \
>> - "run mmcboot; " \
>> - "else run nandboot; " \
>> - "fi; " \
>> - "fi; " \
>> - "else run nandboot; fi"
>> + "run bootscript;" \
>> + "fi;" \
>> + "if run loaduimage; then " \
>> + "run mmcboot;" \
>> + "fi;" \
>> + "fi;" \
>> + "run nandboot;" \
>>
>> #define CONFIG_AUTO_COMPLETE 1
>> /*
>
> Regards,
>
> Alexander
>
More information about the U-Boot
mailing list