busybox works with no applets only.
Gary Altenberg
gary at ioengineering.com
Sun Mar 20 01:44:38 UTC 2011
On 3/11/2011 10:02 PM, Denys Vlasenko wrote:
> On Saturday 12 March 2011 04:53, Gary Altenberg wrote:
>> On 3/11/2011 5:23 PM, Denys Vlasenko wrote:
>>> On Friday 11 March 2011 23:55, Gary Altenberg wrote:
>>>>>> Looks good. So I add one applet "cat" and rebuilt busybox. When I put
>>>>>> this version of busybox with the cat applet on my board and type busybox
>>>>>> it I get:
>>>>>>
>>>>>> # busybox
>>>>>> Unhandled fault: vector exception (0x800) at 0x00000000
>>>>>> SIGSEGV
>>>>>> #
>>>>>>
>>>>>> Any help would be greatly appreciated.
>>>>> Can't reproduce:
>>>>>
>>>>> # ./busybox ; echo $?
>>>>> ^C
>>>>>
>>>>> # ./busybox .kernelrelease; echo $?
>>>>> 1.18.3
>>>>> 0
>>>>>
>>>>>
>>>>> Please post your .config
>>>>>
>>>> I just get the Unhandled fault when I do any of those.
>>>> .config attached...
>>> It works for me with your .config
>>>
>> Thank you for the feedback. Did you run this on an ARM with no MMU?
> No.
>
>> So
>> what does that tell me? Do you think it's my tools? Could it be
>> something to do with uClibc? I am not sure it's configured correctly.
> Does it fail with more than one applet enabled?
>
> *Where* exactly does it fail? Insert printf's into code and find out
> where is that place.
>
>> Should I have the config for busybox point to my linux header files
>> somehow? I read that busybox needs linux headers for somethings, could
>> that be a problem?
> No, in that case it wouldn't _compile_. You have successful compile.
>
Putting in printfs doesn't work because busybox will not run at all if I
have one or more applets enabled. I just keep getting the unhandled
fault messages.
I discovered that I could have an arch Makefile in a folder for my
architecture like arch/arm so I created an arch/arm/Makefile. It seems
to override things just fine but I found a comment in the Makefile.flags
file:
# If a flat binary should be built, CFLAGS_busybox="-elf2flt"
# env var should be set for make invocation.
# Here we check whether CFLAGS_busybox indeed contains that flag.
# (For historical reasons, we also check LDFLAGS, which doesn't
# seem to be entirely correct variable to put "-elf2flt" into).
W_ELF2FLT = -elf2flt
ifneq (,$(findstring $(W_ELF2FLT),$(LDFLAGS) $(CFLAGS_busybox)))
SKIP_STRIP = y
endif
Do I need to have SKIP_STRIP set to y to prevent stripping if I'm using
elf2flt?
How am I supposed to get LDFLAGS or CFLAGS_busybox to have -elf2flt when
Makefile.flags is included before my arch/arm/Makefile? Is there an
option for either of these somewhere else like .config or something?
I was attempting to use the miniupnpc library in my own application for
the same hardware and it would just print unhanded fault just like
busybox. I found that it was adding -fPIC to my CFLAGS. After removing
that and putting in -march=armv4t and -mtune=arm7tdmi I can now run
miniupnpc commands on my hardware. So I added the arch and tune options
in my arch/arm/Makefile but it did not solve the problem.
Thanks,
Gary
More information about the busybox
mailing list