[BusyBox] Re: busy box version 0.43

Erik Andersen andersen at lineo.com
Wed Jun 21 19:05:16 UTC 2000


On Tue Jun 20, 2000 at 05:03:50PM -0400, Modi, Al wrote:
> Erik, thanks once again for your assistance in this. I obtained the busybox
> version 44 from the web site you provided in the attached note. I re-build
> the busybox for this new version. I am still not able to run busybox on the
> arm machine ( Intel brutus board).  I build both the static version and
> dynamic version of the busybox. Both of them provided me following error on
> the arm machine.  busybox: permission fault on section address = 0xfffffffc,
> code 2 segmentation fault ( core  dumped)

Hmm.  Can your compiler compile other executables that do run properly?
Can you compile up and run ash?  Does it help if you change the makefile
to not use optimization, i.e.:

    #OPTIMIZATION = $(shell if $(CC) -Os -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
    #    then echo "-Os"; else echo "-O2" ; fi)
    OPTIMIZATION = 


> I have also build busybox version 43 on my 386 box using gcc for 386. This
> build of busybox seems to work fine. When I type busybox from the build
> directory it displays the busy box version and all the utility contained with
> in it. I have tried few commands like ls and mount and they all appear to be
> working for 386 machine build.  ./busybox ls -al * or ./busybox mount --help

Ok so far...

> I am  including the file 'makefile.new' that will show you the changes I made
> to build the busybox version 44. The file bout620 is the build output file
> and bres620 is the messages that were displayed on the screen. I don't know
> what I am doing wrong, do you have any other suggestion on this ? 

Well, this definately looks like the executable isn't coming out correctly.
You didn't include bres620, but instead included bres619 (which wasn't what
you intended I think).  bout620 looks fine.

> I had a following questions on busybox version 44 Makefile
> Makefile Comment
> 
> # To compile vs an alternative libc, you may need to use/adjust
> # the following lines to meet your needs.  This is how I did it...
> #CFLAGS+=-nostdinc -I/home/andersen/CVS/uC-libc/include -I/usr/include/linux
> #LDFLAGS+=-nostdlib -L/home/andersen/CVS/libc.a
> The following two lines I added for experiment, but when I uncommented the CFLAGS lines it
> did not work.
> #CFLAGS+= -I/usr/armv4l-unknown-linux/armv4l-unknown-linux/include -I/usr/armv4l
> -unknown-linux/armv4l-unknown-linux/include/linux
> #LDFLAGS+=-nostdlib -L/usr/armv4l-unknown-linux/armv4l-unknown-linux/lib/libc.a
> Q.1 Do I have to do this ? The cross compiler tools, lib, include etc.. in my case are installed under/usr/armv4l-unknown-linux

I did just find yesterday that there are some lines in the Makefile that set
CFLAGS= instead of CFLAGS+=, and these lines cancelled out these settings.  I
fixed these in CVS.  Perhaps this is causing some problems.  Could you try the
latest Makefile from CVS?

> I commented out the following line to avoid using STRIP as per your instruction in the attached note.
> busybox: $(OBJECTS)
>         $(CC) $(LDFLAGS) -o $@ $^ $(LIBRARIES)
> #       $(STRIP)
> Q.2 Is this correctly done ?

Yup.  Looks good.

> Once again thanks in advance for your assistant in this.

No problem.  I really hope to see this up and running. :)

 -Erik

--
Erik B. Andersen   email:  andersen at lineo.com
--This message was written using 73% post-consumer electrons--





More information about the busybox mailing list