菜鸟学习嵌入式 问题笔记之 关于-/bin/sh: 命令:not found的解决办法

本文记录了在OK6410开发板上运行字符设备驱动程序之LED驱动程序时遇到的“not found”错误,并详细说明了解决该问题的过程,包括如何查找并复制所需的动态库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载地址:https://blog.youkuaiyun.com/nanhangfengshuai/article/details/50499246

在跟着韦东山老师的视频第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  ,会发现,正常运行了。问题就解决了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值