首页 > 其他分享 >rk3328或树莓派开发板系统镜像备份制作剪裁

rk3328或树莓派开发板系统镜像备份制作剪裁

时间:2022-11-18 23:02:43浏览次数:81  
标签:firefly 树莓 -- media 分区 sudo 开发板 rk3328


 

手上有多块firefly rk3328开发板,在一块开发板上面安装了ubuntu和ROS kinetic之后,想着直接把镜像备份出来,然后再将镜像刷入其他的内存卡,这样的话就无需一一去安装系统和ros了。

准备:

(1)firefly rk3328开发板一块。我的是2G内存的规格。

(2)16G内存卡一个。

(3)U盘一个(用于存储备份下来的镜像)。

我们这里不用win32diskImager制作,因为它会读取整个内存卡的空间,占用的空间很大,无法刷到容量更小的内存卡。我这里用了一张16G内存卡,实际上安装完系统和ROS还有qt等软件之后,一共才用了6.4G,所以这个是可以安装在8G内存卡上的。

开始吧!

1.查看当前系统所占容量:

sudo fdisk -l

如下图:

rk3328或树莓派开发板系统镜像备份制作剪裁_ubuntu

可以看到,这个内存卡上一共有5个分区,前三个分区我也不知道是什么,第四个分区是EFI引导分区,就是我们说的boot分区,第5个分区是linux的系统分区,我们只需要备份后面两个分区即可。

然后再通过df -h查看一下占用情况:

rk3328或树莓派开发板系统镜像备份制作剪裁_javascript_02

可以看到系统占用了6.4G。

我们也可以通过计算得知当前系统占用的大小:大概再6.6G左右,保险起见,我们就多分配一些。我这里就分配7.4G吧。

2.安装工具

dosfstools:fat32分区格式化工具

dump:dump & restore 备份工具

parted & kpartx:虚拟磁盘工具

安装:

sudo apt-get install dosfstools dump parted kpartx

如下图为安装成功:

rk3328或树莓派开发板系统镜像备份制作剪裁_虚拟磁盘_03

3.创建镜像文件

创建一个空白的image文件,用于存储备份的系统文件。

sudo dd if=/dev/zero of=firefly_rk3328_ubuntu16.04_ros.img bs=1M count=$df

 这里的count=$df需要根据自己的实际系统大小调整,比如我分配了7.4G的大小:

sudo dd if=/dev/zero of=firefly_rk3328_ubuntu16.04_ros.img bs=1M count=7400

此处注意
dd命令中【1k=1024b;1KB=1000b;1M=1024kb;1MB=1000kb】

这一步需要在16G U盘里面做,因为我们生成的系统镜像是存储在U盘里方便拷贝的。如下图:

rk3328或树莓派开发板系统镜像备份制作剪裁_ubuntu_04

 4.分割虚拟磁盘

看一下mmcblk0上面的具体数据块分割情况:

sudo fdisk -l /dev/mmcblk0

 如下图所示:

rk3328或树莓派开发板系统镜像备份制作剪裁_ubuntu_05

 还可以通过命令:

df -T

 查看的到分区的文件系统。我这里boot分区是fat32格式的,root分区时ext4格式的。如下图:

rk3328或树莓派开发板系统镜像备份制作剪裁_javascript_06

 然后,我们开始分割虚拟磁盘:

sudo parted firefly_rk3328_ubuntu16.04_ros.img --script -- mklabel msdos
sudo parted firefly_rk3328_ubuntu16.04_ros.img --script -- mkpart primary fat32 2048s 497144s
sudo parted firefly_rk3328_ubuntu16.04_ros.img --script -- mkpart primary ext4 497145s -1

 5.挂载虚拟磁盘并格式化

首先我们通过以下命令查看所有回环设备:

losetup -a

然后通过losetup命令将我们创建的镜像文件的第一个分区即boot分区映射到loop设备:

sudo losetup -o 32768 --sizelimit 134183936 -f firefly_rk3328_ubuntu16.04_ros.img

再次查看所有回环设备,看多出了哪个设备下面我们需要用。

格式化设备:

sudo mkfs.vfat /dev/loop0  //这里的loop0为我们刚刚看到的那个多出来的回环设备。

 然后,我们挂载回环设备:

mount /dev/loop0 /media_p          //这里的media_p为我们创建的挂载映像分区的文件夹

 然后拷贝boot文件夹下所有数据到映像文件的第一个分区:

sudo cp -rfp /boot/* /media_p

 这样第一个boot分区就备份成功了。

卸载影响文件的第一个分区:

umount media_p

接下来我们备份另一个分区。

同样的,通过losetup命令将我们创建的镜像文件的第二个分区即boot分区映射到loop设备

sudo losetup -o 134217216 --sizelimit 7624245248 -f firefly_rk3328_ubuntu16.04_ros.img

格式化设备:

sudo mkfs.ext4 /dev/loop1

 然后,我们挂载回环设备:

mount /dev/loop1 /media_p          //这里的media_p为我们创建的挂载映像分区的文件夹

 复制数据:

sudo cp -rfp /* /media_p

 

rsync -av --exclude /media/root --exclude /media_p . /media_p

卸载分区:

sudo cp -rfp /boot/* /media_p

 备份完成!

卸载loop设备:

sudo losetup -d loop0
sudo losetup -d loop1

 

 

参考:

1.​​http://blog.sina.com.cn/s/blog_9ac48e3c0102ybep.html​

标签:firefly,树莓,--,media,分区,sudo,开发板,rk3328
From: https://blog.51cto.com/u_15882586/5869360

相关文章

  • 树莓派简单搭建公网SVN服务器
    前言我有两台电脑一个是台式一个是本本,外出都会带上笔记本,有时想敲代码了,SVN服务器无法链接实在不方便。为了解决这个问题,把树莓派稍微设置下,就该成了公网服务器,下面对整......
  • 树莓派把得力打印机有线变无线
    前言电脑桌上摆着一台得力的DE-620K打印机,因为是有线打印机,所以只能摆在电脑附近,挺占空间的。刚好手上有个闲置的树莓派,可以把有线打印机插在它上做一个网络打印机。树莓......
  • 四、树莓派4B控制LED灯试验
    安装了wiringPi库之后,即可使用C语言对树莓派GPIO进行控制(不知道咋安装的可见上一篇文章)在对GPIO进行控制前可使用gpioreadall查看引脚定义 我使用第36脚对LED进行控......
  • 三、树莓派4B串口试验(WiringPi)
    1、WiringPi简介WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUNLv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。WiringP......
  • 【问题解决】ESP32开发板上的CP210xUSB转串口坏了怎么办
        今天居然遇到了主板上的USB转串口芯片坏了的情况!这运气真是。。    还好问题解决了,心理舒服点,这里记录一下,以后大家要是遇到也可以参考。    先吐槽CP210x......
  • 从零开始的树莓派部署CentOS
    从零开始的树莓派部署CentOS硬件树莓派4b8G若干镜像使用官方镜像,选择64位armCentOS7ARM64(aarch64)选择镜像源http://mirrors.bfsu.edu.cn/centos-altarch/7.......
  • 8位单片机开发板 - 普中开发板HC6800_EM3_V2.2
    目录普中开发板HC6800_EM3_V2.2普中开发板HC6800_EM3_V2.2//升级方法://如果使用普中仿真器,必须要使用keilc51v901版本,新的keil版本不行!......
  • 树莓派安装docker与nodeRed
    Docker和nodeRedDocker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟......
  • 树莓派 ubuntu server 22.x 连接无线网络
    前言树莓派系统安装完成后,需要配置网络,由于家里没有多余的网线(网线多少有点乱),所以决定配置无线上网的方式,现在记录下来操作过程具体操作sudonano/etc/netplan/xxxxx......
  • 开发调试工具:USB转IIC/I2C/SPI/UART适配器模块可编程开发板
    开发调试工具:USB转IIC/I2C/SPI/UART适配器模块可编程开发板 发个方便测试I2C、SPI、1Wire接口的工具模块总的思路是通过USB或者UART接口发送一些协议字符串,由模块转换......