> Thank you for your reply. 
> 
> I wish I was using an ARM or something with an MMU but as you can see I am
> not.
> 
> I am running uClinux on my board now. I have 32MB of ram.

OK 32MB is lots of ram.

> As I said I purchased a reference design board and it came with a complete
> uClinux development environment. It seems to be using very old stuff like
> version 1.00 of busybox. I want to take advantage of patches other people
> are providing for my board. Especially busybox as I see that they have many
> new great looking features. 
> 
> I downloaded busybox 1.16.0 and am having no luck at getting it compiled to
> run on my board. I can compile it with an arm-linux tool chain I have but
> when I run it I get BINFLT - bad magic. It seems to be a flat file problem.
> When I try to either put -elf2flt in the CFLAGS or run elf2flt it complains
> about some missing location information. If I use the arm-elf tool chain
> that I build the uClinux with it is missing some header files and defines
> (see below).

Well on coldfire I can only get busybox 0.16.0 working with the latest
git master tree of uclibc (latest uclibc release doesn't have working
signals for m68k that busybox now requires).

> I see in the latest version of uClinux for Blackfin that they have the
> latest busybox. I cannot figure out how to get that to work in my old
> uClinux dist. I put the complete busybox folder in place of the one in my
> version and it's won't build. 

You probably need to get a fairly up to date kernel, gcc, binutils,
elf2flt, uclibc and busybox.  I use gcc 4.3.3, binutils 2.19.1, uclibc
git checkout from 2010/02/16, busybox 0.16.0 and linux 2.6.29 on the
coldfire.  Works great so far.  I do not use the uclinux distribution
at all, I do everything from scratch with each source package.

> Should it be possible to take the Blackfin uClinux and set it up for ARM? I
> tried and it is missing lots of things that are in the distribution I got
> with the ref board. It won't compile. I think another problem is the tool
> chain that came with that board is old and I've been attempting to get
> something newer and get it working. Any suggestions on what tool chain to
> use?

Not sure how well blackfind tracks the main trees of things (although
I get the impression they follow it quite well), so it might work.
Certainly I got a working elf2flt by going to blackfin.  No other version
worked at the time I started using the coldfire last year.  I think mine
is a checkout from april 2009 from blackfin.

> Thanks,
> Gary Altenberg
> 
> 
> SPLIT   include/autoconf.h -> include/config/*
>   GEN     include/bbconfigopts.h
>   HOSTCC  applets/usage
> applets/usage.c: In function âmainâ:
> applets/usage.c:32: warning: ignoring return value of âwriteâ, declared with
> attribute warn_unused_result
>   GEN     include/usage_compressed.h
> 43+0 records in
> 43+0 records out
> 86 bytes (86 B) copied, 0.000170757 s, 504 kB/s
>   HOSTCC  applets/applet_tables
>   GEN     include/applet_tables.h
>   CC      applets/applets.o
> arm-elf-gcc: unrecognized option `-static-libgcc'

Looks like a much newer gcc is needed to make busybox happy.

> In file included from
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/netinet/in
> .h:212,
>                  from
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/arpa/inet.
> h:23,
>                  from include/platform.h:194,
>                  from include/libbb.h:13,
>                  from include/busybox.h:10,
>                  from applets/applets.c:11:
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/bits/socke
> t.h:305: asm/socket.h: No such file or directory

Looks like no kernel headers are installed yet.

> In file included from
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/signal.h:3
> 09,
>                  from include/libbb.h:22,
>                  from include/busybox.h:10,
>                  from applets/applets.c:11:
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/bits/sigco
> ntext.h:28: asm/sigcontext.h: No such file or directory
> In file included from
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/sys/ioctl.
> h:27,
>                  from include/libbb.h:29,
>                  from include/busybox.h:10,
>                  from applets/applets.c:11:
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/bits/ioctl
> s.h:24: asm/ioctls.h: No such file or directory
> In file included from
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/sys/ioctl.
> h:30,
>                  from include/libbb.h:29,
>                  from include/busybox.h:10,
>                  from applets/applets.c:11:
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/bits/ioctl
> -types.h:25: asm/ioctls.h: No such file or directory
> In file included from
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/sys/param.
> h:24,
>                  from include/libbb.h:46,
>                  from include/busybox.h:10,
>                  from applets/applets.c:11:
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/linux/para
> m.h:4: asm/param.h: No such file or directory
> In file included from
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/mntent.h:2
> 6,
>                  from include/libbb.h:52,
>                  from include/busybox.h:10,
>                  from applets/applets.c:11:
> /usr/local/lib/gcc-lib/arm-elf/2.95.3/../../../../arm-elf/include/paths.h:35
> : config/autoconf.h: No such file or directory
> In file included from include/libbb.h:702,
>                  from include/busybox.h:10,
>                  from applets/applets.c:11:
> include/xatonum.h:86: warning: `ULLONG_MAX' is not defined
> include/xatonum.h:94: warning: `ULLONG_MAX' is not defined
> include/xatonum.h:130: warning: `ULLONG_MAX' is not defined
> include/xatonum.h:142: warning: `ULLONG_MAX' is not defined
> make[1]: *** [applets/applets.o] Error 1
> make: *** [applets] Error 2

The order I build in is:
build binutils.
build elf2flt aginst binutils sources (this part is rather annoying).
build gcc without libraries for C only.
build kernel and kernel headers and install them.
build uclibc against kernel headers.
build full gcc with libraries for C only (or C++ too if you are feeling
lucky).
build busybox.

-- 
Len Sorensen
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to