Hi All!

Sorry for the long mail but could someone please be more specific and tell me
what exactly BLOB looks for in a Configured Linux Kernel tree and why?

I mean could you pls confirm whether or not it needs *.c files from a configured kernel tree.
I suppose it is logical that it should neither look for $LINUX/src/*.c files
nor should it look for $LINUX/include/linux/*.h files. Is this true?

Im asking these because i am trying to customise BLOB to my requirement and Im facing problems.

The customisation that i did for BLOB is:

In "configure.in", I changed the --with-board=NAME to --with-board=lart.

Then in acconfig.h, I changed the #undef LART to #define LART and also defined CPU as SA1100

Then in "configure", I changed the --with-board=NAME to --with-board=lart and
--with-linux-prefix=/home/sridhar/linux-2.4.20 where i have a configured Linux kernel tree
but with not all *.c files available.

The $LINUX/include/asm files are in the path:
/home/sridhar/linux-2.4.20/asm-arm/arch-sa1100

Then i type the following at the bash shell command prompt:

export CC=arm-linux-gcc
export OBJCOPY=arm-linux-objcopy

Then i run ./configure

I get the following output on the terminal:

Loading cache ./config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking whether to enable maintainer-specific portions of Makefiles... no
checking host system type... i686-pc-linux-gnu
checking for arm-linux-gcc... (cached) arm-linux-gcc
checking for arm-linux-objcopy... (cached) arm-linux-objcopy
checking for arm-linux-ranlib... (cached) arm-linux-ranlib
checking for arm-linux-ar... (cached) arm-linux-ar
checking for gcc... (cached) arm-linux-gcc
checking whether the C compiler (arm-linux-gcc  ) works... yes
checking whether the C compiler (arm-linux-gcc  ) is a cross-compiler... yes
checking whether we are using GNU C... (cached) yes
checking whether arm-linux-gcc accepts -g... (cached) yes
checking for ranlib... (cached) arm-linux-ranlib
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... (cached) yes
checking target board... Delft University of Technology LART
checking if the Linux source tree in /usr/src/linux is sane... yes
checking for inline... (cached) inline
checking for C flags to get more warnings... -Wall
creating ./config.status
creating Makefile
creating doc/Makefile
creating include/Makefile
creating include/blob/Makefile
creating include/blob/arch/Makefile
creating src/Makefile
creating src/blob/Makefile
creating src/diag/Makefile
creating src/lib/Makefile
creating tools/Makefile
creating utils/Makefile
creating utils/build/Makefile
creating utils/mkparamblock/Makefile
creating include/blob/config.h
include/blob/config.h is

unchangedConfiguration------------------------------------------------------------------------
Target board                Delft University of Technology LART
C compiler                  arm-linux-gcc
C flags                     -Os -I/usr/src/linux/include -Wall -march=armv4 -mtune=strongarm1100 -fomit-frame-pointer                              -fno-builtin -mapcs-32 -nostdinc

Linker flags                -static -nostdlib
Objcopy tool                arm-linux-objcopy
Objcopy flags               -O binary -R .note -R .comment -S
Clock scaling support       no
Memory test support         no
Debugging commands support  no
LCD support                 no
MD5 support                 no
Run-time debug information  no


However, could someone please clarify as to why i get the following error, when i run make:

Making all in docmake[1]: Entering directory `/home/sridhar/blob-2.0.5-pre2/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/doc'
Making all in tools
make[1]: Entering directory `/home/sridhar/blob-2.0.5-pre2/tools'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/tools'
Making all in utils
make[1]: Entering directory `/home/sridhar/blob-2.0.5-pre2/utils'
Making all in buildmake[2]: Entering directory `/home/sridhar/blob-2.0.5-pre2/utils/build'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/utils/build'
Making all in mkparamblock
make[2]: Entering directory `/home/sridhar/blob-2.0.5-pre2/utils/mkparamblock'
gcc -Wall -O2 -I../../include -I../../include -o mkparamblock mkparamblock.c
make[2]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/utils/mkparamblock'
make[2]: Entering directory `/home/sridhar/blob-2.0.5-pre2/utils'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/utils'
make[1]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/utils'
Making all in include
make[1]: Entering directory `/home/sridhar/blob-2.0.5-pre2/include'
Making all in blobmake[2]:
Entering directory `/home/sridhar/blob-2.0.5-pre2/include/blob'
make  all-recursivemake[3]: Entering directory `/home/sridhar/blob-2.0.5-pre2/include/blob'
Making all in archmake[4]: Entering directory `/home/sridhar/blob-2.0.5-pre2/include/blob/arch'
make[4]: Nothing to be done for `all'.make[4]:
Leaving directory `/home/sridhar/blob-2.0.5-pre2/include/blob/arch'
make[4]: Entering directory `/home/sridhar/blob-2.0.5-pre2/include/blob'
make[4]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/include/blob'
make[3]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/include/blob'
make[2]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/include/blob'
make[2]: Entering directory `/home/sridhar/blob-2.0.5-pre2/include'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/include'
make[1]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/include'
Making all in src
make[1]: Entering directory `/home/sridhar/blob-2.0.5-pre2/src'
Making all in lib
make[2]: Entering directory `/home/sridhar/blob-2.0.5-pre2/src/lib'
arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../../include/blob -I../../include      -I../../include    -Os  -I/usr/src/linux/include -Wall -march=armv4 -mtune=strongarm1100 -fomit-frame-pointer -fno-builtin -mapcs-32 -nostdinc -c  command.c

make[2]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/src/lib'
make[1]: Leaving directory `/home/sridhar/blob-2.0.5-pre2/src'

In file included from command.c:42:
../../include/blob/command.h:57: parse error before
`#'
../../include/blob/command.h:57: stray '\' in program
../../include/blob/command.h:58: stray '\' in program
../../include/blob/command.h:59: stray '\' in program
../../include/blob/command.h:60: stray '\' in program
In file included from command.c:42:
../../include/blob/init.h:46: parse error before `#'
../../include/blob/init.h:46: stray '\' in program
../../include/blob/init.h:47: stray '\' in program
../../include/blob/init.h:48: stray '\' in program
../../include/blob/init.h:55: parse error before `#'
../../include/blob/init.h:55: stray '\' in program
../../include/blob/init.h:56: stray '\' in program
../../include/blob/init.h:57: stray '\' in program
command.c:78: stray '\' in program
command.c:261: stray '\' in program
command.c:59: warning: `init_commands' defined but not
used
command.c:226: warning: `help' defined but not used
command.c:257: warning: `helphelp' defined but not
used
make[2]: *** [command.o] Error 1
make[2]: Leaving directory
`/root/blob_dsp8/blob-2.0.5-pre2/src/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/root/blob_dsp8/blob-2.0.5-pre2/src'
make: *** [all-recursive] Error 1

Is there anything wrong with the configuration process?
To me that seems to be OK as i got the expected output msg but im not sure.

Pls help me.

Thank You
Sridhar



-----Original Message-----
From: Christopher Hoover [mailto:ch@murgatroid.com]
Sent: Monday, October 06, 2003 9:56 PM
To: Yamijala Sridhar
Cc: blob-cvs-commit@lists.sourceforge.net
Subject: RE: blob-cvs-commit digest, Vol 1 #232 - 2 msgs


> Well, could you pls tell me as to why blob needs the Linux kernel headers?


blob doesn't use the kernel headers ($LINUX/include/linux) per se, but it
does leverage the architecture-specific headers ($LINUX/include/asm) to get
to the defines and structures that describe the processor and peripherals.

-ch
 

 -----Original Message-----
From: Yamijala Sridhar [mailto:Sridhar.Yamijala@sisl.co.in]
Sent: Monday, October 06, 2003 3:09 AM
To: Christopher Hoover
Cc: blob-cvs-commit@lists.sourceforge.net
Subject: RE: blob-cvs-commit digest, Vol 1 #232 - 2 msgs


Well, could you pls tell me as to why blob needs the Linux kernel headers?
I want to know because here, I have a configured Linux kernel source tree
without
the *.c files of the configured kernel.I have the *.h files though and all
the makefiles etc. too
with me.
When I try to configure and compile the blob with this kernel source tree
(without the *.c files)
the configuration seems to be successful but at the gmake stage i get an
error output which says
"Nothing to do for 'all' " and stops.
Could someone pls let me know what the problem is and why blob needs the
kernel headers?
Thank You
Sridhar
-----Original Message-----
From: Christopher Hoover [mailto:ch@murgatroid.com]
Sent: Wednesday, October 01, 2003 9:39 PM
To: Yamijala Sridhar; blob-cvs-commit@lists.sourceforge.net
Subject: RE: blob-cvs-commit digest, Vol 1 #232 - 2 msgs



>> Hallo All !!!
>> Could someone pls clarify as to why the linux kernel
>> source path is required for compiling 'blob'?
>> I suppose the bootloader is a stand-alone program and
>> should not have anything to do
>> with the kernel source tree on my development machine
>> when im cross-compiling.
Blob (unfortunately) uses the kernel headers.  You are correct that this is
not the best idea, not only for the reasons you mention but also because the

kernel headers change from time to time.
-ch