从网上查询的资料,Ubuntu 6.10开始就更换默认的bash shell 为dash shell,即 /bin/sh 被链接到 /bin/dash ,而非 /bin/bash ,官方解释为 dash更小更快,还和 POSIX 兼容。
但海思SDK使用的是 bash 设计脚本,故此,在默认情况下是无法编译安装海思 SDK 的。
So, 我们需要将 dash 改回为 bash,终端命令:
sudo dpkg-reconfigure dash
在弹出的方框中选择 "否",回车确定,这便改好了。
PS:有时候可能不需要进行将dash转换回bash这个修改动作,而只需要打开需要执行的脚本文件,将第一行的"/bin/sh"改为"/bin/bash"即可
但是还不能马上安装SDK,仍需要做一些修改
进入到解压好的SDK目录下,找到"scripts/common.sh"并编辑
vim scripts/common.sh
找到 " run_command_progress_float() ",并将 " prog_bar_base="[ ]" " 部分修改为
155 prog_bar_base="[ ]"
156 while [ $rcp_tmp -lt $RCP_RANGE ]
157 do
158 prog_bar_base="$prog_bar_base-"
159 ((rcp_tmp=rcp_tmp+1))
160 done
即159行的((rcp_tmp++))更改为((rcp_tmp=rcp_tmp+1)),保存退出
接下来安装交叉编译工具
$ cd tools/toolchains
$ chmod +x cross.install
$ ./cross.install
然后安装解压 SDK 即可
$ chmod +x sdk.unpack
$ ./sdk.unpack
PS:
非root用户可能出现找不到 "arm-hismall-linux-gcc",简单的解决方法是切换到 root 用户再安装,也可以配置环境,比如在/etc/profile中加入(默认在执行./cross.install后是添加了的)
# 2016年 10月 9日 星期日 11:30:30 CST
# Hisilicon Linux, Cross-Toolchain PATH
export PATH="/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/usr/bin:$PATH"
#
然后
$ source /etc/profile