From: Savin Zlobec <savin@elatec.si>
To: Gary Thomas <gary@mlbassoc.com>
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] Default boot scripts in RedBoot
Date: Thu, 11 Dec 2003 09:10:00 -0000 [thread overview]
Message-ID: <3FD83665.6080102@elatec.si> (raw)
In-Reply-To: <1071070302.16658.237.camel@hermes>
[-- Attachment #1: Type: text/plain, Size: 2316 bytes --]
Gary Thomas wrote:
>On Wed, 2003-12-10 at 08:35, Savin Zlobec wrote:
>
>
>>Gary Thomas wrote:
>>
>>
>>
>>>On Wed, 2003-12-10 at 07:47, Savin Zlobec wrote:
>>>
>>>
>>>
>>>
>>>>Hello,
>>>>
>>>>I am using RedBoot configured with default boot script and it doesn't
>>>>work just like I expect it to. It looks to me that default boot script
>>>>timeout
>>>>(CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT) is used
>>>>only when CYGSEM_REDBOOT_FLASH_CONFIG is not set. I use
>>>>flash config support in my configuration and when boot script is not set,
>>>>than the default boot script is used, but the timeout remains 0 which
>>>>aborts the script.
>>>>
>>>>Also from the cdl option description one could expect that the default
>>>>value of
>>>>boot_script_timeout would be CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT,
>>>>but it is 0.
>>>>
>>>>Is this a feature or a bug ?
>>>>
>>>>
>>>>
>>>>
>>>Perhaps the default timeout should always be set. In any case, if
>>>you have 'fconfig' enabled, then the value stored in your config
>>>database should be what gets used.
>>>
>>>Try this patch and see if it behaves more like you'd like.
>>>
>>>
>>>
>>It looks fine, but the option I fancy is to set boot_script_timeout default
>>value to CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_VALUE
>>and to set script_timeout to boot_script_timeout value regardless of
>>boot_script
>>value - so the default boot script can be aborted by setting
>>boot_script_timeout to 0.
>>Also to make this work boot_script_timeout option has to be always
>>enabled if
>>default boot script is set.
>>
>>
>
>Sorry, but I'm not following what you are trying to accomplish.
>
>Please reword it, describing how you want it to behave (without
>referring to any of the variable/CDL names should help me understand).
>
What I need is a first time initialization script. I used redboot
default script option
for that, but I found that the script timeout was not set when flash
config was enabled.
Also I needed some way to disable this script after the first time - the
obvious way
was to set the script timeout to 0 from the initialization script, but I
found out
that the script timeout value stored in flash is used only when custom
boot script option is
enabled.
Here is what I did to make it work from me.
[-- Attachment #2: diff --]
[-- Type: text/plain, Size: 2273 bytes --]
Index: fconfig.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/src/fconfig.c,v
retrieving revision 1.7
diff -u -r1.7 fconfig.c
--- fconfig.c 25 Nov 2003 11:54:41 -0000 1.7
+++ fconfig.c 11 Dec 2003 08:47:13 -0000
@@ -136,9 +136,13 @@
CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION,
"ms resolution)"),
boot_script_timeout,
+#ifndef CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT
"boot_script", true,
+#else
+ ALWAYS_ENABLED, true,
+#endif
CONFIG_INT,
- 0
+ CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT
);
#undef __cat
#undef _cat
@@ -1011,9 +1015,9 @@
}
config_ok = true;
flash_get_config("boot_script", &use_boot_script, CONFIG_BOOL);
+ flash_get_config("boot_script_timeout", &script_timeout, CONFIG_INT);
if (use_boot_script) {
flash_get_config("boot_script_data", &script, CONFIG_SCRIPT);
- flash_get_config("boot_script_timeout", &script_timeout, CONFIG_INT);
}
#ifdef CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
if (flash_get_config("console_baud_rate", &console_baud_rate, CONFIG_INT)) {
Index: main.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/src/main.c,v
retrieving revision 1.50
diff -u -r1.50 main.c
--- main.c 24 Nov 2003 21:12:07 -0000 1.50
+++ main.c 11 Dec 2003 08:47:14 -0000
@@ -299,6 +299,10 @@
workspace_end -= CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE;
#endif
+#ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
+ script_timeout = CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT;
+#endif
+
for (init_entry = __RedBoot_INIT_TAB__; init_entry != &__RedBoot_INIT_TAB_END__; init_entry++) {
(*init_entry->fun)();
}
@@ -320,9 +324,6 @@
# ifdef CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT
if (!script) {
script = CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT;
-# ifndef CYGSEM_REDBOOT_FLASH_CONFIG
- script_timeout = CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT;
-# endif
}
# endif
if (script) {
[-- Attachment #3: Type: text/plain, Size: 146 bytes --]
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
prev parent reply other threads:[~2003-12-11 9:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-10 14:40 Savin Zlobec
2003-12-10 14:56 ` Gary Thomas
2003-12-10 15:28 ` Savin Zlobec
2003-12-10 15:31 ` Gary Thomas
2003-12-11 9:10 ` Savin Zlobec [this message]
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=3FD83665.6080102@elatec.si \
--to=savin@elatec.si \
--cc=ecos-discuss@sources.redhat.com \
--cc=gary@mlbassoc.com \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).