RK3566开发板
零. 列表
一.准备SDK包
从泰山派官网的百度云盘中下载SDK包,此包是一个压缩包,使用时需要解压。
二.构建 docker 编译系统
利用docker构建编译系统,可以避免环境配置的繁琐,并且可以方便的移植到其他机器上。
参考: docker 编译系统
1.创建docker镜像
(1)创建Dockerfile
将下面的内容保存为dockerfile文件
bash
# 设置基础镜像为Ubuntu 18.04
FROM ubuntu:18.04
# 设置作者信息
MAINTAINER lckfb "service@lckfb.com"
# 设置环境变量,用于非交互式安装
ENV DEBIAN_FRONTEND=noninteractive
# 备份源列表文件
RUN cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
# 将源列表中的 http://.\*ubuntu.com 替换为 http://repo.huaweicloud.com
RUN sed -i 's@http://.\*ubuntu.com@http://repo.huaweicloud.com@g' /etc/apt/sources.list
# 更新包列表
RUN apt update
# 安装基本的编译工具和依赖
RUN apt install -y build-essential crossbuild-essential-arm64 \
bash-completion vim sudo locales time rsync bc python
# 安装其他依赖包,这里编译android11sdk需要的环境
RUN apt install -y repo git ssh libssl-dev liblz4-tool lib32stdc++6 \
expect patchelf chrpath gawk texinfo diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake \
unzip device-tree-compiler python-pip ncurses-dev python-pyelftools \
subversion asciidoc w3m dblatex graphviz python-matplotlib cpio \
libparse-yapp-perl default-jre patchutils swig expect-dev u-boot-tools
RUN apt install -y bear
# 再次更新包列表并安装任何未安装的依赖
RUN apt update && apt install -y -f
# 生成本地化语言支持
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
# 创建开发板用户
RUN useradd -c 'lckfb user' -m -d /home/lckfb -s /bin/bash lckfb
# sudo免密登录
RUN sed -i -e '/\%sudo/ c \%sudo ALL=(ALL) NOPASSWD: ALL' /etc/sudoers
RUN usermod -a -G sudo lckfb
USER lckfb
# 设置docker工作目录为/home/lckfb
WORKDIR /home/lckfb
#容器使用这个内核方法
#docker run --privileged --mount type=bind,source=/home/LCKFB_RK3566/ROCKCHIP_ANDROID11.0_SDK_RELEASE/ROCKCHIP_ANDROID11.0_SDK_RELEASE,target=/home/lckfb/android11 --name="lckfb_android11_sdk" -h lckfb -it lckfb_android11_sdk_cmp(2)构建镜像
在 Dockerfile 文件的存放目录下,执行构建动作
bash
sudo docker build -t lckfb_android11_sdk_cmp .2.创建构造buildroot系统的容器
bash
sudo docker run --privileged --mount type=bind,source=/home/lujin/MCU/泰山派开发板/【SDK】Linux/sdk,target=/home/lckfb --name="lckfb_buildroot_sdk" -h lckfb -it lckfb_android11_sdk_cmp3.创建构造 debian系统的容器
bash
sudo docker run --privileged --mount type=bind,source=/home/lujin/MCU/泰山派开发板/【SDK】Linux/sdk_debian,target=/home/lckfb --name="lckfb_debian_sdk" -h lckfb -it lckfb_android11_sdk_cmp4.创建构造 android系统的容器
bash
sudo docker run --privileged --mount type=bind,source=/home/lujin/MCU/泰山派开发板/【SDK】Android/sdk_android,target=/home/lckfb --name="lckfb_android_sdk" -h lckfb -it lckfb_android11_sdk_cmp相关的说明: 泰山派编译方法
注意: 如果重新进入容器运行终端,有两种方法:
- 使用
docker attach命令进入容器
bash
sudo docker attach 容器ID在docker中,如果执行exit命令,容器会停止运行. 如果不想在终端关闭后容器退出,请使用Ctrl+p+d命令,这样容器会继续在后台运行.
2. 如果要在容器中开启新的终端进行运行,则使用下面命令.
bash
docker exec -it 容器ID /bin/bash此时退出可以直接使用 exit 命令退出容器.并不影响容器的运行.
三.同步SDK包源码
将 泰山派SDK包 解压到 /home/lujin/MCU/泰山派开发板/【SDK】Linux/sdk 目录中。这个目录是容器中挂载的本地目录。在容器中是可以正常操作这个目录的.
以下的操作全部在docker容器内部执行的。
1. 解压缩sdk数据包
bash
tar -xvzf tspi_linux_sdk_repo_20240131.tar.gz2. 同步代码
bash
sudo apt-get update && sudo apt-get install git repo -y && .repo/repo/repo sync -l -j123. dl库代替
dl库实际上就是buildroot的download目录的内容.因为buildroot在编译时需要下载很多的文件,这些文件一般需要通过github来下载.但是github的下载速度很慢,所以我们需要将这些文件下载到本地,然后在编译时使用本地的文件.
bash
tar -xzvf buildroot_dl_4c7c9df616fb.tar.gz4. 安装编译环境
bash
sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev whiptail- ncurses-dev: 这个是一个图形界面工具包.用于在终端中显示图形界面.(用于配置编译环境)
- whiptail: 这个是一个图形界面工具包.用于在终端中显示图形界面.(用于选择电压值)
5. 板级配置
泰山派SDK板级配置,选3. BoardConfig-rk3566-tspi-v10.mk
bash
./build.sh lunch通过以上操作,其SDK包就是泰山派完整的SDK包源码了.其包中包含了 buildroot系统,Debian系统和Android系统的编译环境.分别位于三个独立的目录中.
6. 编译buildroot系统方法
四.如何在linux环境下烧录镜像
请参考: 烧录镜像
