蜗牛

一起交流,共同进步
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

TQ2440上-/bin/sh: hello: not found的解决办法

Posted on 2009-12-01 22:58  路漫漫...  阅读(5163)  评论(0编辑  收藏  举报

 

     最近有时间开始学习ARM,平台是TQ2440,下载了2.6.31的内核源码,并开始构建yaffs2文件系统,手册上写的还是很详细,可是我在往里面加Zmodem文件传输协议的命时,却出现了-/bin/sh: rz: not found的错误,自己编译的hello程序也出现同样的错误,不是权限不够,后来把系统自带的根文件系统下的库文件全复制过来,这样就可以执行了。

 

看来是缺少库文件的原因,可是原来的库文件太多,每次下载很慢,所以就干脆自己添加目前需要的,用arm-linux-readelf命令查看的所需的库,根据输出拷贝了    

 libc-2.8.so    libgcc_s.so.1  libnsl.so.1
 libc.so.6      libnsl-2.8.so

以为这样就没问题了,可是还是出现上述错误

后来用arm-linux-readelf -a hello

输出一大堆信息,看见输出中提到了ld-linux.so.3,去库文件的目录下面查看了该文件,是个符号链接,于是把它和它指向的库文件全都复制到根文件系统的/lib目录下面,这样就可以制作的yaffs2文件系统下载到板子上

运行./hello

hello

 

不知道ld-linux.so.3在Linux系统中起什么样的作用。。。