当前位置: 首页 > news >正文

使用RK Docker环境编译RK SDK

文章目录

  • 前言
  • Docker介绍
  • 实验环境
  • 获取RK Docker镜像
  • 加载RK Docker镜像
  • 使用RK Docker环境编译SDK
  • 其它

前言

作为一名嵌入式Linux的学习者,目前编译各种平台,用的都是同一个编译机(Ubuntu虚拟机)。之前一直在折腾全志,所以对于全志的SoC来说,编译环境都大差不差。最近刚开始接触瑞芯微,拿到SDK后,尝试着编译,果然报错了,那就借着这次机会,接触一下曾经有所耳闻的Docker。

Docker介绍

通俗的理解,别人可以把一个已经搭建好的环境打包成一个Docker镜像,然后公开在互联网,大家可以去下载使用。当我们拿到一个Docker镜像后,就可以在自己的主机上一键部署,同时部署后的Docker环境不会污染主机。这就免去了自己搭环境的时间,提高验证效率。

实验环境

硬件:野火鲁班猫1(RK3566)
软件:瑞芯微原厂RK356x SDK
编译机:Ubuntu18.04

获取RK Docker镜像

瑞芯微提供的下载链接:https://meta.zbox.filez.com/v/link/view/f63485fe59cf4ef3b8c3abf4f0f527d4
下载后拷贝到编译机上:
image.png
也可以通过Dockerfile构建RK Docker镜像,这里未验证,忽略。

加载RK Docker镜像

任意位置执行如下命令加载镜像:

sudo docker load -i linux_gen_sdk_docker_image_for_compilation_v1.0.0_20230925.tar

加载完成后,执行如下命令查看镜像加载情况:

sudo docker images

image.png

使用RK Docker环境编译SDK

创建一个文件夹用于映射SDK:

mkdir rk_docker

启动Docker镜像:

sudo docker run --privileged -it -u rk -v /home/book/platform/rk356x/lubancat1/rk3566_sdk:/home/book/platform/rk356x/lubancat1/rk_docker docker_rk:latest /bin/bash
  • docker run:这是Docker用于创建并启动新容器的命令
  • --privileged:这个标志会给容器内的进程几乎和宿主机一样的权限
  • -it:这是两个选项的组合。-i(或--interactive)保持容器的标准输入(STDIN)开放,即使没有附加到任何东西上也是如此。-t(或--tty)分配一个伪终端或终端,这通常用于交互式容器
  • -u rk:这个选项指定了容器内进程的运行用户为rk
  • /home/book/platform/rk356x/lubancat1/rk3566_sdk:/home/book/platform/rk356x/lubancat1/rk_docker:这个选项用于挂载宿主机的目录到容器内。它将宿主机的/home/book/platform/rk356x/lubancat1/rk3566_sdk目录挂载到容器的/home/book/platform/rk356x/lubancat1/rk_docker目录
  • docker_rk:latest:这是你要运行的Docker镜像的名称和标签
  • /bin/bash:这是容器启动后要执行的命令

启动Docker镜像成功后,会进入到Docker容器的Bash shell:
image.png
进入刚刚创建的文件夹rk_docker,因为该文件夹已经映射了SDK目录:
image.png
编译:

sudo ./build.sh lunch
sudo ./build.sh

其它

退出Docker容器:

exit
http://www.lryc.cn/news/417188.html

相关文章:

  • 免费【2024】springboot 付费自习室管理系统的设计与实现
  • 【学习方法】高效学习因素 ② ( 学习动机 | 内在学习动机 | 外在学习动机 | 外在学习动机的调整方向 | 保护学习兴趣 | 高考竞争分析 )
  • 【学习笔记】A2X通信的协议(四)- A2X PC5通信(二)
  • 注意!!可能这是《网络管理员》旧教程最后一次考试,赶紧学起来
  • array postgre gsql 剔除
  • 【Matlab】零阶保持法:连续状态空间方程(含噪声,非线性)离散化处理方法
  • web自动化6-pytest⑦一些基本情况
  • apache 漏洞
  • 简单的docker学习 第11章 镜像中心
  • PostgreSQL 15 使用物理复制槽 实现主从
  • C# 中引用类型的探讨
  • 技术分享| 前端性能优化——虚拟滚动(Virtual Scroll)
  • Flink 实时数仓(四)【DWD 层搭建(二)流量域事实表】
  • Go 1.19.4 接口-Day 10
  • 智能编程新纪元:腾讯AI代码助手的高效编程体验
  • 使用snap安装docker配置阿里云镜像加速
  • 安全编程的代码示例
  • 【实现100个unity特效之15】最简单的方法使用shader graphs实现2d非像素和像素树叶草的随风摇摆效果
  • Vue3+TS+element plus实现一个简单列表页面
  • Go语言中gin+gorm开发前端端分离博客时遇到的问题,gorm执行查询时如何选中特定字段?
  • 计算机网络11——数据库语法2
  • 华为USG6000E-S12防火墙Key exchange failed.无法SSH解决方案
  • matlab基础操作(五)
  • 力扣 两数之和
  • Django 实现连续请求
  • 前端(react)框架nextjs
  • 深耕编程语言18年,对话 Rust、TypeScript、Nushell 核心贡献者 Sophia Turner | Open AGI Forum
  • 深度学习--图像分割UNet介绍及代码分析
  • 接了一个2000块的小活,大家进来看看值不值,附源码
  • 基于MindFormers实现GPT2模型的推理