这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 使用Docker容器编译OK3568源代码

共1条 1/1 1 跳转至

使用Docker容器编译OK3568源代码

高工
2025-08-13 21:53:47     打赏

经常编译系统,又免不了搭建各种开发环境,所以为了不对开发主机的环境有影响,使用Docker容器编译代码是比较方便和省心的方式。

编译OK3568的源代码,需要用Ubunut 18.04版本,我的开发机是Debian系统,所以制作了Docker的系统镜像,导入后就能直接使用了

https://tmp.link/f/6530849d96f5e

导入Docker镜像

docker load < rksdkbuilder-v1.1.tar

可以使用docker image命令查看,镜像是否存在

docker images | grep rksdkbuilder
rksdkbuilder                               v1.1                e2fbcddfdb3c        12 months ago       1.93GB

启动Docker容器
这里写了个shell脚本,第一次使用时可以直接执行,创建容器后,只要容器存在就不用再次执行了。

#!/bin/sh

WORKSPACE="/home/i2som/workspace2/OK3568-linux-4.19.206r3/OK3568-linux-source"
CONTAINER_NAME="ok3568-linux419-206r3"
IMAGE="rksdkbuilder:v1.1"
USER=$(whoami)

echo "the user name $USER"

docker run -it -d --restart=always -v $WORKSPACE:/home/$USER/ok3568-linux \
    --volume="/etc/localtime:/etc/localtime:ro" --network host --privileged \
    --env=HOST_UID=$(id -u) --env=HOST_GID=$(id -g) --env=USER=${USER} \
    --name=${CONTAINER_NAME} $IMAGE

这里有两个地方需要注意

  • 容器使用了跟当前host主机一样的用户名,进入后需要切换用户名

  • 映射的目录为普通用户下的ok3568-linux目录

执行上面的脚本后后并不会直接进入容器,所以每次需要进入容器,执行下面命令

docker exec -it ok3568-linux419-206r3 /bin/bash
su i2som

编译过程

cd ~/ok3568-linux
./build.sh

我使用的开发机是6核12线程,内存32GB,编译时基本上cpu核心全部跑满,编译速度也比较快。

因为是把本地的源代码目录映射上去的,所以编译后,在host这边可以看到rockdev下的结果文件,也比较方便。





关键词: Docker     OK3568     编译     容器    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]