使用arm-linux-gcc 4.3.2编译必须启用内核中的Use the ARM EABI选项

来源:互联网 发布:vs2005怎么编写c语言 编辑:程序博客网 时间:2024/05/21 15:03
 不知道为什么使用arm-linux-gcc-4.3.2.tgz (with EABI)86MB
编译同样的东西就是出现如下错误,感觉可能是busybox 1.14.3的问题,因为使用arm-linux-gcc-4.3.2编译出来的zImage可以使用正常挂在arm-linux-gcc-3.4.1编译器编译出来的动态busybox和库,但是使用arm-linux-gcc-4.3.2.tgz 编译出来的静态busybox就是会出现下面的错误,开始觉得明显是应用程序出了问题.后来发现原来是内核自己的事情,因为arm-linux-gcc-4.3.2.tgz使用了EABI方式,所以这就需要内核同样配置EABI编译属性才能支持EABI编译出来的应用程序busybox[luther.gliethttp]

错误原因:没有选择Use the ARM EABI to compile the kernel选项
Kernel Features
[ ] Use the ARM EABI to compile the kernel
解决方法:将它寻上之后自动多出下面一行,这样再次编译的内核就ok了,嘿嘿:)
[*] Use the ARM EABI to compile the kernel
[*]   Allow old ABI binaries to run with this kernel (EXPERIMENTAL) (NEW)

ep93xx-rtc ep93xx-rtc: setting system clock to 1970-01-01 00:01:18 UTC (78)
Freeing init memory: 100K
Kernel panic - not syncing: Attempted to kill init!
Backtrace:
[<c00259c0>] (dump_backtrace+0x0/0x114) from [<c026d674>] (dump_stack+0x18/0x1c)
 r7:c5818000 r6:c5817a40 r5:c5817a40 r4:c03291c4
[<c026d65c>] (dump_stack+0x0/0x1c) from [<c026d6c4>] (panic+0x4c/0x120)
[<c026d678>] (panic+0x0/0x120) from [<c00406e0>] (do_exit+0x70/0x58c)
 r3:c0313004 r2:c5817a40 r1:c5819d0c r0:c02cbdcb
[<c0040670>] (do_exit+0x0/0x58c) from [<c0040c90>] (do_group_exit+0x94/0xc8)
[<c0040bfc>] (do_group_exit+0x0/0xc8) from [<c004ae40>] (get_signal_to_deliver+0x2ec/0x324)
 r7:c5293a74 r6:c5818000 r5:c5819ed4 r4:00000004
[<c004ab54>] (get_signal_to_deliver+0x0/0x324) from [<c0024024>] (do_signal+0x58/0x528)
[<c0023fcc>] (do_signal+0x0/0x528) from [<c0024524>] (do_notify_resume+0x30/0x34)
[<c00244f4>] (do_notify_resume+0x0/0x34) from [<c0021e8c>] (work_pending+0x1c/0x20)