[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