菜鸟学习嵌入式 问题笔记之 关于-/bin/sh: 命令:not found的解决办法
2019-07-12 20:52发布
生成海报
在跟着韦东山老师的视频第12课,字符设备驱动程序之LED驱动程序,编写了个firstdrvtest.c文件,在虚拟机下,用交叉工具编译器arm-linux-gcc -o first firstdrvtest,然后拷贝到之前制作好的/home/S4-ARM/lesson4/rootfs目录下,通过nfs(network file system)挂载到OK6410开发板上面,实现同步。
当我用./first 命令执行的时候,提示错误,-/bin/sh: ./first: not found,,,,,顿时无语了 在经过查找资料后,下面是我的的解决办法:
一开始我以为是first没有运行权限,不过我给了它运行权限还是提示同样的错误。我在网上搜了下找到了原因:只所以提示“-/bin/sh: ./first:
not found”,是因为我没有拷first所需的库文件。1.在虚拟机下,通过命令arm-linux-readelf -a first,然后在输出的内容中找到Program Headers:,这里就有first所需的库文件。
如上图知道,我所需要的是/lib/ld-linux.so.3这个库文件,然后我需要到/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib下的动态库中找寻所需的库/lib/ld-linux.so.3。。。。。
在这个目录下,
用命令 #cp ld-linux.so.3 /home/S4-ARM/lesson4/rootfs/lib
这样之后,在到开发板环境下,#cd /lib/ #ls ,会发现,/lib/目录下存放着库 ld-linux.so.3
之后在执行命令 #./first ,会发现,正常运行了。问题就解决了。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮