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
如下图:
可以看到,这个内存卡上一共有5个分区,前三个分区我也不知道是什么,第四个分区是EFI引导分区,就是我们说的boot分区,第5个分区是linux的系统分区,我们只需要备份后面两个分区即可。
然后再通过df -h查看一下占用情况:
可以看到系统占用了6.4G。
我们也可以通过计算得知当前系统占用的大小:大概再6.6G左右,保险起见,我们就多分配一些。我这里就分配7.4G吧。
2.安装工具
dosfstools:fat32分区格式化工具
dump:dump & restore 备份工具
parted & kpartx:虚拟磁盘工具
安装:
sudo apt-get install dosfstools dump parted kpartx
如下图为安装成功:
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盘里方便拷贝的。如下图:
4.分割虚拟磁盘
看一下mmcblk0上面的具体数据块分割情况:
sudo fdisk -l /dev/mmcblk0
如下图所示:
还可以通过命令:
df -T
查看的到分区的文件系统。我这里boot分区是fat32格式的,root分区时ext4格式的。如下图:
然后,我们开始分割虚拟磁盘:
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.https://blog.csdn.net/talkxin/article/details/50456282
2.https://blog.csdn.net/liuwei000000/article/details/8575737
3.https://blog.csdn.net/zhongbeida_xue/article/details/109657867
4.https://my.oschina.net/surenpi/blog/605176
5.http://blog.sina.com.cn/s/blog_9ac48e3c0102ybep.html
6.https://blog.csdn.net/u010867294/article/details/78107315
7.https://blog.csdn.net/weixin_29668721/article/details/116813447
8.https://blog.csdn.net/liuwei000000/article/details/8575737
9.https://www.cnblogs.com/fsong/p/12036853.html?ivk_sa=1024320u
10.https://blog.csdn.net/u011391839/article/details/11771919/
11.https://blog.csdn.net/hejinjing_tom_com/article/details/45599049
rk3328或树莓派开发板系统镜像备份制作剪裁相关推荐
- 【TX2】TX2开发板系统默认串口有ttyS0(调试口)、ttyTHS1、ttyTHS2、ttyTHS3,通过修改设备树文件,可以新增三个串口
1.简述 TX2开发板系统默认串口有ttyS0(调试口).ttyTHS1.ttyTHS2.ttyTHS3,通过修改设备树文件,可以新增三个串口. 2.设备树 设备树中关于串口部分的描述 2.1 基础配 ...
- ARM开发板系统移植-----rootfs的制作
前面两篇文章分别介绍了mini2440开发板上运行的bootloader和kernel,到这里系统启动后其实是停留在一个"僵死"的状态---无法挂载根文件系统. 这里将介绍如何制作 ...
- 玩转mini2440开发板之【制作和修改linux启动logo图片】
今天玩一玩linux启动logo图片的修改和制作. 对于我手头的mini2440开发板,其实厂家友善之臂原本是有配一个转换工具的,用起来会比较简单.但是,它那个工具仅针对32位的Fedora 9系统开 ...
- marvell 开发板Ubuntu镜像制作及配置步骤
http://wiki.macchiatobin.net/tiki-index.php?page=Boot+from+removable+storage+-+Ubuntu marvell开发板的烧写步 ...
- 香蕉派 BPI-M5折腾记录(1)—— 开发板系统烧写
最近又从咸鱼上淘了一块二手开发板Banana Pi M5,之所以选这块是因为树莓派4溢价太高,不划算了.总体而言Banana Pi M5配置还是挺不错的,性价比挺高,韩国还有一款开源开发板 Odroi ...
- UEFI开发探索81- YIE002USB开发板(04 制作HID设备)
(请保留-> 作者: 罗冰 https://blog.csdn.net/luobing4365) YIE002USB开发板之制作HID设备-USB系统概述 1 USB规范简介 2 软件工程师眼中 ...
- UEFI开发探索82- YIE002USB开发板(05 制作HID设备)
(请保留-> 作者: 罗冰 https://blog.csdn.net/luobing4365) YIE002USB开发板之制作HID设备-USB标准描述符 1 USB描述符概述 2 USB标准 ...
- 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON3 LED流水灯
LED流水灯例程讲解 若要观看该博客配套的视频教程,可点击此链接 开发板实物图 图1.FPGA设计流程 根据多年工作经验,总结出的FPGA的设计流程,概括起来总共有以上12步,其中根据项目难易度可省去 ...
- 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON4数码管静态显示
数码管静态显示例程讲解 若要观看该博客配套的视频教程,可点击此链接 开发板实物图 图1.FPGA设计流程 根据多年工作经验,总结出的FPGA的设计流程,概括起来总共有以上12步,其中根据项目难易度可省 ...
- 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON7串口通信
串口通信例程讲解 若要观看该博客配套的视频教程,可点击此链接 开发板实物图 图1.FPGA设计流程 根据多年工作经验,总结出的FPGA的设计流程,概括起来总共有以上12步,其中根据项目难易度可省去其中 ...
最新文章
- LDR 、ADR介绍
- [转]myeclipse 8.5最新注册码(过期时间到2016年)
- 周鸿祎的“流氓”可否借鉴?
- winfrom DotNetBar sideNav控件使用问题
- 嵌入式单片机及外设(硬件)知识基础一
- 比特客区块链 | 从A到Z速记区块链词汇表
- 如何在手机上做读书笔记?手机做读书笔记的软件
- Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535
- 电厂GPS北斗时钟同步(卫星时间同步系统)组成及配置
- 服务器声卡如何虚拟,服务器没声卡远程桌面连接怎么实现听到服务器的声音
- Vue轮子-Lottie-动画实现
- seo关键字优化条例
- nginx文件服务器5万并发量,Nginx服务器高性能优化-轻松实现10万并发访问量
- 如何支持github账号登录
- List的containsAll()方法的正确理解
- 种下一颗知识的种子,知识只有流转起来,才能在团队协作中真正发挥作用。
- 计算机软件创业论文,计算机软件专业创新创业人才培养对策论文
- 我在云南躺平,这里来了就不想走
- w3c创建就web标准 例如html,WEB编程基础-中国大学mooc-题库零氪
- 美国工程师挣多少钱(from http://forum.eet-cn.com)