前言
- 本文适合需要安装SS626V100 SDK的所有人员;
- 为了提高SDK安装效率,建议按顺序执行安装步骤。
1、开发环境
windows10电脑 + 虚拟机15 Pro + Ubuntu18.0.4
2、在 linux 服务器上安装交叉工具链
2.1 安装 aarch64-mix410-linux.tgz
tar -zxf aarch64-mix410-linux.tgz
cd aarch64-mix410-linux/
chmod +x aarch64-mix410-linux.install
sudo ./aarch64-mix410-linux.install
source /etc/profile
2.2 安装 cc-riscv32-cfg11-musl-20211008-elf.tar.gz
tar -zxf cc-riscv32-cfg11-musl-20211008-elf.tar.gz
cd cc-riscv32-cfg11-musl-20211008-elf/
sudo ./install.sh
cd cc-riscv32-cfg11-musl-20211008-elf/bin
echo "export PATH=$(pwd):\${PATH}" >> $HOME/.profile
source ~/.profile
2.3 检查工具链版本,打印版本则表示配置成功
aarch64-mix410-linux-gcc -v
riscv32-cfg11-musl-20211008-elf-gcc –v
*注:若没有打印版本,则需要重启服务器。
3、安装 SDK
3.1 SS626V100 SDK 包位置
- 原始包:SS626V100R001***\SS626V100R001C02SPC003\01.software\board\ SS626V100_SDK_V2.0.0.3.tgz
- 补丁包:SS626V100R001***\SS626V100R001C02SPC003\02.only for reference\software\SS626V100_REF_V2.0.0.3.tgz
- 补丁脚本:SS626V100R001***\SS626V100R001C02SPC003\02.only for reference\software\ref_patch.sh
3.2 解压缩并展开 SDK 包
-
SS626V100_REF_V2.0.0.3.tgz作为补丁包,可以将此补丁包打SS626V100_SDK_V2.0.0.3.tgz包中,具体操作步骤如下:
1、将SS626V100_SDK_V2.0.0.3.tgz 和 SS626V100_REF_V2.0.0.3.tgz 放到同一目录下解压:
tar -zxf SS626V100_SDK_V2.0.0.3.tgz
tar -zxf SS626V100_REF_V2.0.0.3.tgz
2、执行 SS626V100_SDK_V2.0.0.3 文件夹内部解压:
cd SS626V100_SDK_V2.0.0.3
./sdk.unpack
3、执行打补丁操作:
cd ../
chmod +x ref_patch.sh
./ref_patch.sh
*注:执行以上步骤后,SS626V100_SDK_V2.0.0.3 则为打上REF补丁后的完整包。
4、安装软件包及环境搭建
4.1 安装软件包
sudo apt-get install 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 p7zip-full gperf bison flex diffutils git unzip libtool autopoint gettext po4a
*注:采取一次性的安装方式,可能会存在依赖库遗漏安装的风险,建议还是手动一个个的安装最为稳妥(否则,编译过程可能会提示某些依赖库不存在的警告)。
4.2 mtd-utils 依赖以下几个库,安装方式
sudo apt-get install zlib1g-dev
sudo apt-get install liblzo2-dev
sudo apt-get install uuid-dev
sudo apt-get install pkg-config
sudo apt-get install automake
sudo apt-get install autoconf
sudo apt-get install m4
4.3 设置 pkg-config 工具搜索路径
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfig"
4.4 e2fsprogs 依赖 texlive 库
sudo apt-get install texlive
4.5 boot、optee 模块依赖库
4.5.1 Python-3.7.6 安装
tar -zxf Python-3.7.6.tgz
cd Python-3.7.6/
./configure
make
make install
4.5.2 wheel、pycryptodome、pyelftools 源码安装
tar -zxf wheel-0.36.2.tar.gz
cd wheel-0.36.2
sudo python3.7 setup.py install
sudo pip3 install pycryptodome-3.9.8-cp37-cp37m-manylinux1_x86_64.whl
sudo pip3 install pyelftools-0.27-py2.py3-none-any.whl
*注:pycryptodome 和 pyelftools 下载后需要拷贝到wheel-0.36.2目录下。
4.6 LiteOS 编译需要安装的工具包括 python、pip 和 kconfiglib
4.6.1 确保服务器已安装 python
- 若显示版本号则表示python安装成功,否则“
参考步骤4.5.1
”完成安装:python3.7 –V
4.6.2 确保服务器已安装 pip
-
如果pip命令不存在,需要安装。pip依赖setuptools,如果setuptools不存在,也需要安装。
-
setuptools 安装:
点击setuptools源代码包下载地址,可以参考下面的命令进行安装:
sudo unzip setuptools-50.3.2.zip
cd setuptools
sudo python3.7 setup.py install
-
pip 安装:
点击pip源代码包下载地址,可以参考下面的命令进行安装:
sudo tar -zxf pip-20.2.4.tar.gz
cd pip-20.2.4
sudo python3.7 setup.py install
-
安装 kconfiglib:
1.对于服务器可以联网
的情况,直接安装kconfiglib:
sudo pip3 install kconfiglib
2.对于服务器不能联网
的情况,采用离线的方式安装(下载kconfiglib):
(1) wheel 文件的安装命令:
sudo pip3 install kconfiglib-14.1.0-py2.py3-none-any.whl
(2) kconfiglib 源代码文件的安装命令:
sudo tar -zxf kconfiglib-14.1.0.tar.gz
cd kconfiglib-14.1.0
sudo python3.7 setup.py install
5、编译过程问题汇总及解决方法
-
问题1:
-
解决方法:
sudo apt-get install libssl-dev
-
问题2:
-
解决方法:
1.先确认 pkg.m4 路径位置:
find /usr -name "pkg.m4"
搜索路径如下:/usr/share/aclocal/pkg.m4
2.再确认 aclocal 所在位置:
aclocal --print-ac-dir
搜索路径如下:/usr/local/share/aclocal
3.将 /usr/share/aclocal/*.m4 文件都拷贝到 /usr/local/share/aclocal/ 目录:
sudo cp /usr/share/aclocal/*.m4 /usr/local/share/aclocal/
-
问题3:
-
解决方法:
sudo apt-get install po4a
-
问题4:
-
解决方法:
将 Makfile 和 util-linux-2022.patch 补丁拷贝到 open_source/util-linux/ 目录:
cp Makefile SS626V100_SDK_V2.0.0.3/open_source/util-linux/
cp util-linux-2022.patch SS626V100_SDK_V2.0.0.3/open_source/util-linux/
补充说明:
由于此处无法上传文件,请点击补丁包地址下载。
6、编译 osdrv
6.1 彻底清除整个 osdrv 目录
cd SS524V100_SDK_V2.0.1.0/osdrv
make distclean
6.2 编译整个 osdrv 目录
make all
编译成功打印:
---------finish osdrv work
总结
- 安装 SS626V100 最好使用 python3.x 以上的版本,如果使用 python2.7 版本可能会有编译不过的风险;
- SS626V100 SDK,其中很多程序都是通过 autoreconf 、automake 生成 configure.ac 和 Makefile.in 的,如果你的服务器相关依赖库安装的不好,就有可能会遇到各种各样的编译问题。
- 关于 autoreconf 和 automake 我这里给大家介绍两个链接,如果大家感兴趣可以看看:
3.1 automake
3.2 AM_PATH_PYTHON