使用RK Docker环境编译RK 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
要安装docker编译环境,首先需要搭建docker开发编译环境。根据docker官网提供的方法,你可以使用docker官方提供的dockerfile来生成docker编译环境镜像。该dockerfile的镜像名称为dockercore/docker。接下来,你需要安装docker,并在docker容器编译环境编译docker源码。在Ubuntu 14.04系统中,你可以通过命令行安装docker[2]。然后,你可以使用以下命令在docker容器中运行编译环境docker run -i -t --privileged --rm --name docker-dev -v $(pwd):/go/src/github.com/docker/docker dockercore/docker bash 以上是安装docker编译环境的步骤,通过这样的环境你就可以进行docker编译工作了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [docker 开发编译环境搭建](https://blog.csdn.net/warrior_0319/article/details/79621753)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [详解Docker源码编译安装](https://download.csdn.net/download/weixin_38724611/14891969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值