开发环境一键部署 | 如何搭建Docker环境编译ARM程序?

描述

智能化科技领域,嵌入式系统开发占据着极为重要的地位。瑞迅科技RK3568、RK3588主板及核心板以其卓越的性能,为众多应用场景赋能。基于 Linux 系统搭建其开发环境,为用户开启高效开发的大门。


 

Q

痛点:环境搭建为何如此关键?

嵌入式Linux开发,环境是地基。传统方式下,开发者往往需要:

四处搜寻匹配的工具链版本

手动配置复杂的编译参数

多次反复适配环境

耗费数日搭建基础环境

编译环境与运行环境差异... ...

A


 

瑞迅标准化开发环境一键部署


 

某项目为保证编译环境和运行环境一致以及解决依赖相关的问题,常规方式有将主板上的ubuntu 系统在宿主机上通过chroot后进行编译,也有开发编译直接放在主板上等。今天我们重点介绍在宿主机上通过docker方式加载烧入主板的ubuntu,来构建编译系统。


 

1. 通过瑞迅 sdk 编译出来rk3588 ubuntu22.04文件系统,将binary 文件系系统压缩成binary.tar.bz2

ARM


 

2. 在装有docker的宿主机环境下,用过以下命令加载本地镜像

sudo cat binary.tar.gz  |sudo docker import -  rk3588_ubuntu:22.04

ARM


 

3. 加载成功后,查看镜像是否存在

 sudo docker images 

ARM


 

4. 运行镜像,并且将宿主机中的/home/kcy15/ubuntu_dockerimage/code_src挂载到容器中home/linaro/code_src

sudo docker run -it  -v /home/kcy15/ubuntu_

dockerimage/code_src:/home/linaro/code_src    5a426e76d5fb  /bin/bash

ARM


 

5. 在docker容器内安装编译所需的环境

ARM


 

6. 若安装build-essential出现以下错误则直接创建

mkdir -p /var/cache/apt/archives/partial

ARM


 

继续安装,成功后,查看gcc版本

ARM


 

7. 保存镜像,注意安装后不要退出容器,另开一终端将当前容器环境保存,比如目前安装环境运行容器ID 5edec48deb29

通过sudo docker commit    5edec48deb29 rk3588_ubuntu_v0.1保存环境,保存后就可以退出通过docker的  IMAGE ID拉起来的终端。

后期通过 sudo docker start 5edec48deb29 打开容器,后期编译可以进入环境

ARM


 

8.编译测试

进入容器编译helloworld

ARM


 

在容器运行helloworld

ARM


 

在宿主机中将容器中编译出来的可执行文件拷贝到同样环境的rk3588中

ARM


 

在rk3588 中运行可执行文件

ARM


 

9.镜像复用

为方便使用,可以将docker 镜像保存本地 或者通过docker push到docker 服务器直接拉取

ARM

将本地保存的镜像,复制到其他服务器中,通过以下方式本地加载镜像

sudo docker load --input rk3588_ubuntu_v0.1.tar

ARM


 

删除本地镜像 

sudo docker rmi -f 44a8c59b86d6

ARM


 


 

#瑞迅科技# 不止提供硬核的RK3588 /RK3568等平台核心板、主板、触控一体机,更致力于打造开箱即用的开发者体验。简化底层配置,释放创新能量——嵌入式开发的正确打开方式!助力客户高效实现产品创新与落地。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分