使用树莓派Zero做了一个网关,程序用Python写的。现在已经开发完成,正准备批量生产,不可能每次都从官方的系统烧录,再安装软件,安装依赖库,各种配置,麻烦不说,还容易出错。所以想找个办法把一个已经安装和配置好的树莓派系统提取出来,然后再烧录到其他的SD卡上。这样可以省下很多时间和精力。
折腾了很久才成功,所以记录一下,希望能够帮助有同样需要的人。所有操作均在Mac上完成,需要使用Docker。
将SD卡插到读卡器上,插到Mac上,打开终端。diskutil list 查看一下SD卡有没有读出来

使用 diskutil info /dev/disk2 查看一下SD卡有多少个块

使用 sudo dd bs=512 count=30597120 if=/dev/disk2 of=./full_20200303.img 命令,将SD卡打成img镜像,这里的count是第二步中看到的块数。等待执行完成,16G的卡大概需要23分钟

这个时候可以看到生成了一个15G的文件

从 https://github.com/thhan/Docker-PiShrink Clone一份代码到本地。将刚才生成的img文件复制到代码的根目录。然后执行 ./docker.sh,注意,要把Docker启动起来。进入容器后,执行 pishrink ./full_20200303.img

剪裁完成后会有输出大小,这时可以看到img文件变成了2.4G


原文:https://www.cnblogs.com/guopanbo/p/12405220.html