1. 环境安装
2. Linux&Ubuntu系统
2.1. 首次安装 SDK
2.1.1. 下载安装SDK
网盘目录04 SDK资料包/03 开发板软件资料/03 易百纳适配SDK
中下载hieuler_sdk_v1.0.0.tgz
将下载好的压缩包放进虚拟机,执行tar xzf hieuler_sdk_v1.0.0.tgz
解压即可
2.1.2. 安装交叉编译器
2.1.2.1. aarch64-mix210-linux-
网盘目录04 原厂资料
目录下
将该交叉编译器压缩包拷贝到虚拟机中,家目录下即可
执行tar xzf aarch64-mix210-linux.tgz
解压,一共有两个文件
执行sudo ./aarch64-mix210-linux.install
,等待安装完成即可
执行aarch64-mix210-linux-gcc -v
查看版本
2.2. SDK 编译
2.2.1. 软件包安装
操作系统安装好后,且用户已自行配置好网络环境,则可继续如下步骤完成相关软件包的安装:
步骤1 配置默认使用 bash
执行 sudo dpkg-reconfigure dash
选择 no
如图所示:
步骤2 安装软件包
执行:sudo apt-get install make libc6-i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libffi-dev libtool libfreetype6
步骤3 创建/etc/ld.so.preload 文件,并执行 echo “” > /etc/ld.so.preload,以解决 64bit linux server 上某些第三方库编译失败的问题。
步骤4 mtd-utils依赖以下几个库,以ubuntu为例,安装方式请参考下面命令:
sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake
由于mtd-utils通过pkg_config工具检查各个库是否正常安装,因此请参考如下方式设置pkg_config工具搜索路径:
export PKG_CONFIG_PATCH=”$PKG_CONFIG_PAYH:/usr/lib/x86_64-linux-gnu/pkgconfig”
步骤5 e2fsprogs依赖texlive库,安装方式请参考如下命令:
sudo apt-get install texlive
步骤6 optee 模块依赖 python3.x.x、pip3、wheel、pycryptodome、pyelftools库
python3.x.x 安装推荐 python3.7.6版本
****下载安装****并执行如下指令:
tar -zxvf Python-3.7.6.tgz
cd Python-3.7.6
./configure
make
make install
可能需要配置下载源:创建并编辑:vim ~/.pip/pip.conf
sudo pip3 install wheel==0.36.2
sudo pip3 install pycryptodome==3.9.8
sudo pip3 install pyelftools==0.27
sudo pip3 install kconfiglib
创建python软链接
ln -s /usr/local/bin/python3 /usr/local/bin/python
备注:pycryptodome 依赖于python3.x.x 环境请先升级至python3.x.x 版本再安装pycryptodome 库。
2.2.2. 编译SDK
进入hieuler_sdk_v1.0.0
目录
执行make
进行总体编译
总体编译生成的镜像文件为出厂固件,都存放在hieuler_sdk_v1.0.0/output
下
详细操作指南参考:Hieuler SDK操作指南(Linux).pdf
3. openeuler系统
3.1. oebuild环境搭建
ubuntu中环境搭建,此处参考openEuler Embedded在线文档
【注】:编译过程须保持网络畅通,第一次编译需要较长的时间(大概2小时)
# 建议使用ubuntu 22.04
# 安装必要的软件包
# 注意此处与官网不同,官网安装的是python3,使用pip命令安装oebuild
# 此处使用ubuntu 22.04默认的python3.10,使用pip3命令安装oebuild
sudo apt-get install python3-pip docker docker.io
pip3 install oebuild
# 配置docker环境
sudo usermod -a -G docker $(whoami)
sudo systemctl daemon-reload && sudo systemctl restart docker
sudo chmod o+rw /var/run/docker.sock
3.2. 创建工作目录并构建
# 初始化一个名为build_3403的工作目录,构建的版本为openEuler-23.09
oebuild init build_3403 -b master
cd build_3403
# 更新docker构建镜像
oebuild update
oebuild generate -p sd3403 -f openeuler-ros
# 随后按提示进入构建目录
# 进入构建环境
oebuild bitbake
# 开始构建镜像
bitbake openeuler-image
构建完成后会在output目录输出固件
.
├── Image -> Image-5.10.0
├── Image-5.10.0
├── kernel-demo # 海思机器人demo板内核
├── kernel-pi # EulerPI使用内核
├── openeuler-image-ros-sd3403-20240106121030.rootfs.ext4 # 根文件系统
└── vmlinux-5.10.0
在烧录欧拉派时将使用kernel-pi和openeuler-image-ros-sd3403-20240106121030.rootfs.ext4作为部署件
# 在编译过程中若出现问题可执行一下命令清除缓冲,尝试重新编译
# 仅清除缓冲和标识,并不会完全重新编译
bitbake openeuler-image-ros -c cleanall
3.3. u-boot的构建
目前,openeuler系统构建不包括u-boot的构建,若需要构建u-boot可下载u-boot源码单独编译或者直接获取编译完成的u-boot部署件
u-boot源码仓库:点击此处
编译完成的u-boot部署件:u-boot release
编译u-boot需要安装aarch64-mix210-linux交叉编译工具链,具体安装方法参考[aarch64-mix210-linux](# aarch64-mix210-linux-)
# 编译u-boot
make
# 查看帮助信息
make help
# 编译4G内存版本(默认编译为8G)
make MEM_SIZE=4G
# 配置u-boot
make ubootcfg
在编译完成后会在当前目录生成boot_image_8G.bin和boot_env_8G.bin