[智能AI摄像头]使用docker搭建RV1126开发环境

news2025/1/11 10:17:23

创建ubuntu docker

创建dockerfile

# 设置基础镜像为Ubuntu 18.04

FROM ubuntu:20.04

# 设置作者信息

MAINTAINER warren "2016426377@qq.com"

# 设置环境变量,用于非交互式安装

ENV DEBIAN_FRONTEND=noninteractive

# 备份源列表文件

RUN cp -a /etc/apt/sources.list /etc/apt/sources.list.bak

# 将源列表中的 http://.*ubuntu.com 替换为 http://repo.huaweicloud.com

RUN sed -i 's@http://.*ubuntu.com@http://repo.huaweicloud.com@g' /etc/apt/sources.list

# 更新包列表

RUN apt update

# 安装基本的编译工具和依赖

RUN apt install -y build-essential crossbuild-essential-arm64 \

bash-completion vim sudo locales time rsync bc python

# 安装其他依赖包,这里编译android11sdk需要的环境

RUN apt install -y device-tree-compiler git-core u-boot-tools mtools parted libudev-dev \

libusb-1.0-0-dev autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev \

curl sed make binutils build-essential gcc g++ bash patch gzip gawk bzip2 \

perl tar cpio python unzip rsync file bc wget libncurses5 libglib2.0-dev \

libgtk2.0-dev libglade2-dev cvs git mercurial openssh-client subversion \

asciidoc w3m dblatex graphviz  libssl-dev expect fakeroot cmake \

flex bison liblz4-tool libtool keychain net-tools adb lib32gcc-7-dev g++-7 \

libstdc++-7-dev libncurses5-dev libncursesw5-dev openssh-server

RUN apt install -y bear

# 再次更新包列表并安装任何未安装的依赖

RUN apt update && apt install -y -f

# 生成本地化语言支持

RUN locale-gen en_US.UTF-8

ENV LANG en_US.UTF-8

# 创建开发板用户

RUN useradd -c 'warren user' -m -d /home/warren -s /bin/bash warren

# sudo免密登录

RUN sed -i -e '/\%sudo/ c \%sudo ALL=(ALL) NOPASSWD: ALL' /etc/sudoers

RUN usermod -a -G sudo warren

USER warren

#设置docker工作目录为/home/lckfb

WORKDIR /home/warren

#容器使用这个内核方法

#docker run --privileged --mount

#type=bind,

#source=/home/LCKFB_RK3566/ROCKCHIP_ANDROID11.0_SDK_RELEASE/ROCKCHIP_ANDROID11.0_SDK_RELEASE,

#target=/home/lckfb/android11 --name="lckfb_android11_sdk" -h lckfb -it lckfb_android11_sdk_cmp

 

创建镜像

docker build -t rv1126_sdk .

创建容器

sudo docker run --privileged --mount type=bind, \
source=/home/warren/00-Learning/rv1126,target=/home/warren/ --name="rv1126_sdk" -h warren -it rv1126

解压sdk包

参考手册 Rockchip_Developer_Guide_Linux_Software_CN

.build.sh lunch 选择板级BoardConfig-38x38-spinand.mk

source envsetup.sh 选择rockchip_rv1126_rv1109_spi_nand

SDK结构

编译sdk

./build.sh 编译所有并打包

编译成功后在rockdev中生成打包的镜像update.img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1709040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

洗地机哪个牌子清洁效果好?十大公认最好的洗地机品牌

在快节奏的现代生活中,洗地机以其吸尘、拖地和洗地三合一的功能,极大地简化了家庭清洁工作,已成为家庭清洁的得力助手。它不仅能缩短清洁时间,节省体力,还能提升清洁效果。作为资深的居家测评家,关于洗地机…

5W 3KVAC隔离 宽电压输入 AC/DC 电源模块,广泛用于工控和电力仪器、仪表、智能家居等相关行业——TP05AL系列

TP05AL系列产品是一款经济型开板式开关电源,输出功率为5W,具有可靠性高、小体积、性价比高等特点,广泛用于工控和电力仪器、仪表、智能家居等相关行业。 产品特性: 输出,输入特性 :

Python基于PyQt6制作GUI界面——多选框

QCheckBox 是 PyQt6 中的一个复选框控件&#xff0c;它允许用户通过单击来选择或取消选择某个选项。与 QRadioButton 不同&#xff0c;QCheckBox 控件并不互斥&#xff0c;这意味着用户可以同时选择多个 QCheckBox。示例对应的制作的 ui文件 界面如下所示。 <?xml version…

VSCode自动生成代码片段

1. 代码片段配置入口 输入&#xff1a;snipp 选择 Configure User Snippets 然后再选择 New Global Snippets file 输入 新建文件名称&#xff0c;然后按回车键。 2. 编辑代码模板 文件头和函数头模板&#xff1a; {"FileHeader":{"scope": "…

工作纪实50-Idea下载项目乱码

下载了公司的一份项目代码&#xff0c;发现是gbk格式的&#xff0c;但是我的日常习惯又是utf-8&#xff0c;下载项目以后全是乱码&#xff0c;一脸懵 借用网友的一张图&#xff0c;如果是一个一个文件这么搞&#xff0c;真的是费劲&#xff0c;好几百个文件&#xff01; 步骤…

React@16.x(11)ref

目录 1&#xff0c;介绍1.1&#xff0c;得到的结果 2&#xff0c;参数类型2.1&#xff0c;字符串&#xff08;不再推荐&#xff09;2.2&#xff0c;对象2.3&#xff0c;函数函数调用时机 3&#xff0c;注意点 1&#xff0c;介绍 reference 引用。和 vue 中的 refs 类似&#x…

【软考】下篇 第12章 信息系统架构设计理论与实践

目录 一、信息系统架构的定义二、信息系统架构风格三、信息系统架构分类四、信息系统常用的4种架构模型&#xff08;SCSB&#xff09;五、企业信息系统的总体框架ISA六、TOGAF & ADM七、信息化总体架构方法信息化六要素信息化架构模式信息系统生命周期&#xff08;规分设实…

AI绘画Stable Diffusion【ControlNet】:使用InstantID插件实现人物角色一致性

大家好&#xff0c;我是阿威。 今天我们介绍一下InstantID。它能够实现在保持高保真度身份保留的同时&#xff0c;仅使用单张面部图像参考就可以实现个性化图像合成&#xff0c;并且支持各种不同的风格。 今天我们就来看看在Stable Diffusion的ControlNet插件中InstantID模型…

国产性能怪兽——香橙派AI Pro(8T)上手体验报告以及性能评测

目录 1、引言2、性能参数3、开箱体验4、实际使用5、性能比较总结参考文章 1、引言 第一次接触香橙派的开发板&#xff0c;之前使用过Arduino、树莓派3B、树莓派4B&#xff0c;STM32&#xff0c;51单片机&#xff0c;没有想到国产品牌性能一样强劲&#xff0c;使用起来也是很方便…

[SWPUCTF 2022 新生赛]奇妙的MD5... ...

目录 [SWPUCTF 2022 新生赛]奇妙的MD5 [GDOUCTF 2023]受不了一点 [LitCTF 2023]作业管理系统 注入点一&#xff1a;文件上传 注入点二&#xff1a;创建文件直接写一句话木马 注入点三&#xff1a;获取数据库备份文件 [LitCTF 2023]1zjs [SWPUCTF 2022 新生赛]奇妙的MD5 …

欧科云链:Web3.0时代 具备链上数据分析能力的公司愈发凸显其价值

在当今激烈的市场竞争中&#xff0c;新兴互联网领域迅速崛起&#xff0c;Web2.0已相对成熟&#xff0c;用户创造数据&#xff0c;但不拥有数据。被视为新的价值互联网的Web3.0&#xff0c;赋予用户真正的数据自主权&#xff0c;它的到来被认为是打破Web2.0垄断的机遇。 在Web3…

寒冬来了,字节跳动开启裁员新模式。。

大家好&#xff0c;我是白露啊。 不得不说&#xff0c;字节跳动还是真的会搞事啊。 最近一段时间&#xff0c;字节搞出了一个裁员新模式&#xff1a;“细水长流”。这个寓意和“财&#xff08;裁&#xff09;源&#xff08;员&#xff09;广进”计划差不多了&#xff0c;只不…

YOLOv10:实时端到端目标检测

Ao Wang Hui Chen∗  Lihao Liu Kai Chen Zijia Lin  Jungong Han Guiguang Ding Tsinghua University Corresponding Author. 文献来源&#xff1a;中英文对照阅读 摘要 在过去的几年里&#xff0c;YOLO 因其在计算成本和检测性能之间的有效平衡而成为实时目标检测领…

Java | Leetcode Java题解之第101题对称二叉树

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode u, TreeNode v) {Queue<TreeNode> q new LinkedList<TreeNode>();q.offer(u);q.offer(v);while (!q.…

SpringBoot使用redis结合mysql数据库(黑名单)渲染商品详情界面

目录 一、界面效果 二、前端代码 三、后端代码&#xff08;redisblacklist&#xff09; 3.1 ProducatController 3.2 ProductService 3.3 ProductDao 3.4 映射文件 一、界面效果 二、前端代码 商品详情前端代码 <template><van-nav-bartitle"商品详情&quo…

ubuntu24.04LVM扩容问题

目录 一、 开机前设置&#xff1a;扩展 二、 开机后设置&#xff1a;分区管理 通过gparted管理分区有效做法。 一、 开机前设置&#xff1a;扩展 虚拟机关机。打开虚拟机设置。 挂起状态是不能扩容的 这里选择扩容到40G 二、 开机后设置&#xff1a;分区管理 使用gpar…

md5强弱碰撞

一&#xff0c;类型。 1.弱比较 php中的""和""在进行比较时&#xff0c;数字和字符串比较或者涉及到数字内容的字符串&#xff0c;则字符串会被转换为数值并且比较按照数值来进行。按照此理&#xff0c;我们可以上传md5编码后是0e的字符串&#xff0c;在…

拉格朗日插值及牛顿差商方法的实现(Matlab)

一、问题描述 拉格朗日插值及牛顿差商方法的实现。 二、实验目的 掌握拉格朗日插值和牛顿差商方法的原理&#xff0c;能够编写代码实现两种方法&#xff1b;能够分析多项式插值中的误差。 三、实验内容及要求 利用拉格朗日插值及牛顿差商方法估计1980 年的人口&#xff0c;并…

Docker 基础使用 (1)

文章目录 Docker 软件安装Docker 镜像仓库Docker 仓库指令Docker 镜像指令Docker 容器指令Docker 使用实例 —— 搭建 nginx 服务nginx 概念nginx 使用用 docker 启动 nginx 侧重对docker基本使用的概览。 Docker 软件安装 Linux Ubuntu 依次执行以下指令即可 # 更新软件包列…

Java | Leetcode Java题解之第102题二叉树的层序遍历

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> levelOrder(TreeNode root) {Queue<TreeNode> queue new LinkedList<>();List<List<Integer>> res new ArrayList<>();if (root ! null) queue.a…