"); //-->
目标板中没有bash,只有sh。如果想将shell脚本在目标机中运行,则需要把脚本第一行的#!/bin/bash改为#!/bin/sh。但这样虽然可以执行脚本,但是脚本中的许多语法是不支持的,例如:判断 if [ -d /usr ] ; if [ -b /dev/sda1 ]等等,脚本运行时会报错,解决方法就是将bash移植到目标板。
移植流程:
1、下载最新版bash
地址:http://www.gnu.org/software/bash/bash.html
2、解压
1 | tar zxvf bash-4.2.tar.gz |
3、配置
1 | ./configure CC=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-gcc --prefix=/home/gary/linux/bash/install --host=arm-linux --target=arm-none-linux-gnueabi --enable-static-link --enable-history --without-bash-malloc |
注意:CC 指定交叉编译工具,--prefix指定编译后镜像和库文件安装的位置,这些我们要放到目标板上的。
4、设置静态编译
打开 Makefile 文件,
1 | vi Makefile |
在 Makefile 的 CFLAGS 后面加上 -static 选项:
1 | CFLAGS = -g -O2 -static |
5、编译:
1 2 | make make install |
6、安装成功后在安装路径 /home/gary/linux/bash/install 下生成两个文件夹 bin share,将bin中的bash可执行文件复制至开发板 /bin 中,并修改执行权限:
1 | chmod +x /bin/bash |
7、测试
在开发板中运行bash
1 | bash |
在开发版中运行相关脚本
1 | ./test.sh |
恭喜,移植成功。
使用 arm-2010q1 交叉编译用具上编译好的 bash 镜像下载:
bash(3.02 MB, 下载次数: 4846)
http://bbs.myir-tech.com/thread-6178-1-1.html?from=singlemessage
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
克服半导体应用弹性体密封件的摩擦问题
芯片设计快要离不开AI了,可代价是什么?
电缆测试的电路图
arm-elf 和 m68k-elf 有什么区别?
在下一代硅介质体中实现高性能集成的扩展TSV
中兴ZTE289手机维修 图1
工业ARM ,带VGA接口
田中的混合银胶粘剂重新定义了SiC/GaN功率模块的可靠性
xiaoqi编写的字模软件
便携式医疗保健设备
windows版的解压缩RAR程序(含解密文件)
激光照亮先进包装的路线图
[讨论]BIOS中一段代码的疑惑
请问本站FTP如何登陆?
ADI在线研讨会: 适用于高性能RF信号链解决方案
为何不马上使用MEMS麦克风呢?
WINNT_2000下直接写端口 的VC++源程序
555构成单端双稳态电路图
婚后时间计时 —— 电子纸时钟
感知变革:智能工业自动化趋势
AI 智能体面临着日益扩大的信任鸿沟
ADI在线研讨会:PCB(印制电路板)布局布线指南
X25045使用手册
WinAce 2.03 压缩和解压缩程序
我建了一个QQ群6702617 IC设计
中兴ZTE289手机维修 图2
采用2051设计的无线防盗报警器
基础教程:电源管理基础知识
2025年前三季度全球腕戴设备市场同比增长10%
PCB面积越来越不够用?这有一个节省的好办法