
Stephen Williams wrote:
I am setting up my device to autoboot, and I want to compile in a default boot command (a la CONFIG_BOOTCOMMAND) and only use the bootcmd variable if it is defined. I want to use the other environment for other things, though.
It appears to me, though, that in main.c autoboot will be prevented if getenv("bootcmd") returns 0, no matter what the CONFIG_BOOTCOMMAND value is set.
Am I mis-reading this? Is this an error in need of fixing?
Arg! It seems like *all* the autoboot related variables, including BOOTARGS and AUTOBOOT_PROMPT are ignored if there is *any* environment. This makes no sense to me. Surely people want to set per-board stuff in environment and keep common autoboot settings compiled in. My BOOTCOMMAND and BOOTARGS together are too large to fit into my 256byte EEPROM.

In message 31968-89888@sneakemail.com you wrote:
Arg! It seems like *all* the autoboot related variables, including BOOTARGS and AUTOBOOT_PROMPT are ignored if there is *any* environment. This makes no sense to me. Surely people want to
Wrong. They are not ignored. They are used to define the DEFAULT environment.
set per-board stuff in environment and keep common autoboot settings compiled in. My BOOTCOMMAND and BOOTARGS together are too large to fit into my 256byte EEPROM.
You misunderstand how the environment works. There are no two separate sets, it is only one set, which gets pre-initialized form the default settings, which get used in case of corrupted checksum or so...
If you cannot fit your environment in 256 bytes you should use a bigger EEPROM. Or even better (much more reliable) put the environment in flash.
Best regards,
Wolfgang Denk

Wolfgang Denk wd-at-denx.de |u-boot-users| wrote:
In message 31968-89888@sneakemail.com you wrote:
Arg! It seems like *all* the autoboot related variables, including BOOTARGS and AUTOBOOT_PROMPT are ignored if there is *any* environment. This makes no sense to me. Surely people want to
Wrong. They are not ignored. They are used to define the DEFAULT environment.
set per-board stuff in environment and keep common autoboot settings compiled in. My BOOTCOMMAND and BOOTARGS together are too large to fit into my 256byte EEPROM.
You misunderstand how the environment works. There are no two separate sets, it is only one set, which gets pre-initialized form the default settings, which get used in case of corrupted checksum or so...
Ah, I get it now. And yes, it does make sense. I was able to find more EEPROM space and when I cleared out the EEPROM, I got my compiled in values, which I was then able to store into the EEPROM and use there from then on. Autoboot is happy now, and so am I.
Thanks,
participants (2)
-
Stephen Williams
-
Wolfgang Denk