文章目录
1、开发环境
windows10电脑 + 虚拟机15 Pro + Ubuntu18.0.4
2、在 linux 服务器上安装交叉工具链
# tar -zxf arm-mix410-linux.tgz
# cd armmix410-linux
# chmod +x arm-mix410-linux.install
# sudo ./armmix410-linux.install /opt/hisi-linux/x86-arm /* 指定安装路径:/opt/hisi-linux/x86-arm,如果不带这个参数默认安装路径为:/opt/linux/x86-arm */
# source /etc/profile /* 安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重启linux服务器也可 */
3、安装 SDK
3.1 SS524V100 SDK 包位置
1. 原始包: SS524V100R001***\01.software\board\SS524V100_SDK_V2.0.X.X.tgz
2. 补丁包: SS524V100R001***\02.only for reference\software\board\SS524V100_REF_V2.0.X.X.tgz
3. 补丁脚本: SS524V100R001***\02.only for reference\software\board\ref_patch.sh
3.2 解压缩并展开 SDK 包
SS524V100_REF_V2.0.X.X.tgz作为补丁包,可以将此补丁包打到SS524V100_SDK_V2.0.X.X.tgz包中,具体操作步骤如下:
# 1、将 SS524V100_SDK_V2.0.X.X.tgz 和 SS524V100_REF_V2.0.X.X.tgz 包放置到同一个文件夹下并解压:
# tar -zxf SS524V100_SDK_V2.0.X.X.tgz
# tar -zxf SS524V100_REF_V2.0.X.X.tgz
# 2、执行 SS524V100_SDK_V2.0.X.X 文件夹内部解压:
# cd SS524V100_SDK_V2.0.X.X
# ./sdk.unpack
# 3、执行打补丁操作:
# cd ../
# chmod +x ref_patch.sh
# ./ref_patch.sh
执行后,SS524V100_SDK_V2.0.X.X为打上REF补丁后的完整包。
4、编译 osdrv
- 本目录下的编译脚本支持 arm-mix410-linux 工具链,arm-mix410-linux 对应glibc库。具体命令如下(以ss524v100举例):
4.1 彻底清除整个osdrv目录
# cd SS524V100_SDK_V2.0.X.X/osdrv
# make distclean
4.2 编译整个osdrv目录
# make all
5、编译问题汇总及解决方法
5.1 问题1
/bin/sh: 1:
bison: not found
解决方法
# sudo apt install bison flex
5.2 问题2
configure: error: ***
gperf not found
Makefile:10: recipe for target ‘all’ failed
make[1]: *** [all] Error 1
make[1]: 离开目录“/SS524V100_SDK_V2.0.1.0/open_source/eudev”
Makefile:330: recipe for target ‘boardtools’ failed
make: *** [boardtools] Error 2
解决方法
# sudo apt-get install gperf
5.3 问题3
configure: WARNING:
cannot find ZLIB
library required for mkfs programs
configure: mtd-utils can optionally be built without mkfs.ubifs
configure: mtd-utils can optionally be built without mkfs.jffs2
configure: error: missing one or more dependencies
Makefile:47: recipe for target ‘mtd_board’ failed
make[1]: *** [mtd_board] Error 1
make[1]: 离开目录“/SS524V100_SDK_V2.0.1.0/open_source/mtd-utils
”
Makefile:330: recipe for target ‘boardtools’ failed
make: *** [boardtools] Error 2
解决方法
- 安装 mtd-utils2.x.x 依赖库:
# sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake
5.4 问题4
7z x lzma1900.7z -olzma1900
make[1]:7z: Command not found
Makefile:7: recipe for target ‘all’ failed
make[1]: *** [all] Error 127
make[1]: 离开目录“/SS524V100_SDK_V2.0.1.0/open_source/lzma”
Makefile:291: recipe for target ‘pctools’ failed
make: *** [pctools] Error 2
解决方法
# sudo apt install p7zip-full