01 环境搭建
为帮助开发者快速完成开发环境的搭建,我们提供了开发环境搭建和交叉编译器 Docker 镜像环境搭建两种方法,开发者可选择其中一种搭建。
提示
说明: 我们推荐开发者搭建 Docker 镜像环境,以缩短编译环境的构建时间。
1 开发环境搭建
1.1 准备开发环境
我们推荐使用 Ubuntu 22.04 或更高版本的系统进行编译。其他的 Linux 版本可能需要对软件包做相应调整。除了系统要求外,还有其他软硬件方面的要求。
- 硬件要求:64 位系统,至少 8GB 内存,100GB 硬盘空间。如果您进行多个构建,将需要更大的硬盘空间。
- 软件要求:Ubuntu 22.04 或更高版本系统。
1.2 安装库和工具集
使用命令行进行设备开发时,可以通过以下步骤安装编译SDK需要的库和工具。 使用如下apt-get命令安装后续操作所需的库和工具:
sudo apt-get update && sudo apt-get install git ssh make gcc libssl-dev \
liblz4-tool expect expect-dev g++ patchelf chrpath gawk texinfo chrpath \
diffstat binfmt-support qemu-user-static live-build bison flex fakeroot \
cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev \
libgucharmap-2-90-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev \
libmpc-dev bc python-is-python3 python2
提示
说明: 安装命令适用于Ubuntu22.04,其他版本请根据安装包名称采用对应的安装命令,若编译遇到报错,可以视报错信息,安装对应的软件包。其中:
- python要求安装python 3.6及以上版本,此处以python 3.6为例。
- make要求安装 make 4.0及以上版本,此处以 make 4.2为例。
- lz4要求安装 lz4 1.7.3及以上版本。
- 编译Yocto需要VPN网络。
i 检查和升级主机的 python 版本
检查和升级主机的 python 版本方法如下:
- 检查主机 python 版本
$ python3 --version
Python 3.10.6
如果不满足python>=3.6版本的要求, 可通过如下方式升级:
- 升级 python 3.6.15 新版本
PYTHON3_VER=3.6.15
echo "wget
https://www.python.org/ftp/python/${PYTHON3_VER}/Python-${PYTHON3_VER}.tgz"
echo "tar xf Python-${PYTHON3_VER}.tgz"
echo "cd Python-${PYTHON3_VER}"
echo "sudo apt-get install libsqlite3-dev"
echo "./configure --enable-optimizations"
echo "sudo make install -j8"
ii 检查和升级主机的 make 版本
检查和升级主机的 make 版本方法如下:
- 检查主机 make 版本
$ make -v
GNU Make 4.2
Built for x86_64-pc-linux-gnu
- 升级 make 4.2 新版本
$ sudo apt update && sudo apt install -y autoconf autopoint
git clone https://gitee.com/mirrors/make.git
cd make
git checkout 4.2
git am $BUILDROOT_DIR/package/make/*.patch
autoreconf -f -i
./configure
make make -j8
sudo install -m 0755 make /usr/bin/make
iii 检查和升级主机的 lz4 版本
检查和升级主机的 lz4 版本方法如下:
- 检查主机 lz4 版本
$ lz4 -v
*** LZ4 command line interface 64-bits v1.9.3, by Yann Collet ***
- 升级 lz4 新版本
git clone https://gitee.com/mirrors/LZ4_old1.git
cd LZ4_old1
make
sudo make install
sudo install -m 0755 lz4 /usr/bin/lz4
2 Docker镜像环境搭建
为帮助开发者快速完成上面复杂的开发环境准备工作,我们提供了第二种交叉编译器 Docker 镜像环境搭建方式,方遍开发者可以快速验证,缩短编译环境的构建时间。
Docker 是一个开源的应用容器引擎,其能够更高效的利用系统资源、保证一致的运行环境,实现持续交付和部署,以及后期更轻松的迁移、维护、扩展。
2.1 安装Docker
安装 Debian 系发行版,如 Debian,Ubuntu
#安装Debian系发行版本
sudo apt-get install docker.io
#验证Docker是否安装成功
sudo docker -v
2.2 构建 Docker 镜像
Docker 镜像可使用提供的 ShiMetaPi_RKLinux_SDK_Build_Environment_Docker_V1.0.tar 镜像包
将镜像文件拷贝进服务器中,并在镜像文件目录下加载Docker镜像
#加载镜像文件(需在镜像文件所在目录下)
sudo docker load < ShiMetaPi_RKLinux_SDK_Build_Environment_Docker_V1.0.tar
#查询镜像是否加载成功
sudo docker image ls
2.3 创建并启动容器
创建并启动一个容器,指定容器内运行的用户为 root,并在容器中以交互模式运行一个 Bash 终端
#创建并启动容器,指定容器内运行用户为root
sudo docker run --privileged -it -u root -v $Host_contents:$Docker_contents $ImageID /bin/bash
# $Host_contents:主机目录
# $Docker_contents :映射到 Docker 内的目录
# $ImageID:映射ID
#示例
sudo docker run --privileged -it -u root -v /home/ubuntu/SDK:/home/hjf/SDK docker_h:latest /bin/bash
2.4 补充安装
编译 SDK 前需要更新系统包索引,安装必备工具 binfmt-support 和 qemu-user-static,并启用对ARM64架构的支持,安装live-build,具体指令如下:
#编译前操作指令,需联网操作
sudo apt-get update
sudo apt-get remove live-build
sudo apt-get install binfmt-support qemu-user-static --reinstall
sudo update-binfmts --enable qemu-aarch64
git clone https://salsa.debian.org/live-team/live-build.git --depth 1 -b debian/1%20230131
cd live-build
rm -rf manpages/po/
sudo make install -j8
cd ..