This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Default boot scripts in RedBoot


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.

-- 
Gary Thomas <gary@mlbassoc.com>
MLB Associates
Index: redboot/current/src/main.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/redboot/current/src/main.c,v
retrieving revision 1.50
diff -u -5 -p -r1.50 main.c
--- redboot/current/src/main.c	24 Nov 2003 21:12:07 -0000	1.50
+++ redboot/current/src/main.c	10 Dec 2003 14:53:55 -0000
@@ -297,10 +297,14 @@ cyg_start(void)
 #ifdef CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
     fis_zlib_common_buffer =
     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)();
     }
 
     mem_segments[0].start = workspace_start;
@@ -318,13 +322,10 @@ cyg_start(void)
 
 #ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
 # 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) {
         // Give the guy a chance to abort any boot script
         unsigned char *hold_script = script;

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]