SS626V100_SDK_V2.0.1.0 安装编译 osdrv 问题汇总


前言

  1. 本文适合需要安装 SS626V100_SDK_V2.0.1.0 的所有人员;
  2. 为了提高 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-20220523-elf.tar.gz

tar -zxf cc-riscv32-cfg11-musl-20220523-elf.tar.gz
cd cc-riscv32-cfg11-musl-20220523-elf/
sudo ./install.sh
cd cc-riscv32-cfg11-musl-20220523-elf/bin
echo "export PATH=$(pwd):\${PATH}" >> $HOME/.profile
source ~/.profile

2.3 检查工具链版本,打印版本则表示配置成功

aarch64-mix410-linux-gcc -v
riscv32-cfg11-musl-20220523-elf-gcc -v

*注:为了工具链能及时生效,强烈建议重启一次服务器。

3、安装 SDK

3.1 SS626V100_SDK_V2.0.1.0 安装包位置

  1. 基础包:SS626V100R001***\SS626V100R001C02SPC010\01.software\board\ SS626V100_SDK_V2.0.1.0.tgz
  2. 增强包:SS626V100R001***\SS626V100R001C02SPC010\02.only for reference\software\SS626V100_REF_V2.0.1.0.tgz
  3. 增强包脚本:SS626V100R001***\SS626V100R001C02SPC010\02.only for reference\software\ref_patch.sh
  4. 基础补丁包:SS626V100R001***\SS626V100R001C02SPC010CP0001\01.software\board\ SS626V100_SDK_V2.0.1.0_CP0001.tgz
  5. 增强补丁包:SS626V100R001***\SS626V100R001C02SPC010\02.only for reference\software\SS626V100_REF_V2.0.1.0_CP0001.tgz

3.2 解压缩并展开 SDK 包

  • 使用基础包和增强包,具体操作步骤如下:

    步骤1. 将基础包 SS626V100_SDK_V2.0.1.0.tgz 和基础补丁包 SS626V100_SDK_V2.0.1.0_CP0001.tgz,放在同级目录下并解压:

    tar -zxf SS626V100_SDK_V2.0.1.0.tgz
    tar -zxf SS626V100_SDK_V2.0.1.0_CP0001.tgz
    

    步骤 2. 拷贝 SS626V100_SDK_V2.0.1.0_CP0001 软件包中的文件覆盖 SS626V100_SDK_V2.0.1.0 中对应目录下的文件即可:

    cp SS626V100_SDK_V2.0.1.0_CP0001/* SS626V100_SDK_V2.0.1.0/ -r
    

    步骤 3. 增强包打补丁,解压增强包 SS626V100_REF_V2.0.1.0.tgz 和增强补丁包SS626V100_REF_V2.0.1.0_CP0001.tgz,拷贝 SS626V100_REF_V2.0.1.0_CP0001 的文件覆盖 SS626V100_REF_V2.0.1.0 对应目录下的文件:

    tar -zxf SS626V100_REF_V2.0.1.0.tgz
    tar -zxf SS626V100_REF_V2.0.1.0_CP0001.tgz
    cp SS626V100_REF_V2.0.1.0_CP0001/* SS626V100_REF_V2.0.1.0/ -r
    

    2、执行 SS626V100_SDK_V2.0.1.0 文件夹内部解压:

    cd SS626V100_SDK_V2.0.1.0
    ./sdk.unpack
    

    3、将增强包脚本 ref_patch.sh 拷贝到与 SS626V100_SDK_V2.0.1.0 同级目录下,并执行打补丁操作:

    cd ../
    cp /samba/ref_patch.sh ./
    chmod +x ref_patch.sh
    ./ref_patch.sh
    

    *注:执行以上步骤后,SS626V100_SDK_V2.0.1.0 则是打上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.6.9 安装

方法一,离线下载手动安装:

tar -zxf Python-3.6.9.tgz
cd Python-3.6.9/
./configure
make
make install

方法二,在线下载自动安装:

sudo apt-get install update
sudo apt-get install python3.6=3.6.9

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.6 -V
    

4.6.2 确保服务器已安装 pip

  • 如果 pip 命令不存在,需要安装。pip 依赖 setuptools,如果 setuptools 不存在,也需要安装。

  • setuptools 安装:
    点击 setuptools源代码包下载地址,可以参考下面的命令进行安装:

    sudo unzip setuptools-50.3.2.zip
    cd setuptools
    sudo python3.6 setup.py install
    
  • pip 安装:
    点击 pip源代码包下载地址,可以参考下面的命令进行安装:

    sudo tar -zxf pip-20.2.4.tar.gz
    cd pip-20.2.4
    sudo python3.6 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.6 setup.py install
    

5、编译过程问题汇总及解决方法

  • 以下有部分问题是在安装 SS626V100_SDK_V2.0.0.3 版本时遇到的,在此会重复罗列。

  • 问题1: riscv32-cfg11-musl-20220523-elf 编译器在环境变量里找不到
    riscv

  • 解决方法:

    在确认 riscv32 工具链已经安装的情况下,重启虚拟机 即可。

  • 问题2: 找不到 meruconfig.h 头文件
    menuconfig

  • 解决方法:

    【1】首先确认 python、pip 和 kconfiglib 是否安装成功,如果已成功安装,则重新执行一次 “setuptools安装“ 步骤。
    【2】如果执行了【1】仍然有同样的报错,则可能是使用了默认的 python 版本(如,python 2.7),而 setuptools 最新版本不支持 python 2.7,请下载 setuptools 45.0.0 版本 以支持 python 2.7。安装步骤如下
    sudo unzip setuptools-45.0.0.zip
    cd setuptools-45.0.0
    sudo python setup.py install

  • 问题3:
    问题1

  • 解决方法:

    sudo apt-get install libssl-dev
    
  • 问题4:
    问题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/
    
  • 问题5:
    问题3

  • 解决方法:

    sudo apt-get install po4a
    
  • 问题6:
    问题4
    问题4

  • 解决方法:
    将 Makfile 和 util-linux-2022.patch 补丁拷贝到 open_source/util-linux/ 目录:

    cp Makefile SS626V100_SDK_V2.0.1.0/open_source/util-linux/
    cp util-linux-2022.patch SS626V100_SDK_V2.0.1.0/open_source/util-linux/
    

    补充说明: 由于此处无法上传文件,请点击补丁包地址下载。

6、编译 osdrv

6.1 彻底清除整个 osdrv 目录

cd SS626V100_SDK_V2.0.1.0/osdrv
make distclean

6.2 编译整个 osdrv 目录

make all

编译成功打印:
---------finish osdrv work


总结

  1. 安装 SS626V100 最好使用 python3.x 以上的版本,如果使用 python2.7 版本可能会有编译不过的风险;
  2. SS626V100 SDK,其中很多程序都是通过 autoreconf 、automake 生成 configure.ac 和 Makefile.in 的,如果你的服务器相关依赖库安装的不好,就有可能会遇到各种各样的编译问题。
  3. 关于 autoreconf 和 automake 我这里给大家介绍两个链接,如果大家感兴趣可以看看:
    3.1 automake
    3.2 AM_PATH_PYTHON
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

积步千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值