【转】关于/bin/sh:xx(命令)notfound的几种原因和解决办法
(2019-12-09 14:05:05)
标签:
linux |
分类: LINUX |
编写背后:昨天移植无线网卡到mini2440基本完成到最后一步:用命令:iwlist
scanning
关于-/bin/sh:xx(命令) not found
1./bin/目录下没有这个命令;
2.bin/目录有这个命令,只是执行权限不够,或者程序执行权限不够;
3.程序需要的静态库或者动态库没有;
解决办法:
原因一的解决方法:安装busy box将busy box支持的命令安装到文件系统的bin目录下;(只要安装了busy box它会自动加载命令到bin目录下,这个你懂的,若不懂请看我的博文《根文件系统的制作》)
原因二的解决方法:在/bin/目录下找到对应的命令,修改其权限为777;具体操作:
chmod
原因三的解决方法:
(1)最“高效”的解决方法:用命令:arm-linux-readelf
如图:我的iwlist命令使用的动态库是libiw.so.29 、libm.so.6
和libc.so.6
于是我便去交叉编译器所在目录/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib下的动态库中寻找所需的上面三个库libiw.so.29
、libm.so.6
和libc.so.6
(注意:这里我使用交叉编译器的版本为4.3.2的版本所以目录4.3.2有所不同即到/usr/local/arm/(编译器版本)/arm-none-linux-gnueabi/libc/armv4t/lib下的动态库中寻找)
(2)最“2”最笨的方法:把/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib下的所有动态库都拷贝到根文件系统的lib目录下;(但是这种方法在嵌入式开发里面无意增加了成本,拷贝了一些不必要的动态库文件,增大了根文件系统的体积)