分类: LINUX
2010-05-18 18:49:46
最近捣鼓maemo,发现其下编绎的文件,file一下,提示如下: busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.8, statically linked, stripped与普通的编绎下面的对比下: busybox: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.4.3, statically linked, for GNU/Linux 2.4.3, stripped 试验了下,SYSV格式的busybox(静态的编译的,在文件系统起来之后无法执行),提示: # ./busybox 该问题还得想办法解决,从网上搜到的资料来看,主要有两种可能性: 1、符点问题 附:搜到一些关于 SYSV的解释 sysV是UNIX的两大分支之一,现在的UNIX和类UNIX系统根据其发展分支可以分为sysV分支和BSD分支,这两个分支是最初的UNIX分化出来的最初的AT&T实验室的UNIX系统到了第5版,也是就system V (sysV) 后就分化成了BSD分支和sysV分支, 两者的最大区别就是启动过程的运行等级机制有很大区别. linux是sysV风格的UNIX系统,freeBSD是BSD风格的UNIX系统, 但是现在这个界限也在慢慢模糊掉, 两种分支的系统取长补短,相互渗透.
还有一种可能性:
maemo下自带的编译器支持新的嵌入式应用程序二进制接口标准EABI,而kernel,首先并未打开对eabi的支持,其次,kernel编绎使用的是非EABI的编译器。
(实验失败,无法证明是内核问题还是编译器问题,总之和EABI脱不了关系)
又找到一种可能性:
来源:
可能是有busybox引起的
昨天在牛人的帮助下,终于解决了Illegal instruction的问题(PS:重新编译下了交叉工具链)
|