1、先烧录一个要装的系统的.img文件到U盘,插入pi中查看空系统多少大小

2、然后大概计算部署程序要多大的空间,通过gparted扩展U盘分区(如果已经安装好软件后不需要再扩展的话也可以不需要再扩容),我的系统1.1G,我大概安装完软件后系统大小达到4G所以,我把做好的系统盘插入到Ubuntu的虚拟机中从gparted看到U盘的分区为1.1G,调整大小为4G,gparted不是调整好就生效的,它只是添加到计划中,需要commit一下

3、把做好系统的U盘插入虚拟机,记住不要插入pi中,U盘会自动挂载,如果不挂载的话可以手工挂载,使用mount /dev/sdc1 /mnt,进入挂载的U盘目录,创建/root/.no_rootfs_resize这个文件

4、插入pi中使用,正常安装软件,这时候磁盘空间很小

5、装完软件以后,在pi上手动删掉/root/.no_rootfs_resize文件

6、使用systemctl enable orangepi-resize-filesystem 命令把自动扩容的服务启动起来(只是启用服务,没有立刻执行,下次重启会生效,保证你备份之前没有扩容,插入机器启动自动扩容)

7、把U盘拔下来插入虚拟机中,记住使用 fdisk -l 看U盘的路径,如果是/dev/sdc1记住使用/dev/sdc是整盘,sdc1只是分区,不能只备份sdc1分区,否则会丢失boot分区,如果df -l 看到一件挂载了,一定要umount  /dev/sdc 卸载掉

8、通过fdisk -l 看到磁盘的结束分区,如果磁盘最后块是END,计算磁盘空间大小公式

END/2/1024 是分区大小,这安装1M计算,40M是boot大小,所以(END/2/1024)+40就是总大小,备份一定要大于这个数量

9、如果按照1M个块的话,(END/2/1024+40)+50个区块,假设计算的COUNT,我计算得到需要备份到4004块,为了保证数据完整性,我就备份到了4100,保留一点空间

10、备份指令为 dd if=/dev/sdc of=./mysdcard.img bs=1M count=4100 status=progress

11、status=progress是查看进度

12、备份得到 img文件以后通过工具烧录到不同的sdcard上

13、插入pi中如果红灯亮到绿灯说明系统引导成功,备份pi之前先保住pi能正常使用,要用init 0 把系统正常关机,直接拔电可能会造成磁盘损坏,而且你还不知道,备份出来的系统插入到下一个orangepi中就可能卡在检测坏块上进不了系统,必须使用调试串口才能看到日志比较麻烦,最好一次通过并联网省去很多排查的时间

14、如果报错需要串口线查看日志

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐