版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

开发环境搭建分服务器直接搭建和Docker编译环境搭建,推荐使用Docker编译!

1  服务器开发环境搭建

1.1 准备开发环境

我们推荐使用 Ubuntu 22.04 或更高版本的系统进行编译。其他的 Linux 版本可能需要对软件包做相应调

...

软件要求:Ubuntu 22.04 或更高版本系统。

1.2 安装库和工具集

使用命令行进行设备开发时,可以通过以下步骤安装编译SDK需要的库和工具。

...

  • python要求安装python 3.6及以上版本,此处以python 3.6为例。
  • make要求安装 make 4.0及以上版本,此处以 make 4.2为例。
  • lz4要求安装 lz4 1.7.3及以上版本。
  • 编译Yocto需要VPN网络,git没有CVE-2022-39253安全检测补丁。

1.2.1 检查和升级主机的python版本

检查和升级主机的python版本方法如下:

  • 检查主机python版本

...

代码块
languageshell
titlebash
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"

1.2.2 检查和升级主机的make版本

检查和升级主机的make版本方法如下:

  • 检查主机make版本

...

代码块
languageshell
titlebash
$ 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

1.2.3 检查和升级主机的lz4版本

检查和升级主机的lz4版本方法如下:

  • 检查主机lz4版本

...

代码块
languageshell
titlebash
git clone https://gitee.com/mirrors/LZ4_old1.git
cd LZ4_old1
make
sudo make install
sudo install -m 0755 lz4 /usr/bin/lz4

1.2.4 检查和升级主机的git版本

  • 检查主机git版本
代码块
languageshell
titlebash
$ git -v
git version 2.38.0

...

代码块
languageshell
titlebash
$ sudo apt update && sudo apt install -y libcurl4-gnutls-dev
git clone https://gitee.com/mirrors/git.git --depth 1 -b v2.38.0
cd git
make git -j8
make install
sudo install -m 0755 git /usr/bin/git

2. Docker编译环境搭建

2.1 系统环境说明

  • Docker 版本要求:10.10 或更高版本
  • Docker Compose:推荐使用 Docker Compose V2
  • 容器资源分配:确保为 Docker 分配足够的系统资源(CPU、内存)

注意:确保您的设备已经安装了Docker程序

 操作系统

操作系统

最低内存要求

推荐内存配置

Linux(非图形化环境)

16GB

32GB 或更高

2.2  在SDK根目录构建Dockerfile镜像

代码块
languageshell
titlebash
mkdir -p docker
cat > docker/Dockerfile << EOF
# Use ubuntu base
FROM ubuntu:22.04 

# Prevent dpkg interactive dialogues
ENV DEBIAN_FRONTEND=noninteractive

# Install required packages
RUN apt-get update && apt-get install -y \
    bc \
    binfmt-support \
    bison \
    build-essential \
    cpio \
    debootstrap \
    debhelper \
    device-tree-compiler \
    dosfstools \
    fakeroot \
    fdisk \
    flex \
    gcc-aarch64-linux-gnu \
    git-lfs \
    kmod \
    libssl-dev \
    parted \
    python-is-python3 \
    python2 \
    python3 \
    qemu-efi \
    qemu-system-arm \
    qemu-user-static \
    rsync \
    u-boot-tools \
    udev \
    uuid-runtime \
    xz-utils \
    libelf-dev \
    dwarves \
    && rm -rf /var/lib/apt/lists/*

# Set the working directory
WORKDIR /opt
EOF

2.2 构建编译脚本

代码块
languageshell
titlebash
cat > docker_build.sh << EOF
#!/bin/bash -e

#Configure operational parameters
DOCKER="docker run --privileged --network=host --rm -it \
    --user $(id -u):$(id -g) \
    -v \"$(pwd)\":/opt ubuntu-rockchip-build /bin/bash"

echo "Docker run build.sh!!!!"
docker build -t ubuntu-rockchip-build docker
eval "${DOCKER}" ./build.sh "$1" "$2" "$3"
EOF

3.3 Docker编译方法

同rockchip正常的编译方法,如:

代码块
languageshell
titlebash
#正常编译方法
./build.sh kernel
#Docker编译方法
./docker_build.sh kernel

...