瑞芯微 rk3588 Linux系统备份还原 StepbyStep

news2024/11/16 18:42:10

1.系统备份

1.1 将瑞芯微平台嵌入式系统的root ssh 权限开通

step1:
sudo vi /etc/ssh/sshd_config

step2: 找到PermitRootLogin,把开关打开:

PermitRootLogin yes

step3:重启ssh服务

sudo systemctl restart sshd

1.2.使用瑞芯微的打包脚本把嵌入式系统系统打包

这个打包脚本,建议修改一下,把文件系统放在当前目录:

#! /bin/bash

# acquire root privilege
if [ ! "$UID" -eq 0 ]; then
    echo "This script require root privilege."
    exit 0
fi

function check_ip() 
{   
    local IP=$1   
    VALID_CHECK=$(echo $IP|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')   
    if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then   
        if [ $VALID_CHECK == "yes" ]; then   
         echo "IP $IP  available!"   
            return 0   
        else   
            echo "IP $IP not available!"   
            return 1   
        fi   
    else   
        echo "IP format error!"   
        return 1   
    fi   
}   
while true ;do   
    read -p "Enter your username and ip:" userName IP   
    check_ip $IP   
    [ $? -eq 0 ] && break   
done
# Install the rsync
if ! type rsync >/dev/null 2>&1; then
    echo 'rsync did not install,Now we will intall rsync!'
    apt update
    apt install rsync
fi
# Test ip
if  ping -c 2 ${IP} >/dev/null ; then
    echo 'The IP is conneted!'   
else 
    echo 'The IP can not conneted! '
    exit 0
fi
# New path
rm -rf ./rootfs
if [ ! -d "./rootfs" ]; then
  mkdir ./rootfs
fi
# Download rootfs
rsync -avx $userName@$IP:/ ./rootfs
#rm -rf ./rootfs/var/log/*

# Creat new img by dd 
dd if=/dev/zero of=rootfs.img  bs=1M count=15000
mkfs.ext4 -F -L linuxroot rootfs.img
if [ ! -d "/ubuntu-mount" ]; then
    mkdir /ubuntu-mount
fi
mount rootfs.img /ubuntu-mount
cp -rfp ./rootfs/* /ubuntu-mount
umount /ubuntu-mount
e2fsck -p -f rootfs.img
resize2fs -M rootfs.img
exit 0

1.3 系统备份的结果

 最终会生成一个叫rootfs.img包,这个包往往尺寸很大,推荐用.7z压缩一下。另外,./rootfs中你能看到根文件系统,建议对./rootfs/var/log中的目录进行整理,删减不必要的日志

7z a xxxx-release-v1.0.20240510.7z rootfs.img

 这个rootfs.img的包就是我们需要处理的文件系统。

2.升级包.img生成

2.1 首选准备原厂boot uboot这里镜像文件

它们需要和上一步生成的linux文件系统合并,然后打包成最终的.img映像。

使用原厂系统工具:RKDevTool_Release_v2.92解包适应你的平台的原厂.img升级包,比如对我而言是:

lubancat-rk3588-debian11-gnome-20240424_update.img

注意最新版的v3.15功能不全,无法使用。

注意v2.92有个坑:

2.1.1 修改v2.92烧写工具的bug

我们之后主要的工作目录:./rockdev下的两个可执行文件不是最新版:

最新版在.bin目录里:

记得把它先拷过去。

2.1.2 解包

原厂文件的解包过程,打开主界面即可:

解包的位置在这里:

选择固件包(*.img),然后点击解包即可。 

解包后的各个组成部分放置在:
.\Output目录下:

2.2 筛选需要的.imge和其他配置文件到工作目录中

 注意依照2.1.1修正v2.92 ./rockdev目录的.exe文件版本问题

step1:在.rockdev目录创建Image目录,把Output目录中的文件全部拷贝过去

step2.把Image目录中的package-file,拷贝一份到./rockdev目录

step3.建议修改update-script文件,增补rootfs的部分
(它可能并不需要,如果你测试不需要这一步,请留言。)

# 升级kernel
write_image PACKAGE:kernel KERNEL:
check_image PACKAGE:kernel KERNEL:

# 升级boot
write_image PACKAGE:boot BOOT:
check_image PACKAGE:boot BOOT:

# 升级rootrfs
write_image PACKAGE:rootfs ROOTFS:
check_image PACKAGE:rootfs ROOTFS:

上文中加粗的部分是新增的代码。

2.3 替换掉./rockdev/Image中的rootfs.img

2.4 打包,生成最终可用的.img

rk3588-mkupdate.bat 

3.最终的成品及使用

最终在./rockdev目录下会生成一个

update.img

可以重命名并压缩,这就是最终的升级包

3.1 升级:

最终升级时, 注意要进入Loader模式:

备注:

这个备份和还原过程在鲁班猫CAT4平台上测试过,对应的芯片组是RK3588.

last modified: May10,2024
created at :May10,2024

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

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

相关文章

类和对象中篇

类的六个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。空类中什么都没有吗&#xff1f;并不是的&#xff0c;任何一个类在我们不写的情况下&#xff0c;都会自动生成下面6个默认成员函数 ①初始化和清理&#xff1a;构造函数和析构函数 ②拷贝复制&#x…

[Markdown]是时候该学学使用markdown写文章了

&#x1f495;&#x1f495;&#x1f495;欢迎各位来到我的博客&#xff0c;今天我们的主题是markdown&#xff0c;你将在这里学习到最全的markdown知识&#x1f495;&#x1f495;&#x1f495; 你还在使用富文本编辑器写文档或文章吗&#xff1f; 你还在用word一点一点地进行…

QX----mini51单片机学习---(7)矩阵键盘

目录 1矩阵键盘的识别 2相关c语言 3实践编程 1矩阵键盘的识别 假设按列扫描按下S6P30&#xff1a;0P34&#xff1a;1然后高流向低&#xff0c;P34&#xff1a;0&#xff0c;刚开始是0xf0&#xff1a;1111 0000 后面是0xe0&#xff1a;1110 0000 &#xff0c;当是0xe0能确…

基于Qt的Model-View显示树形数据

目标 用qt的模型-视图框架实现树型层次节点的显示&#xff0c;从QAbstractItemModel派生自己的模型类MyTreeItemModel&#xff0c;用boost::property_tree::ptree操作树型数据结构&#xff0c;为了演示&#xff0c;此处只实现了个只读的模型 MyTreeItemModel的定义 #pragma o…

论文 学习 Transformer : Attention Is All You Need

目录 概述&#xff1a; 对摘要的理解&#xff1a; 框架解析 按比例缩放的点积注意力 多头注意力机制 前馈神经网络与位置编码 概述&#xff1a; transformer 是一个encoder ——decoder 结构的用于处理序列到序列转换任务的框架&#xff0c;是第一个完全依赖自注意力机制…

基于Vue3与ElementUI Plus的酷企秀场景可视化DIY设计器探索(更新版)

一、引言 在当今数字化快速发展的时代&#xff0c;企业对于展示自身形象、产品细节以及提升客户体验的需求日益增强。酷企秀场景可视化DIY设计器&#xff0c;以其强大的功能和灵活的定制性&#xff0c;为企业提供了从VR全景展示到地图可视化、电子画册制作等一系列数字化解决方…

前端开发工程师——ajax

express框架 终端输入 npm init --yes npm i express 请求报文/响应报文 // 1.引入express const express require(express);// 2.创建应用对象 const app express();// 3.创建路由规则 // request:是对请求报文的封装 // response&#xff1a;是对响应报文的封装 app.get(…

基于Python的飞机大战游戏

学习目标 了解 飞机大战游戏的规则 理解 面向对象思想,会独立设计游戏的类与模块 掌握 pygame模块的使用 1.1 游戏介绍 飞机大战是一款由腾讯公司微信团队推出的软件内置的小游戏,这款游戏画面简洁有趣,规则简单易懂,操作简便易上手,在移动应用兴起之初曾风靡一时。 1.1.…

阿里云Redis创建使用

说明&#xff1a;本文介绍如何使用阿里云Redis&#xff0c;包括开通、连接、使用&#xff1b; 开通 进入官网Redis产品页&#xff0c;点击免费试用&#xff08;白嫖&#xff09;&#xff1b; 选择中间这个&#xff0c;云数据库Redis版&#xff1b; 开通完成后&#xff0c;可在…

JDBC调用MogDB存储过程返回ref_cursor的方法和注意事项

MogDB在处理存储过程的时候&#xff0c;有时候需要返回结果集&#xff0c;类型为ref_cursor&#xff0c;但有时候可能会报错。而大部分应用程序都是使用Java JDBC. 根据我们这几年的数据库国产化改造经验&#xff0c;给大家分享一下JDBC调用 MogDB存储过程返回ref_cursor的方法…

C#实现多线程的几种方式

前言 多线程是C#中一个重要的概念&#xff0c;多线程指的是在同一进程中同时运行多个线程的机制。多线程适用于需要提高系统并发性、吞吐量和响应速度的场景&#xff0c;可以充分利用多核处理器和系统资源&#xff0c;提高应用程序的性能和效率。 多线程常用场景 CPU 密集型任务…

书生浦语训练营第四次课作业

基础作业 环境配置 拷贝internlm开发机内的环境 studio-conda xtuner0.1.17# 激活环境 conda activate xtuner0.1.17 # 进入家目录 &#xff08;~的意思是 “当前用户的home路径”&#xff09; cd ~ # 创建版本文件夹并进入&#xff0c;以跟随本教程 mkdir -p /root/xtuner0…

社工库信息查询

此网站需要注册账号&#xff0c;新用户注册送3点券&#xff0c;每日签到可获得1.5点券。也可通过充值来查 我这里有方法可以利用缺陷来无限获取点券查人

QT7_视频知识点笔记_3_自定义控件,事件处理器⭐,定时器,QPainter,绘图设备,不规则窗口

第三天&#xff1a; 自定义控件&#xff0c;事件处理器⭐&#xff0c;定时器&#xff0c;QPainter,绘图设备&#xff0c;不规则窗口实现 1.自定义控件&#xff1a; 创建新的QT控件类&#xff0c;然后再需要使用的地方--》提升为 来使用如何使用基础控件的信号和槽函数&…

智能座舱语音助手产品方案

一、用户调研与痛点分析 1.目标用户分析 用户画像 性别女性年龄50地域2-3线城市职业退休或退居二线教育中专、 大专、 本科财务家庭财务管理者爱好享受生活、 照顾家庭标签有闲有小钱二、产品定位与卖点提炼 购车目的 愉悦自我&#xff0c; 专属于自己的座驾&#xff1a; 家…

【大数据·Hadoop】从词频统计由浅入深介绍MapReduce分布式计算的设计思想和原理

一、引入&#xff1a;词频统计问题 假如我们有一亿份文档&#xff0c;需要统计这一亿份文档的词频。我们会怎么做&#xff0c;有以下思路 使用单台PC执行&#xff1a;能不能存的下不说&#xff0c;串行计算&#xff0c;一份一份文档读&#xff0c;然后进行词频统计&#xff0…

最新版Ceph( Reef版本)文件存储简单对接k8s(下集)

假如ceph集群已经创建 1.创建cephfs_pool存储池 ceph osd pool create fs_kube_data 16 162.创建cephfs_metadata存储池 ceph osd pool create fs_kube_metadata 16 163 创建cephfs ceph fs new cephfs01 fs_kube_metadata fs_kube_data4 设置最大活动数 ceph fs set cephfs01…

保健品小程序商城线上经营的作用是什么

保健品涵盖酒水、醋、食品等多个类型&#xff0c;无论厂商还是经销商&#xff0c;手里的品牌和数量都比较多&#xff0c;由于特殊性&#xff0c;商家经营时需要找到目标客户&#xff0c;而市场中虽然有大量客户&#xff0c;但商家实际想要触达却并不容易。 渠道多样化&#xf…

MTEB - Embedding 模型排行榜

文章目录 关于 MTEBMTEB 任务和数据集概览使用 MTEB Pythont 库Installation使用 关于 MTEB MTEB : Massive Text Embedding Benchmark github : https://github.com/embeddings-benchmark/mtebhuggingface : https://huggingface.co/spaces/mteb/leaderboardpaper : https:/…

Java医院绩效考核系统源码B/S+avue+MySQL助力医院实现精细化管理 医院综合绩效核算系统源码

Java医院绩效考核系统源码B/SavueMySQL助力医院实现精细化管理 医院综合绩效核算系统源码 医院绩效考核系统目标是实现对科室、病区财务指标、客户指标、流程指标、成长指标的全面考核、分析&#xff0c;并与奖金分配、学科建设水平评价挂钩。 具体功能模块包括收入核算、成本…