1.安装交叉开发工具链时的错误
错误log:
arm-hisiv300-linux-gcc: command not found解决方法:
这是因为宿主机是64 位 而交叉编译器是针对32位的开发板制作的。所以要安装对应的32位库。
我的linux宿主机是ubuntu 16.04 64位。
安装命令:
sudo apt install lib32z1-dev
2.执行 sdk.unpack脚本是报错:
错误log:
./sdk.unpack
\33[32m
you must use ‘root’ to execute this shell
\33[39m
./cross.install: 25: Syntax error: “do” unexpected (expecting “fi”)
./cross.install: 28: Syntax error: “do” unexpected (expecting “fi”)
./cross.install: 30: Syntax error: “do” unexpected (expecting “fi”)原因:海思sdk的脚本默认使用dash脚本解释器。
解决方法:
- 方法一:安装dash解释器
sudo dpkg-reconfigure dash
出现菜单问你是否要dash的时候,选no就可以了。再执行 ./sdk.unpack ,成功安装上SDK开发包了。 - 方法二:
vim sdk.unpack 第一行, #!/bin/sh 为 #!/bin/bash, 也可以正常解压,不用安装其他什么软件。
- 方法一:安装dash解释器
3.编译uboot时报错
- 原因:
由于没有make clean导致保存了部分以前编译剩余的内容: - 解决方法:
make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- clean
4.编译内核是报错:
- 由于权限的问题,在Linux源码目录下执行如下命令即可:
sudo chmod +x ./* -R - 没有将mkimage镜像复制到/usr/bin,无法生成内核镜像文件
将mkimage复制到/usr/bin 目录下即可。
cp mkimage /usr/bin