Docker搭建RK3568开发环境

news/2024/7/6 1:26:10 标签: docker, rk3568

推荐:Ubuntu 20.04 版本

Docker加速

# 编辑 Docker 配置文件
$ sudo vim /etc/docker/daemon.json

# 加入以下配置项
{
    "registry-mirrors": [
        "https://dockerproxy.com",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://ccr.ccs.tencentyun.com"
    ]
}


# 重启docker
$ sudo service docker restart

Docker容器创建

# 拉取Ubuntu镜像
docker pull ubuntu:20.04

# 关联源码目录并启动Docker,挂载使用绝对路径
cd ~/Source/04-RK3568/02-Projects/SDK_RK3568_Linux_ATK
sudo docker run -it  -v ${PWD}:${PWD} --name Ubuntu20_RK3568 ubuntu:20.04

# 环境依赖
apt-get update
apt-get install -y curl python2.7 python-pyelftools git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler python3-pip libncurses-dev python3-pyelftools vim mtd-utils

# Docker 补充
apt install -y bc

# 检出
cd /home/gaoyang3513/Source/04-RK3568/02-Projects/SDK_RK3568_Linux_ATK
.repo/repo/repo sync -l -j10

Python版本切换

# 添加
update-alternatives --install /usr/bin/python python /usr/bin/python2 100
update-alternatives --install /usr/bin/python python /usr/bin/python3 150

# 切换
sudo update-alternatives --config python

Repo工具

mkdir ~/bin
export PATH=~/bin:$PATH

# 下载
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
chmod a+x ~/bin/repo

Git

git config --global user.name "gaoyang3513"
git config --global user.email "gaoyang3513@163.com"

git config --global core.editor vim

开发

编译

./build.sh lunch

# 目标
3. BoardConfig-rk3568-atk-evb1-ddr4-v10.mk

在编译根文件系统的过程中会通过网络下载很多的第三方库文件;首先,下载过程会占用很多时间导致编译时间拉长;其次,如果用户的网络环境不稳定或者第三方库文件的下载源发生变更,很容易导致下载失败,进而导致根文件系统编译出错;所以,为了加快根文件系统的编译过程、也为了降低编译根文件系统时出现问题的概率, 我们可以预先把编译根文件系统所需的第三方库文件拷贝到 SDK 中。

在容器外执行

sudo tar -xzf ../../01-Resource/Alientek_RK3568/Disk_B/02-ATK-DLRK3568_SDK/linux_sdk/dl.tgz -C ./buildroot/

编译

./build.sh all

问题

技巧

# 新开
sudo docker exec -it Ubuntu20_RK3568 /bin/bash

http://www.niftyadmin.cn/n/5009926.html

相关文章

Android11编译第四弹:证书和资源内置

问题:我们智能货柜,终端与云端采用的是MQTT通信,为了更加安全,需要采用HTTPS进行通信。这样,中断需要内置证书。这就需要实现ROM中内置资源,将资源打包到系统中。 一、什么是内置资源 内置资源&#xff0…

探索数据库管理的利器 - PHPMyAdmin

有一个项目,后端由博主独自负责,最近需要将项目交接给另一位同事。在项目初期,博主直接在数据库中使用工具创建了相关表格,并在完成后利用PhpMyAdmin生成了一份数据字典,供团队使用。然而,在随后的开发过程…

数据结构与算法学习(day2)——冒泡排序

文章目录 前言冒泡排序题目题目一题目二 小结 前言 (1)在本章的学习此前,需要复习前一章的内容,动手敲一遍代码解题。 (2)经过上一章的操练以后,大家应该体会到了,简化版桶排序所要申…

模型压缩-对模型结构进行优化

模型压缩-对模型结构进行优化 概述 模型压缩通常都是对推断过程而言,训练过程的计算代价通常不考虑,因为GPU可以快速完成任意复杂度模型的训练对于推断过程来说,模型应用才是对于速度敏感的场景多数情况下 希望使用尽可能少的能耗完成京可能…

linux之perf(3)top实时性能

Linux之perf(3)top实时性能 Author:Onceday Date:2023年9月3日 漫漫长路,才刚刚开始… 注:该文档内容采用了GPT4.0生成的回答,部分文本准确率可能存在问题。 参考文档: Tutorial - Perf Wiki (kernel.org)perf-to…

Mysql更新时间列只改日期为指定日期不更改时间

场景 Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间: Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间_霸道流氓气质的博客-CSDN博客 上面通过如下方式实现日期列增加指定天数。 UPDATE bus…

静态函数(static)-> static 与 const

一.静态函数 静态函数(Static Function)是指在C中使用static关键字声明的函数。它们与普通成员函数和全局函数不同,具有以下特点: 作用域限制:静态函数在类的作用域内,但它们不依赖于类的实例,…

Redis监控工具_RedisLive

Redis监控工具_RedisLive Redis安装请看: MacBook安装Redis redis集群搭建_亲自操作 RedisLive安装 RedisLive是由python编写的并且开源的图形化监控工具,非常轻量级,核心服务部分只包含一个web服务和一个基于redis自带的info命令以及monitor命令的…