Still help needed with Busybox

Javier Gracia Castro javier.graciacastro at tut.fi
Tue Apr 17 00:23:32 PDT 2007


Hi,

Thank you very much for replying me. I have put in practice your  
advice. When I do 'file busybox' in the Busybox package compiled by  
me, it shows:

busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically  
linked (uses shared libs), stripped

When I do 'name_crosscompiler-readelf -h busybox':

ELF Header:
   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
   Class:                             ELF32
   Data:                              2's complement, little endian
   Version:                           1 (current)
   OS/ABI:                            UNIX - System V
   ABI Version:                       0
   Type:                              EXEC (Executable file)
   Machine:                           ARM
   Version:                           0x1
   Entry point address:               0xd344
   Start of program headers:          52 (bytes into file)
   Start of section headers:          724300 (bytes into file)
   Flags:                             0x4000002, has entry point, Version4 EABI
   Size of this header:               52 (bytes)
   Size of program headers:           32 (bytes)
   Number of program headers:         6
   Size of section headers:           40 (bytes)
   Number of section headers:         24
   Section header string table index: 23

I obtain the same output if I use a glibc cross-compiler or an uClibc  
cross-compiler. With the glibc cross-compiler I compiled the linux  
kernel and also u-boot and they work fine. In my file system is  
installed uClibc and when I compile a hello-world application it works  
in the file system.

If I type 'file-busybox' for the Busybox package that works (version  
1.1.2, not compiled by me), it appears:

busybox: setuid ELF 32-bit LSB executable, ARM, version 1 (ARM),  
dynamically linked (uses shared libs), stripped

With 'name_crosscompiler-readelf -h busybox':

ELF Header:
   Magic:   7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00
   Class:                             ELF32
   Data:                              2's complement, little endian
   Version:                           1 (current)
   OS/ABI:                            ARM
   ABI Version:                       0
   Type:                              EXEC (Executable file)
   Machine:                           ARM
   Version:                           0x1
   Entry point address:               0xc34c
   Start of program headers:          52 (bytes into file)
   Start of section headers:          437340 (bytes into file)
   Flags:                             0x2, has entry point, GNU EABI
   Size of this header:               52 (bytes)
   Size of program headers:           32 (bytes)
   Number of program headers:         5
   Size of section headers:           40 (bytes)
   Number of section headers:         23
   Section header string table index: 22

I modified Makefile with ARCH=arm and  
CROSS-COMPILER=name-crosscompiler. Then I don't know why it appears  
'OS/ABI: UNIX - System V' (SYSV) when I compile it. For example, in  
the kernel image compiled by me I can read 'OS/ABI: ARM'. Maybe my  
Busybox compilations don't work because of this problem, but I don't  
know how to solve it.

If you have any suggestion, please let me know. Thanks in advance.

Best regards,

Javier



More information about the busybox mailing list