在Ubuntu20.04上搭建可以成功编译Hi3559AV100的环境_20251104
一、背景
SDK软件相关工具包介绍
| 工具包 | 明细 |
|---|---|
| 服务器OS | Ubuntu 20.04.6 LTS |
| 服务器Kernel | 5.15.0-139-generic |
| Hi3559AV100的SDK包 | Hi3559AV100_SDK_V2.0.4.0.tgz |
| SDK补丁包 | Hi3559AV100_SDK_V2.0.4.0CP0001 |
| 编译链工具 | aarch64-himix210-linux |
二、前期准备工作
参考《Hi3559A╱C V100 SDK 安装及升级使用说明.pdf》中介绍推荐编译Hi3559AV100的Linux服务器是Ubuntu14.04,这个版本较旧,本文介绍如何在Ubuntu20.04上搭建可以成功编译完成Hi3559AV100的环境。
2.1 在工作目录中准备必要文件
将SDK包Hi3559AV100_SDK_V2.0.4.0.tgz放在Ubuntu20.04的服务器的工作目录下,如:/home/jllee/work/1.hisi
将patch及sdk_patch_spc040.sh脚本拷贝到该目录
将交叉编译链工具aarch64-himix210-linux.tgz拷贝到该目录
解压SDK包Hi3559AV100_SDK_V2.0.4.0.tgz
shell
tar xvf Hi3559AV100_SDK_V2.0.4.0.tgz
解压交叉编译链工具aarch64-himix210-linux.tgz
shell
tar xvf aarch64-himix210-linux.tgz
如下图所示:

2.2 安装交叉编译链工具
shell
cd aarch64-himix210-linux/
sudo ./aarch64-himix210-linux.install
source /etc/profile
如下图所示:

2.3 unpack SDK 包
shell
cd Hi3559AV100_SDK_V2.0.4.0/
chmod +x sdk.*
./sdk.unpack
如下图所示:

2.4 打补丁
shell
cd Hi3559AV100_SDK_V2.0.4.0/osdrv
cd ../..
sh sdk_patch_spc040.sh
如下图所示:

配置默认使用bash
2.5 配置默认使用bash
执行 sudo dpkg-reconfigure dash
选择 no
2.6 安装软件包
sudo apt-get install -y make libc6:i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo texlive gawk libssl-dev openssl bc
sudo apt-get install -y u-boot-tools
sudo apt-get install -y p7zip-full
sudo apt-get install -y gperf
vim /home/jllee/work/1.hisi/Hi3559AV100_SDK_V2.0.4.0/open_source/eudev/Makefile
在大概40行的位置 --disable-extras 的后面增加 --disable-selinux --disable-blkid
如下图所示:

2.7 SDK的完整编译
cd /home/jllee/work/1.hisi/Hi3559AV100_SDK_V2.0.4.0/osdrv
make clean
make distclean
make BOOT_MEDIA=emmc AMP_TYPE=linux all
报错信息如下图所示:

解决方案:
cd /home/jllee/work/1.hisi/Hi3559AV100_SDK_V2.0.4.0/platform/liteos
tar xvf LiteOS_V200R003C00SPC401_UP.tgz
vim /home/jllee/work/1.hisi/Hi3559AV100_SDK_V2.0.4.0/platform/liteos/liteos_user/tools/menuconfig/Rules.mak
44行HOSTCFLAGS=-O2 -Wall -Werror 修改为 HOSTCFLAGS=-O2 -Wall
vim /home/jllee/work/1.hisi/Hi3559AV100_SDK_V2.0.4.0/platform/liteos/liteos_user/tools/menuconfig/Rules.mak
46行HOSTCXXFLAGS=-O2 -Wall -Werror 修改为 HOSTCXXFLAGS=-O2 -Wall
mv LiteOS_V200R003C00SPC401_UP.tgz LiteOS_V200R003C00SPC401_UP.tgz_bak
tar zcvf LiteOS_V200R003C00SPC401_UP.tgz Huawei_LiteOS
如下图所示:

2.8 重新编译SDK
cd /home/jllee/work/1.hisi/Hi3559AV100_SDK_V2.0.4.0/osdrv
make clean
make distclean
make BOOT_MEDIA=emmc AMP_TYPE=linux all
