1. 环境安装

Vmware 下载及安装教程

Ubuntu 18.04 镜像下载及安装

Ubuntu 基础配置

2. Linux&Ubuntu系统

2.1. 首次安装 SDK

2.1.1. 下载安装SDK

网盘目录04 SDK资料包/03 开发板软件资料/03 易百纳适配SDK中下载hieuler_sdk_v1.0.0.tgz

image-20240320095514476

将下载好的压缩包放进虚拟机,执行tar xzf hieuler_sdk_v1.0.0.tgz解压即可

2.1.2. 安装交叉编译器

2.1.2.1. aarch64-mix210-linux-

网盘目录04 原厂资料目录下

image-20240320094918930

将该交叉编译器压缩包拷贝到虚拟机中,家目录下即可

执行tar xzf aarch64-mix210-linux.tgz解压,一共有两个文件

image-20240320095734661

执行sudo ./aarch64-mix210-linux.install,等待安装完成即可

执行aarch64-mix210-linux-gcc -v查看版本

image-20240320095804710

2.2. SDK 编译

2.2.1. 软件包安装

操作系统安装好后,且用户已自行配置好网络环境,则可继续如下步骤完成相关软件包的安装:

步骤1 配置默认使用 bash

​ 执行 sudo dpkg-reconfigure dash 选择 no

​ 如图所示:

image-20240320100328615

步骤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 上某些第三方库编译失败的问题。

image-20240320100409055

步骤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版本

www.python.org

​ ****下载安装****并执行如下指令:

​ 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. 创建工作目录并构建

此处参考hardware_driver仓库 README

# 初始化一个名为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