From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1920 invoked by alias); 11 Dec 2003 09:10:23 -0000 Mailing-List: contact ecos-discuss-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@sources.redhat.com Received: (qmail 1907 invoked from network); 11 Dec 2003 09:10:22 -0000 Received: from unknown (HELO lorien.elatec.si) (193.77.58.106) by sources.redhat.com with SMTP; 11 Dec 2003 09:10:22 -0000 Received: from elatec.si (onix [10.0.0.253]) by lorien.elatec.si (8.11.6/8.11.6) with ESMTP id hBB9DBL02456; Thu, 11 Dec 2003 10:13:12 +0100 Message-ID: <3FD83665.6080102@elatec.si> Date: Thu, 11 Dec 2003 09:10:00 -0000 From: Savin Zlobec User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Gary Thomas CC: ecos-discuss@sources.redhat.com References: <3FD7321E.5010103@elatec.si> <1071068178.16658.234.camel@hermes> <3FD73D5B.9040605@elatec.si> <1071070302.16658.237.camel@hermes> Content-Type: multipart/mixed; boundary="------------010303060008000103060600" Subject: Re: [ECOS] Default boot scripts in RedBoot X-SW-Source: 2003-12/txt/msg00146.txt.bz2 --------------010303060008000103060600 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 2316 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. --------------010303060008000103060600 Content-Type: text/plain; name="diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diff" Content-length: 2273 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) { --------------010303060008000103060600 Content-Type: text/plain; charset=us-ascii Content-length: 146 -- Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos and search the list archive: http://sources.redhat.com/ml/ecos-discuss --------------010303060008000103060600--