• 自动秒收录
  • 软件:1973
  • 资讯:57811|
  • 收录网站:279872|

IT精英团

如何在Ubuntu中保留文件系统并备份当前开发板镜像

如何在Ubuntu中保留文件系统并备份当前开发板镜像

浏览次数:
评论次数:
编辑: 阳煦
信息来源: ITPUB
更新日期: 2022-09-20 00:47:09
摘要

在Ubuntu保留文件系统或者说备份当前开发板镜像的需求在不断增加。比如Ubuntu文件系统需要安装库文件的话直接使用apt-get工具就可以下载,但由于需要下载的核心板较多,比较费时间,这时需要将安

  • 正文开始
  • 相关阅读
  • 推荐作品

在Ubuntu中保留文件系统或者备份当前开发板镜像的需求越来越大。

比如Ubuntu文件系统需要安装库文件,可以使用apt-get工具直接下载。但是因为要下载的核心板很多,需要时间。这时候就需要把文件系统和安装的库打包,或者做一个新的镜像烧录到其他核心板上。如果库的源代码交叉编译后放入文件系统的源代码,那么重新打包一个镜像就比较麻烦,交叉编译过程中可能会出现一些问题。

今天凌飞边肖通过OK3399-C开发板为工程师朋友们介绍了上述问题的相应解决方案。

1解决思路

基于Linux下一切都是文件的思想,开发板启动后进行的一系列操作都会以文件的形式留在文件系统中,而采用RK3399处理器的Ubuntu系统提供了一个文件系统镜像ubuntu.img来编译生成update.img

所以我们需要一个方法,让OK3399-C开发板中的文件系统和ubuntu.img中的内容保持一致,这样编译出来的update.img就包含了当前开发板中配置的环境,方便备份或者批量部署。

2个解决方案

其实凌飞嵌入式官方论坛知识库之前已经公布了两个可实现的解决方案,这里就不赘述了,只是简单说明一下:

1.请选择PC进入论坛:http://bbs.witech.com.cn/portal.php? mod=view aid=530

这个方法是将ubuntu.img文件复制到开发板,通过mount命令挂载,复制当前开发板的内容,然后将ubuntu.img转移到开发环境进行编译。这种方法最简单粗暴,容易理解,但容易因为操作者的疏忽造成复制不完整。

2.方法:(在开发环境模拟开发板挂载ubuntu.img)请选择PC进入论坛:http://bbs.witech.com.cn/portal.php? mod=view aid=605

这种方法是在模拟开发板环境的开发环境中直接apt-get ubuntu . img文件,可以类比理解为:在PC端的VM虚拟机中运行Ubuntu系统。

在ubuntu的qemu虚拟机中运行ubuntu.img系统是符合逻辑的,操作起来也很简单,但是需要在qemu中再次执行验证过的操作。如果开发周期长,开发板中安装的一些库文件可能不会安装在qemu中,从而导致问题。

方法:通过rsync同步两个文件系统的内容,做到实时更新同步。本文将重点介绍和实践第三种方法。

rsync的目的是实现本地主机和远程主机之间的文件同步(包括本地推送到远程和远程拉送到本地两种同步方式)。

本文以OK3399-C开发板和PC上的Ubuntu虚拟机为例,将开发板上安装的cutecom(Ubuntu可视化串行调试工具)同步到Ubuntu的3399-desktop-release/rootfs/Ubuntu . img中。

Ubuntu开发环境IP: 172.16.0.167 OK 3399-C开发板IP: 172.16.0.168保证双方都能ping百度。

开发环境操作

1.为开发环境设置root密码,使用命令:passwd root;2.修改/etc/ssh/sshd_config文件以添加ssh远程登录权限。使用命令:sudovi/etc/ssh/sshd _ config;添加后,效果如下:

完工后效应

3.使用以下命令重新启动sshd服务:service sshd restart;4.在源代码中挂载ubuntu.img。建议将其挂载到同一目录的目标目录中。使用OK3399-desktop-release/rootfs目录下的命令:sudo mount ubunt . img ./target;

开发板操作

1.更新下载源并执行命令:sudo apt-get update;2.下载rsync服务并执行命令:sudo apt-get install rsync;3.如果文件系统已经更改,请跳过此项。本文没有做任何改动,我们将下载cutecom进行测试,执行命令:sudo apt-get install cute com;

4.同步开发板文件系统。

到开发环境中的文件系统中开发环境文件系统路径如下:/home/forlinx/3399/OK3399-desktop-release/rootfs/target;开发板执行命令:rsync -avx / \ root@172.16.0.167:/home/forlinx/3399/OK3399-desktop-release/rootfs/target;
执行命令

首次执行需要手动填写yes,记录成功后,以后就只需要输入开发环境的root用户密码;5、在开发环境查看,是否存在cutecom,结果如下图:
结果

到此,在OK3399-C开发板安装的cutecom已经同步到开发环境的ubuntu.img中。
接下来,在开发环境执行编译脚本烧写到OK3399-C开发板进行验证,将ubuntu.img文件卸载,执行命令:sudo umount target。
回到OK3399-desktop-release目录执行编译脚本 ./build_ubuntu.sh 生成update.img后通过OTG烧写到开发板验证cutecom是否存在即可。
6、验证结果,cutecom存在且可正常执行。结果如下图所示:
验证结果

验证结果


以上就是小编为大家整理的在OK3399-C开发板上运行Ubuntu系统时保留文件系统的操作方法,希望能够对大家有所帮助!
国产核心板全志T507助力消防系统升级
« 上一篇 2022-09-20
  • 国产核心板全志T507助力消防系统升级
    0阅读 0条评论 个赞
    9月16日下午,位于湖南长沙市区内的中国电信大楼发生火灾,建筑高度218米,现场浓烟滚滚,数十层楼体燃烧剧烈。消防救援人员赶到现场后很快将火势控制住,目前大楼火势已被扑灭,所幸未发现人员伤亡。湖南电信……
  • 教大家如何处理Spring Boot易流中的用户和群体!
    0阅读 0条评论 个赞
    1.准备工作2.用户操作2.1添加用户2.2修改用户2.3删除用户2.4查询用户3.组操作3.1添加组3.2修改组3.3删除组3.4查询组4.查看表详情虽然说我们在实际开发中,……
  • 从PG15开始WAL压缩优化
    0阅读 0条评论 个赞
    PG15传闻中的超级令人激动的功能大多数跳票了,年初我也写过一个关于PG15新功能跳票的文章。PG15BETA已经发出几个月了,似乎PG15里令人激动人心的功能不多,不过从长长的新功能列表里,……
  • 深入了解美团叶子发射器开源方案
    0阅读 0条评论 个赞
    大家好,我是树哥。之前我们有聊过「如何设计一个分布式ID发号器」,其中有讲过4种解决方案,分别是:UUID类雪花算法数据库自增主键Redis原子自增美团以第2、3种解决方案为基础,开发出……
  • 内存泄漏——原因、避免和位置
    0阅读 0条评论 个赞
    .css-1yuhvjn{margin-top:16px;}.css-3jt6os.FileLinkCard{-webkit-align-items:center;-webkit-box-align……
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
  • 新一代网络请求库:python-httpx库
    0阅读 0条评论 个赞
    目录httpx库一、概述1、简介2、命令行模式3、快速开始3.1get请求3.2post请求3.2.1表单3.2.2文件3.2.3JSON3.2.4二进制3.3响应处理3.4流……
  • 如何优雅地转换Bean对象
    0阅读 0条评论 个赞
    背景我们的故事要从一个风和日丽的下午开始说起!这天,外包韩在位置上写代码~外包韩根据如下定义PO(persistantobject):持久化对象,可以看成是与数据库中的表相映射的java对象。最……
  • 基于 网络6的轻量级Webapi框架紧固点
    0阅读 0条评论 个赞
    大家好,我是等天黑。FastEndpoints是一个基于.NET6开发的开源webapi框架,它可以很好地替代.NETMinimalAPIs和MVC,专门为开发效率而生,带来了全……
  • 全网最全Linux命令汇总!(史上最全 推荐收藏)
    7阅读 0条评论 个赞
    今天,给小伙伴们带来一篇史上最全Linux命令总结的文章,命令有点多,建议小伙伴们先收藏后阅读。好了,我们开始今天的正文。列出目录内容ls-a:显示所有文件(包括隐藏文件);ls-l:显示详细……
  • Java接口自动测试框架系列(1)自动测试框架
    0阅读 0条评论 个赞
    一、什么是自动化测试自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例一步步执行测试,得到实际结果与期望结果的比较。为了节省人力、……
  • 与docker卷一起安装的注意事项
    0阅读 0条评论 个赞
    目录Content使用数据卷(volume)使用挂载点(共享宿主目录,bindmount)目录兼容性可移植性目录替代相关指定位置--volume与--mount区别镜像保存docker-compos……
  • web端pdf编辑能力的设计与实践
    0阅读 0条评论 个赞
    本期作者顾伊凡哔哩哔哩资深开发工程师2021年加入B站,负责UP主创作激励、收益中心、电子签约平台前端建设。本文将从业务场景与技术实现等角度对“web端pdf编辑能力”进行基本的介绍。01背景B站电……
  • Python自学教程7:字典类型有什么用
    0阅读 0条评论 个赞
    字典是Python中的一个重要操作,如果字典玩得顺,很多其他的数据类型就可以一通百通。Python字典的定义字典使用一对大括号进行定义,键值对之间使用逗号隔开,键和值使用冒号分隔。键必须是不可变类型,……
  • SQL Server 2005分区模板和实例
    0阅读 0条评论 个赞
    一、场景这一段时间使用SQLServer2005对几个系统进行表分区,这几个系统都有一些特点,比如数据库某张表持续增长,给数据库带来了很大的压力。现在假如提供一台新的服务器,那么我们应该如何规划……
  • sql server索引I摘要
    0阅读 0条评论 个赞
    一、存储结构在SQLServer中,有许多不同的可用排列规则选项。二进制:按字符的数字表示形式排序(ASCII码中,用数字32表示空格,用68表示字母"D")。因为所有内容都表示为数字,所以……
  • 公司排班系统遇到瓶颈?我自己造一个!
    10阅读 0条评论 个赞
    本期名人堂我们有幸邀请到了白鲸开源的联合创始人代立冬先生。代立冬先生与我们分享了自己社区开源的经历,详细介绍了一个开源项目是如何加入Apache孵化器,如何在导师的辅导下慢慢孵化、成长的过程,以及自己……
  • springboot集成docsify实现可移植文档
    0阅读 0条评论 个赞
    需求分析文档可以和项目一起进行版本管理文档可以在线访问文档可以与springboot项目集成,不需要分开部署MarkDown支持文档跟随,打包jar也可以访问技术选型对于网上已有的方案,大致分为如下几……
  • 基于Flyway的数据库版本控制实践
    0阅读 0条评论 个赞
    背景大家平时在开发过程中,会用Git来进行我们的代码管理。如Git这些,使用这些版本控制系统能轻松的帮我们解决不同开发人员之间的代码冲突处理版本回退实现软件代码的CI/CD等那大家考虑过么,针对数据库……
  • 如何保持Mysql和Redis数据一致
    0阅读 0条评论 个赞
    先阐明一下Mysql和Redis的关系:Mysql是数据库,用来持久化数据,一定程度上保证数据的可靠性;Redis是用来当缓存,用来提升数据访问的性能。关于如何保证Mysql和Redis中的数据一致(……
  • 记录在线超时的分析和故障排除过程
    0阅读 0条评论 个赞
    .css-1yuhvjn{margin-top:16px;}.css-3jt6os.FileLinkCard{-webkit-align-items:center;-webkit-box-align……
  • Hadoop(简介)大数据技术概述 运行环境构建 运行模式
    0阅读 0条评论 个赞
    文章目录1Hadoop概述1.1Hadoop是什么1.2Hadoop优势1.3Hadoop组成(面试重点)1.3.1HDFS架构概述1.3.2YARN架构概述1.3.3Map……
  • 我们能从AlloyDb的架构中学到什么
    0阅读 0条评论 个赞
    前些天我发了一篇解读信通所分布式数据库发展报告内容的文章,有些朋友对我把Aurora、AlloyDB、PolarDB等也归类于分布式数据库感到有些不解。实际上这是信通所在报告里的归类,和国际上的常见归……
  • MySQL查询性能优化指数下推的七大武器
    0阅读 0条评论 个赞
    前面已经讲了MySQL的其他查询性能优化方式,没看过可以去了解一下:MySQL查询性能优化七种武器之索引潜水MySQL查询性能优化七种武器之链路追踪今天要讲的是MySQL的另一种查询性能优化方式—索……
  • [PostgreSql]生产级数据库安装需要考虑哪些问题?
    0阅读 0条评论 个赞
    大家好,我是字母哥(coder)!我让公司的小伙伴写一个生产级别的PostgreSQL的安装文档,结果他和我说:“不是用一个命令就能安装好么?还用写文档么?”。我知道他想说的是这个命令:yumins……
  • python入门系列(十)学习Python文件处理
    0阅读 0条评论 个赞
    文件处理在Python中处理文件的关键函数是open()函数。有四种不同的方法(模式)来打开一个文件"r"-读取-默认值。打开一个文件进行读取,如果文件不存在则出错。"a"-Append……
最近发布资讯
更多