Hi, I am adding readelf info also . mips-linux-gnu-readelf -S squashfs-root/bin/busybox There are 35 section headers, starting at offset 0x174290: Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .note.ABI-tag NOTE 004000d4 0000d4 000020 00 A 0 0 4 [ 2] .reginfo MIPS_REGINFO 004000f4 0000f4 000018 18 A 0 0 4 [ 3] .rel.dyn REL 0040010c 00010c 000010 08 A 0 0 4 [ 4] .init PROGBITS 0040011c 00011c 00005c 00 AX 0 0 4 [ 5] .text PROGBITS 00400180 000180 11d2b0 00 AX 0 0 16 [ 6] __libc_freeres_fn PROGBITS 0051d430 11d430 001368 00 AX 0 0 4 [ 7] __libc_thread_fre PROGBITS 0051e798 11e798 000148 00 AX 0 0 4 [ 8] .fini PROGBITS 0051e8e0 11e8e0 000034 00 AX 0 0 4 [ 9] .rodata PROGBITS 0051e920 11e920 02d560 00 A 0 0 16 [10] __libc_subfreeres PROGBITS 0054be80 14be80 000058 00 A 0 0 4 [11] __libc_atexit PROGBITS 0054bed8 14bed8 000004 00 A 0 0 4 [12] __libc_thread_sub PROGBITS 0054bedc 14bedc 000008 00 A 0 0 4 [13] .gcc_except_table PROGBITS 0054bee4 14bee4 0001fb 00 A 0 0 1 [14] .eh_frame PROGBITS 0055c0e0 14c0e0 002464 00 WA 0 0 4 [15] .tdata PROGBITS 0055e544 14e544 000018 00 WAT 0 0 4 [16] .tbss NOBITS 0055e55c 14e55c 000034 00 WAT 0 0 4 [17] .ctors PROGBITS 0055e55c 14e55c 000008 00 WA 0 0 4 [18] .dtors PROGBITS 0055e564 14e564 00000c 00 WA 0 0 4 [19] .jcr PROGBITS 0055e570 14e570 000004 00 WA 0 0 4 [20] .data.rel.ro PROGBITS 0055e574 14e574 000030 00 WA 0 0 4 [21] .data PROGBITS 0055e5b0 14e5b0 000b30 00 WA 0 0 16 [22] .got PROGBITS 0055f0e0 14f0e0 000148 04 WAp 0 0 16 [23] .sdata PROGBITS 0055f228 14f228 000004 00 WAp 0 0 4 [24] .sbss NOBITS 0055f230 14f22c 000184 00 WAp 0 0 8 [25] .bss NOBITS 0055f3c0 14f22c 00516c 00 WA 0 0 16 [26] __libc_freeres_pt NOBITS 0056452c 14f22c 000040 00 WA 0 0 4 [27] .pdr PROGBITS 00000000 14f22c 016880 00 0 0 4 [28] .comment PROGBITS 00000000 165aac 0027e0 00 0 0 1 [29] .debug_frame MIPS_DWARF 00000000 16828c 00be88 00 0 0 4 [30] .gnu.attributes LOOS+ffffff5 00000000 174114 000010 00 0 0 1 [31] .mdebug.abi32 PROGBITS 000030c0 174124 000000 00 0 0 1 [32] .shstrtab STRTAB 00000000 174124 00016c 00 0 0 1 [33] .symtab SYMTAB 00000000 174808 015320 10 34 2843 4 [34] .strtab STRTAB 00000000 189b28 012f65 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific) On Fri, Feb 4, 2011 at 8:54 AM, naveen yadav <yad.naveen@xxxxxxxxx> wrote: > thanaks a lot for your suggestion .. > > > I debug this issue further, and here is my observations: > > 1. If I replace init with simple static link executable binary, this > can be executed. > 2. In case of busy-box, I debug the reason why init fails to excute. > > When I execute init command from busybox the control goes in main() > function of busybox(appletlib.c) with argv value > as the command you are suppose to execute, which in our case is init. > > But when i check argv is coming null when page size is 64KB and it > comes init when page size is 16KB. > > This behaviour is very strange and i am still debugging this issue. > > > I have check in Glibc, the max_page size it support is 64 KB in > codesourcercy toolchain 4.4.1 > > How can I check alignment issue as mention by Mr. Ralf Baechle. > > > > Kind regards > > > > > On Mon, Jan 31, 2011 at 6:38 PM, Ralf Baechle <ralf@xxxxxxxxxxxxxx> wrote: >> On Sun, Jan 30, 2011 at 08:32:43PM +0530, Himanshu Aggarwal wrote: >> >>> Why should the application or the toolchains depend on pagesize? I am >>> not very clear on this. Can someone explain it? >> >> To allow loading directly with mmap the executable file's layout must >> be such that it's it's segments are on offsets that are a multiple of >> the page size so in turn the linker must know that alignment. >> >> Ralf >> >