移植 bash到ARM开发板

北城以北 提交于 2019-12-24 00:24:49

       一般情况下,在ARM开发板中都会有sh,这是随busybox携带的脚本工具。如果想将shell脚本在ARM目标机中运行,则需要把脚本第一行的#!/bin/bash改为#!/bin/sh。但这样虽然可以执行脚本,但是脚本中的许多语法是不支持的,例如:

1、判断: if [ -d /usr ] ; if [ -b /dev/sda1 ]

2、数值运算:sum=$[$val1+$val2]

3、逻辑运算:and=$[ $val1 & $val2 ]

解决方法就是将bash移植到目标板

移植环境:  EC20 OPEN开发板

1 下载bash源码

地址:http://www.gnu.org/software/bash/bash.html

2 解压

将下载的bash压缩包解压,命令:

$ mkdir /home/hui.zhang/w/tmp/shell/                 # 创建bash工作目录
$ cp bash-4.3.tar.gz /home/hui.zhang/w/tmp/shell/    # 复制安装包
$ cd /home/hui.zhang/w/tmp/shell/                    # 进入/home/veryarm/bash目录
$ tar zxvf bash-4.3.tar.gz                           # 解压

3、配置

编译之前,已运行环境配置脚本,然后进行配置,命令:

$ mkdir install                                 # 创建安装目录
$ cd bash-4.3# 进入目录
$ ./configure --prefix=/home/share/xiatao/Platform_Code_A04Ver/ql-ol-sdk/ql-ol-extsdk/example/install  --host=arm-linux

--prefix:指定安装目录
--host:运行在的主机环境

4 编译

编译并安装:

$ make & make install

5 复制到目标板

安装成功后在安装路径/home/hui.zhang/w/tmp/shell/istall下生成两个目录
bin 和 share,将bin中的 bash 可执行文件复制至开发板 /bin 中,并修改执行权限:

root@k200:/ #cp bash /bin
root@k200:/ #chmod +x /bin/bash

6 测试

在开发板中运行bash

root@k200:/ #bash 

bash-4.3#

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!