Re: [Xenomai-core] Porting xeno-{info|load|test} to a busybox system

2006-06-14 Thread Jim Cromie

Philippe Gerum wrote:

Jan Kiszka wrote:

Jim Cromie wrote:


Niklaus Giger wrote:


Am Freitag, 26. Mai 2006 15:52 schrieb Jan Kiszka:



Niklaus Giger wrote:...
If anybody has a working target with a Xenomai + BusyBox 
combination and
would be willing to test drive my changes, I would appreciate a 
feedback

enormously.
 


I hope this isnt waiting on my 'approval'.
I think its a great idea, and has been on my (way too stagnant) list 
for

a while.
Your work has at least urged me to install busybox on my xeno-box. ;-)

My only concern is whether we've sufficiently distinguished the issues:

1 - ash vs bash

Its not entirely clear to me which flavors of sh busybox has:
   ash / dash / not-bash
I gather u worked with ash, and it seems most valuable sh features
work there just fine ( shell-functions, even 'job-control' of a 
fashion)


2 - busybox 'executables' only

I coded in a lot of 'full linux' gimme's, like zgrep, script, etc.
Niklaus has repaired many of these.  I think a more thorough cleanup is
possible,
esp if things like 'script' are jettisoned for a simpler 
shell-functions

or helper scripts.
This all implies a re-write, which is on my list...
(esp the job-control testing and repair)



Just stumbled over this again while cleaning up my mailbox. What's the
status? Waiting for improvements, or waiting for /someone/ to type svn
ci (and improve the topics above later)?



It's queued for now, waiting for a combined ack to merge the current 
patch from JimC and Niklaus.




AFAIC, Niklaus is in the lead atm.
Im trying to get some GPIO stuff ready for -mm.
( I'll post separately on this ..)

I ran his changes once, I dont even remember what it did.
(which suggests that it didnt explode ;-)
IMO, take it when Niklaus says its ready.
I have some local changes here, but Ill work them into shape after
Niks changes go in (maybe much later :-(

We should probly confer on the longer-term issues too.

- a rational option-pass-thru, or a means to avoid doing so.
if we assume OPTS_${TOOLNAME} exists, we could
grab it out of env, and pass it into the benchmark prog.
- would require no prog mods, but gives us complete control
- would play nicer than assuming -T secs has meaning for all progs.




___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Porting xeno-{info|load|test} to a busybox system

2006-06-12 Thread Jan Kiszka
Jim Cromie wrote:
 Niklaus Giger wrote:
 Am Freitag, 26. Mai 2006 15:52 schrieb Jan Kiszka:
  
 Niklaus Giger wrote:...
 If anybody has a working target with a Xenomai + BusyBox combination and
 would be willing to test drive my changes, I would appreciate a feedback
 enormously.
   
 
 I hope this isnt waiting on my 'approval'.
 I think its a great idea, and has been on my (way too stagnant) list for
 a while.
 Your work has at least urged me to install busybox on my xeno-box. ;-)
 
 My only concern is whether we've sufficiently distinguished the issues:
 
 1 - ash vs bash
 
 Its not entirely clear to me which flavors of sh busybox has:
 ash / dash / not-bash
 I gather u worked with ash, and it seems most valuable sh features
 work there just fine ( shell-functions, even 'job-control' of a fashion)
 
 2 - busybox 'executables' only
 
 I coded in a lot of 'full linux' gimme's, like zgrep, script, etc.
 Niklaus has repaired many of these.  I think a more thorough cleanup is
 possible,
 esp if things like 'script' are jettisoned for a simpler shell-functions
 or helper scripts.
 This all implies a re-write, which is on my list...
 (esp the job-control testing and repair)

Just stumbled over this again while cleaning up my mailbox. What's the
status? Waiting for improvements, or waiting for /someone/ to type svn
ci (and improve the topics above later)?

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Porting xeno-{info|load|test} to a busybox system

2006-05-29 Thread Jan Kiszka
Niklaus Giger wrote:
 Am Sonntag, 28. Mai 2006 12:45 schrieb Jan Kiszka:
 Niklaus Giger wrote:
 Am Samstag, 27. Mai 2006 18:42 schrieb Jan Kiszka:
 ..
 Added a ps | grep $_j to show whether a dd job is still running before
 killing it. Now, at least running under the busybox. the dd jobs get
 killed as they should. Therefore I added a killall dd for the case the
 dd_jobs variable is empty.
 But there is still no load during the tests, correct?
 Yes. But now it should. The dd_jobs got killed too early, as under the 
 BusyBox 
 the trap exit handler got called too early. I think there are some subtle 
 differences between the trap of the BusyBox- and the Bash-shell.
 
 Now I store the pids in a file under /var/lock. Tested it under bash and 
 busybox, works okay for me. 
 
 Options like -4-W 'dd if=/dev/hda1 of=/dev/null' should also be handled 
 correctly.

Default workload behaves as expected now, but specifying something
different here via -W let the script hang on the workload startup.

 
 Options -L -m -M not tested under the BusyBox PPC405 target, as there I do 
 not 
 have access to curl, script and mail.
 
 ..
 - special characters in line 152 of xeno-test:
 Sorry. Corrected. I think kate did not handle a paste from your e-mail 
 message 
 correctly
 ..
 - the output of xeno-test contains this error:
 ..
 /bin/xeno-test: /bin/xeno-test: 325:  : not found
 May be the result of above error? Could not reproduce it here. Could try 
 again 
 the attached patch?

Basically, it runs fine. But I have two further suggestions:

o some kind of summary of the completed rt-tests on script termination.
  I know what to lock for in the logs, but will the newbie do so?

o a switch to control the test periods. I'm playing with a patch to
  control the aperiodic timer resolution. When I tune it to 1 ms e.g.,
  having an option to push the test tool periods at this level as well
  would be nice.

Thanks a lot for your effort!

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Porting xeno-{info|load|test} to a busybox system

2006-05-28 Thread Jan Kiszka
Niklaus Giger wrote:
 Am Samstag, 27. Mai 2006 18:42 schrieb Jan Kiszka:
 Niklaus Giger wrote:
 ..
 Still broken:
 ..
 Sorry for not catching this part, but my kernel config did not set 
 CONFIG_IKCONFIG. Fixed now.
 Resolves to zcat | grep -E '...' /proc/config.gz or to cat
 /proc/config.gz. Both doesn't work. I would suggest this:

 local filter=| grep -E '$whatconf'
 [ $verbose = 1 ]  filter=

 if [ -f /proc/config.gz ]; then # get the config
 loudly zcat /proc/config.gz $filter

 elif [ -f /lib/modules/`uname -r`/build/.config ]; then
 loudly $cmd /lib/modules/`uname -r`/build/.config
 And here we need

 loudly cat /lib/modules/`uname -r`/build/.config $filter

 fi
 Should be fixed with the attached patch
 There is another occurrence of zcat | grep which needs fixing.
 This one too.
 /bin/xeno-test: /bin/xeno-test: 264: getopts: not found
 ..
 Did so, and also awk need to be switched on. What about testing for
 those features when bb was detected? Anyway, the latency tests work now
 (in my qemu box). But I do not find the workload (dd?) in the process list:
 Added to procedure checkUtilities and checkHelpers (after having parsed the 
 options). Added them unconditionally as there might be even *nix systems 
 around which are lacking coreutilities like awk, cut, curl, mail, script.
 
 Added a ps | grep $_j to show whether a dd job is still running before 
 killing it. Now, at least running under the busybox. the dd jobs get killed 
 as they should. Therefore I added a killall dd for the case the dd_jobs 
 variable is empty.

But there is still no load during the tests, correct?

 
 You should be able to xeno-test under the BusyBox without any parameter, I 
 added however often a -T 1 to make them run faster. 
 
 Could you give this patch another try? Thanks for your patience, but the 
 variability is very high as both the kernel and the busybox have a lot of 
 config options.

Yeah, I know. Therefore it takes someone looking at it from different
perspectives. :)

Basically works now, but I found two oddities:

- special characters in line 152 of xeno-test:

 @@ -83,20 +141,19 @@


  boxinfo() { # static info, show once
 +loudly `dirname $0`/xeno-config --verbose
 +loudly `dirname $0`/xeno-info

 -loudly ./xeno-config --verbose
 -loudly ./xeno-info
 -
  loudly cat /proc/cpuinfo # bogomips changes under CPU_FREQ

  # how much of the config do we want ?
 -local cmd=zgrep -E '$whatconf'
 -[ $verbose = 1 ]  cmd=cat
 -
 -if [ -f /proc/config.gz ]; then  # get the config
 - loudly $cmd /proc/config.gz
 -elif [ -f /lib/modules/`uname -r`/build/.config ]; then
 - loudly $cmd /lib/modules/`uname -r`/build/.config
 +local filter= grep -E '$whatconf'
 +[ $verbose = 1 ]  filter=
 +if test -f /proc/config.gz; then     # get the config


- the output of xeno-test contains this error:

running: cat /proc/cpuinfo
processor   : 0
[...]
bogomips: 2628.76

/bin/xeno-test: /bin/xeno-test: 325:  : not found
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_IPIPE=y

???

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Porting xeno-{info|load|test} to a busybox system

2006-05-27 Thread Jan Kiszka
Niklaus Giger wrote:
 When using this variant, I get the following messages:
 /bin/xeno-test: /bin/xeno-test: 177: zgrep: not found
 What about zcat | grep instead? Moreover, I failed to find a zgrep bb
 applet. Did you copy that stuff on your box?
 Sorry. As I had segmentation faults, my run did not get so far/or I missed 
 this error. Running it manually I confirmed your bug and the proposed 
 solution works for me, too. Integrated in the new version (attached) of the 
 patch.

Still broken:

 boxinfo() { # static info, show once
 loudly `dirname $0`/xeno-config --verbose
 loudly `dirname $0`/xeno-info
 
 loudly cat /proc/cpuinfo# bogomips changes under CPU_FREQ
 
 # how much of the config do we want ?
 local cmd=zcat | grep -E '$whatconf'
 [ $verbose = 1 ]  cmd=cat
 
 if [ -f /proc/config.gz ]; then # get the config
 loudly $cmd /proc/config.gz

Resolves to zcat | grep -E '...' /proc/config.gz or to cat
/proc/config.gz. Both doesn't work. I would suggest this:

local filter=| grep -E '$whatconf'
[ $verbose = 1 ]  filter=

if [ -f /proc/config.gz ]; then # get the config
loudly zcat /proc/config.gz $filter

 elif [ -f /lib/modules/`uname -r`/build/.config ]; then
 loudly $cmd /lib/modules/`uname -r`/build/.config

And here we need

loudly cat /lib/modules/`uname -r`/build/.config $filter

 fi
 

There is another occurrence of zcat | grep which needs fixing.

 
 /bin/xeno-test: /bin/xeno-test: 264: getopts: not found
 getopts is off by default in bb. Is this essential for xeno-test? Then
 you should state this requirement somewhere.
 I checked out BusyBox 1.13, run make defconfig, changed the cross-compiler 
 and install path. But I verified that a make defconfig on the 1.00 version 
 had # CONFIG_ASH_GETOPTS is not set.
 
 Could you try the attached patch using busybox with CONFIG_ASH_GETOPTS=y? 

Did so, and also awk need to be switched on. What about testing for
those features when bb was detected? Anyway, the latency tests work now
(in my qemu box). But I do not find the workload (dd?) in the process list:

[EMAIL PROTECTED] :/root# ps
  PID  Uid VmSize Stat Command
1 root664 S   init
2 rootSWN [ksoftirqd/0]
3 rootSW  [watchdog/0]
4 rootSW [events/0]
5 rootSW [khelper]
6 rootSW [kthread]
8 rootSW [kblockd/0]
   41 rootSW [gatekeeper/0]
   76 rootSW  [pdflush]
   77 rootSW  [pdflush]
   79 rootSW [aio/0]
   78 rootSW  [kswapd0]
  663 rootSW [kseriod]
  700 rootSW [kpsmoused]
  787 root212 S   dhcpcd eth0 -t 5 -h LIRE_home -I LIRE_home
  844 root   1020 S   /usr/sbin/sshd -f /etc/ssh/sshd_config
  874 root648 S   /sbin/getty 38400 tty1
  877 root644 S   /sbin/getty 38400 tty2
  880 root648 S   /sbin/getty 38400 tty3
  883 root640 S   /sbin/getty 38400 tty4
  886 root644 S   /sbin/getty 38400 tty5
  889 root648 S   /sbin/getty 38400 tty6
  890 root644 S   /sbin/getty 38400 tty7
  891 root636 S   /sbin/getty 38400 tty8
  898 root   2004 S   sshd: [EMAIL PROTECTED]/0
  902 root820 S   -sh
  905 root708 S   /bin/sh /bin/xeno-test
 1182 root436 S   /bin/sh /bin/xeno-test
 1296 root   2004 S   sshd: [EMAIL PROTECTED]/1
 1300 root884 S   -sh
 1321 root272 S   /bin/sh /bin/xeno-test
 1322 root632 S   /bin/sh ./run -- -q -s -T 120 -t1
 1323 root680 S   /bin/sh //bin/xeno-load -- -q -s -T 120 -t1
 1364 root436 S   /bin/sh //bin/xeno-load -- -q -s -T 120 -t1
 1426 root   1732 S   ./latency -q -s -T 120 -t1
 1430 root744 R   ps

Instead I have this in the log:

[...]
Sat May 27 16:29:26 UTC 2006
running: cat /proc/ipipe/version
1.3-04

Sat May 27 16:29:26 UTC 2006
running: generate_loads 1
dummy  reaper for 1039
dd workload started, pids 1048
killing workload pids 1048
killall: dd: no process killed

Sat May 27 16:29:27 UTC 2006
running: cat /proc/interrupts
[...]

Or do I have to invoke xeno-test with some parameter (I did not pass any)?

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Porting xeno-{info|load|test} to a busybox system

2006-05-26 Thread Jan Kiszka
Niklaus Giger wrote:
 ...
 If anybody has a working target with a Xenomai + BusyBox combination and 
 would 
 be willing to test drive my changes, I would appreciate a feedback 
 enormously.

Did so, and here comes the result: :)

 Index: scripts/xeno-info
 ===
 --- scripts/xeno-info (Revision 1135)
 +++ scripts/xeno-info (Arbeitskopie)
 @@ -1,31 +1,51 @@
 -#!/bin/sh
 +#! /bin/sh
  #
  # This file has been lifted 'as is' from linux/scripts/ver_linux.
 -#
 +# Adapted to be run also under the BusyBox. If you want to test it under the 
 BusyBox use
 +# busybox sh xeno-info 
  
  PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:$PATH
  echo 'If some fields are empty or look unusual you may have an old version.'
  echo 'Compare to the current minimal requirements in Documentation/Changes.'
  echo ' '
  
 +withBusybox=0
 +if test -L $SHELL ; then # is sh a logical link to busybox
 +exeName=`ls -l $SHELL|cut -d\  -f2`
 +if test `basename $exeName` = busybox;  then
 + withBusybox=1; else echo 2.3
 +fi
 +elif test -n $_ -a `basename $_` = busybox; then
 +withBusybox=1;
 +# else running a real /bin/sh (bash) shell
 +fi

This may become fragile (and it already is on my hacked system). The
reason: plans exist to allow compiling bb into multiple binaries again,
thus sh will not be linked to busybox, but to ash e.g.

What about this:

withBusybox=0
if sh --help 21| grep -q BusyBox; then
withBusybox=1;
# else running a real /bin/sh (bash) shell
fi
echo withBusybox is $withBusybox


When using this variant, I get the following messages:

 /bin/xeno-test: /bin/xeno-test: 177: zgrep: not found

What about zcat | grep instead? Moreover, I failed to find a zgrep bb
applet. Did you copy that stuff on your box?

 /bin/xeno-test: /bin/xeno-test: 264: getopts: not found

getopts is off by default in bb. Is this essential for xeno-test? Then
you should state this requirement somewhere.

 /bin/xeno-test: shift: 267: Illegal number: -1

I guess this comes from the missing getopts...


Regarding workload: I typically run the cache calibrator [1] in a look,
together with some I/O load (hard disk where available, flood ping). The
loop looks like

while true; do calibrator box-MHz 8M /tmp/; done

box-MHz should be derivable from /proc/cpuinfo with some scripting. We
may just check if an inclusion of the calibrator source code is possible
(license terms...).


Lacking time right now, otherwise I would have hacked further to make
the test run. This test could be quite interesting for us here to
quickly check our processing boxes' hardware and to test new Xenomai
versions for elementary regressions when upgrading production systems
(fortunately only their CF-cards). Looking forward!

Jan


[1] http://homepages.cwi.nl/~manegold/Calibrator



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] Porting xeno-{info|load|test} to a busybox system

2006-05-26 Thread Niklaus Giger
Am Freitag, 26. Mai 2006 15:52 schrieb Jan Kiszka:
 Niklaus Giger wrote:
  ...
  If anybody has a working target with a Xenomai + BusyBox combination and
  would be willing to test drive my changes, I would appreciate a feedback
  enormously.

 Did so, and here comes the result: :)
Thanks a lot for your prompt feedback.
..
 This may become fragile (and it already is on my hacked system). The
 reason: plans exist to allow compiling bb into multiple binaries again,
 thus sh will not be linked to busybox, but to ash e.g.
Sure. It was just my first idea. But your proposed solution is better and 
already
..
 When using this variant, I get the following messages:
  /bin/xeno-test: /bin/xeno-test: 177: zgrep: not found
 What about zcat | grep instead? Moreover, I failed to find a zgrep bb
 applet. Did you copy that stuff on your box?
Sorry. As I had segmentation faults, my run did not get so far/or I missed 
this error. Running it manually I confirmed your bug and the proposed 
solution works for me, too. Integrated in the new version (attached) of the 
patch.

  /bin/xeno-test: /bin/xeno-test: 264: getopts: not found

 getopts is off by default in bb. Is this essential for xeno-test? Then
 you should state this requirement somewhere.
I checked out BusyBox 1.13, run make defconfig, changed the cross-compiler 
and install path. But I verified that a make defconfig on the 1.00 version 
had # CONFIG_ASH_GETOPTS is not set.

Could you try the attached patch using busybox with CONFIG_ASH_GETOPTS=y? 
 
  /bin/xeno-test: shift: 267: Illegal number: -1

 I guess this comes from the missing getopts...


 Regarding workload: I typically run the cache calibrator [1] in a look,
 together with some I/O load (hard disk where available, flood ping). The
 loop looks like

 while true; do calibrator box-MHz 8M /tmp/; done
 box-MHz should be derivable from /proc/cpuinfo with some scripting. We
 may just check if an inclusion of the calibrator source code is possible
 (license terms...).
Didn't know this tool. But I think this is another suggestion to improve 
xeno-test.

 Lacking time right now, otherwise I would have hacked further to make
 the test run. This test could be quite interesting for us here to
 quickly check our processing boxes' hardware and to test new Xenomai
 versions for elementary regressions when upgrading production systems
 (fortunately only their CF-cards). Looking forward!
Nice to hear that. So could you please give my patch a second try with a 
modified busybox?

-- 
Niklaus Giger
Index: scripts/xeno-config.in
===
--- scripts/xeno-config.in	(Revision 1137)
+++ scripts/xeno-config.in	(Arbeitskopie)
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /bin/sh
 
 staging=${DESTDIR}
 prefix=@prefix@
Index: scripts/xeno-info
===
--- scripts/xeno-info	(Revision 1137)
+++ scripts/xeno-info	(Arbeitskopie)
@@ -1,31 +1,46 @@
-#!/bin/sh
+#! /bin/sh
 #
 # This file has been lifted 'as is' from linux/scripts/ver_linux.
-#
+# Adapted to be run also under the BusyBox. If you want to test it under the BusyBox use
+# busybox sh xeno-info 
 
 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:$PATH
 echo 'If some fields are empty or look unusual you may have an old version.'
 echo 'Compare to the current minimal requirements in Documentation/Changes.'
 echo ' '
 
+withBusybox=0
+if sh --help 21| grep -q BusyBox; then
+withBusybox=1;
+# else running a real /bin/sh (bash) shell
+fi
+
+if test $withBusybox -eq 1; then busybox | grep -i BusyBox v ; fi
+
 uname -a
 echo ' '
 
+if test -n `which gcc` ; then
 gcc --version 21| head -n 1 | grep -v gcc | awk \
 'NR==1{print Gnu C , $1}'
 
 gcc --version 21| grep gcc | awk \
 'NR==1{print Gnu C , $3}'
+fi
 
+if test -n `which gcc` ; then
 make --version 21 | awk -F, '{print $1}' | awk \
   '/GNU Make/{print Gnu make  ,$NF}'
+fi
 
 ld -v 21 | awk -F\) '{print $1}' | awk \
   '/BFD/{print binutils  ,$NF}'
 
+if test 0 -eq $withBusybox ; then 
 fdformat --version | awk -F\- '{print util-linux, $NF}'
 
 mount --version | awk -F\- '{print mount , $NF}'
+fi 
 
 depmod -V  21 | awk 'NR==1 {print module-init-tools ,$NF}'
 
@@ -50,21 +65,26 @@
 isdnctrl 21 | grep version | awk \
 'NR==1{print isdn4k-utils  , $NF}'
 
+if test -n `which ldd` ; then
 ls -l `ldd /bin/sh | awk '/libc/{print $3}'` | sed \
 -e 's/\.so$//' | awk -F'[.-]'   '{print Linux C Library \
 $(NF-2).$(NF-1).$NF}'
 
 ldd -v  /dev/null 21  ldd -v || ldd --version |head -n1 | awk \
 'NR==1{print Dynamic linker (ldd)  , $NF}'
+fi
 
 ls -l /usr/lib/lib{g,stdc}++.so  2/dev/null | awk -F. \
'{print Linux C++ Library   $4.$5.$6}'
 
+if test 0 -eq $withBusybox ; then 
 ps --version 21 | awk 'NR==1{print Procps, $NF}'
+fi 
 
 ifconfig --version 21 | grep tools | awk \
 'NR==1{print 

[Xenomai-core] Porting xeno-{info|load|test} to a busybox system

2006-05-25 Thread Niklaus Giger
Hi

For my embedded target system I installed BusyBox as it was the easiest way to 
get a small GNU/Linux system to boot into a working shell. (But it takes less 
than 16 seconds from power on till the the familiar login:  prompt.)

But I ran into the problem, that the xeno-*-applications did not run under the 
busybox environment. Here are some comment on my proposed changes.

1) To make a shell work under the busybox I had to specify #! /bin/sh instead 
of #! /bin/bash.

2) To make the run I run the xeno-*-applications on my Debian GNU/Linux 
PowerBook 
either as:
$ xeno-info
or as 
$ busybox sh xeno-info

3) Once all tests passed on my PowerBook, I switched to the embedded PPC405GPr 
board using a recent busybox (version 1.1.3).
This exposed some more not supported errors, eg.
fdformat: unrecognized option `--version'
Also on an embedded system a lot of the usual utilites like gcc, make, etc are 
not present. Therefore I checked for their existence with expressions like 
`which make`

4) As the BSD utility script is not present on my embedded system, 
xeno-test -L does not work.

5) The busybox shell does not know arrays. Also for unknown reasons the 
dd_jobs variable got not updated outside of the function generate_loads. 
Therefore I added a killall dd in the cleanup.

6) trap CHLD did not work under the BusyBox. Also (to be sure) called 
cleanup_load manually before exit.

7) Id did not ident the not busybox parts in xeno-info. This makes the patch 
smaller and more readable, but should probably be corrected before applying 
it.

8) Using `dirname $0` relative paths to make xeno-test work also if not called 
in /usr/xenomai/bin

9) Changing the e-mail address to [EMAIL PROTECTED] is also included.

Checking the changes between running xeno-test (as bash or as busybox) and the 
old one did not reveal any significant changes. On my PPC405 system I could 
not complete this test as there segmentation faults running the invidual 
tests.

I would appreciate if these changes (or similar) could go -- after a review -- 
into the trunk (not necessarily before 2.2). I am specially interested in Jim 
Cromie's opinion. 

If anybody has a working target with a Xenomai + BusyBox combination and would 
be willing to test drive my changes, I would appreciate a feedback 
enormously.

These changes are a precondition to make the buildbot run xeno-test on the 
only board where I can easily and automatically switch the power off and on, 
without risking a family crisis.

Best regards
-- 
Niklaus Giger
Index: scripts/xeno-config.in
===
--- scripts/xeno-config.in	(Revision 1135)
+++ scripts/xeno-config.in	(Arbeitskopie)
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /bin/sh
 
 staging=${DESTDIR}
 prefix=@prefix@
Index: scripts/xeno-info
===
--- scripts/xeno-info	(Revision 1135)
+++ scripts/xeno-info	(Arbeitskopie)
@@ -1,31 +1,51 @@
-#!/bin/sh
+#! /bin/sh
 #
 # This file has been lifted 'as is' from linux/scripts/ver_linux.
-#
+# Adapted to be run also under the BusyBox. If you want to test it under the BusyBox use
+# busybox sh xeno-info 
 
 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:$PATH
 echo 'If some fields are empty or look unusual you may have an old version.'
 echo 'Compare to the current minimal requirements in Documentation/Changes.'
 echo ' '
 
+withBusybox=0
+if test -L $SHELL ; then # is sh a logical link to busybox
+exeName=`ls -l $SHELL|cut -d\  -f2`
+if test `basename $exeName` = busybox;  then
+	withBusybox=1; else echo 2.3
+fi
+elif test -n $_ -a `basename $_` = busybox; then
+withBusybox=1;
+# else running a real /bin/sh (bash) shell
+fi
+
+if test $withBusybox -eq 1; then busybox | grep -i BusyBox v ; fi
+
 uname -a
 echo ' '
 
+if test -n `which gcc` ; then
 gcc --version 21| head -n 1 | grep -v gcc | awk \
 'NR==1{print Gnu C , $1}'
 
 gcc --version 21| grep gcc | awk \
 'NR==1{print Gnu C , $3}'
+fi
 
+if test -n `which gcc` ; then
 make --version 21 | awk -F, '{print $1}' | awk \
   '/GNU Make/{print Gnu make  ,$NF}'
+fi
 
 ld -v 21 | awk -F\) '{print $1}' | awk \
   '/BFD/{print binutils  ,$NF}'
 
+if test 0 -eq $withBusybox ; then 
 fdformat --version | awk -F\- '{print util-linux, $NF}'
 
 mount --version | awk -F\- '{print mount , $NF}'
+fi 
 
 depmod -V  21 | awk 'NR==1 {print module-init-tools ,$NF}'
 
@@ -50,21 +70,26 @@
 isdnctrl 21 | grep version | awk \
 'NR==1{print isdn4k-utils  , $NF}'
 
+if test -n `which ldd` ; then
 ls -l `ldd /bin/sh | awk '/libc/{print $3}'` | sed \
 -e 's/\.so$//' | awk -F'[.-]'   '{print Linux C Library \
 $(NF-2).$(NF-1).$NF}'
 
 ldd -v  /dev/null 21  ldd -v || ldd --version |head -n1 | awk \
 'NR==1{print Dynamic linker (ldd)  , $NF}'
+fi
 
 ls -l /usr/lib/lib{g,stdc}++.so  2/dev/null | awk -F. \
'{print