烧录树莓派系统和制作树莓派img镜像
一、烧录树莓派Raspberry Pi OS
给板子烧录Raspberry Pi OS,根据自己的板子选择烧录方法。这里提供需要SD卡的板子和不需要SD卡的板子,两种板子型号很多,这里总结为需要SD卡板子和不需要SD卡板子。大家根据自己需求选择,然后选购需不需要带SD卡的板子。存储空间最好选择大于16G的
1、下载树莓派系统
下载(戳我下载)最新发布的系统(或如图所示)。如果下载的是种子文件,使用使用迅雷或彗星等软件再下载
2、下载安装rpiboot软件
(戳我下载)(不带SD卡的板子需要用到),下载并以管理员权限打开软件rpiboot软件, 以安装驱动程序和启动工具。安装成功之后在安装目录下有一个rpiboot.exe的应用
3、不带SD卡的板子连接windows电脑
- 将BOOT和GND连接(需要用到短接块) 或者 将开关拨至ON,可以在对应产品的WIKI的板载资源,查看BOOT管脚位置,例如如下:
短接块,使用时插上去即可
- 先通过Micro USB /Type A /Type C 接口(SLAVE 接口) 转USB接口 连接电脑,再连接电源,部分板子需要额外供电,部分不需要
需要额外供电的有:
Compute Module 4 PoE Board
Compute Module 4 IO Board
CM4-DUAL-ETH-BASE
不需要而外供电的有:
CM4-IO-BASE-B
CM4-IO-BASE-A
Compute Module 4 PoE Board (B)
- 如果连接电脑并且给主板供电,电脑设备管理器中会识别出一个BCMxxx的设备,打开设备管理器即可看到
- 然后运行步骤2安装的rpiboot.exe,如果出现如下图所示,表示已经将树莓派识别成SD卡(这个树莓派是不带SD卡的,烧录系统时需要将这个板子连接到PC端,然后被识别成SD卡)
等待运行结束就可以接着下一步了
(1)需要注意:如果电脑没有识别出BCMxxx的设备 ,可能是上面哪一个步骤有问题。一定要识别出BCMxxx的设备运行rpiboot 才会有效,否则无效。
(2)如果你没办法正常烧录程序,请尝试以下步骤:
-
使用WIN10系统进行烧录,多数客户反馈WIN7或linux系统烧录不稳定。
-
确定你的CM4版本是否正常,eMMC正面会多一颗IC。只有eMMC版本的,才可以通过当前方式烧录
注意Power接口需要接入至少10W(5V/2A或者12V/1A)电源适配器。
更换一条USB数据线。
更换一个PC机的USB接口。
尝试重启PC机。
尝试重新拔插CM4
尝试在另一台电脑烧录。
4、带SD卡的板子连接windows电脑
直接将SD卡通过读卡器插到电脑即可(带SD卡的板子烧录系统只需要用到SD卡)
5、格式化SD卡
此时不管是哪种板子,我们都已经将其识别成SD卡了
接下来就是格式化SD卡,使用SDFormatter.exe(点击这里下载) 软件格式化SD 卡
6、烧录树莓派系统(烧录镜像)
用Win32DiskImager.exe(点这里下载)烧写镜像。选择要烧写的镜像(步骤1下载的),点击“Write”进行烧写,烧录完成后,会提示你是否要格式化,这里需要点击取消
7、使用自己的树莓派
- 不带SD卡的板子,烧录完毕断开电源,断开和电脑的连接线,将BOOT断开(摘掉短接块) 或者 将开关拨至OFF。重新上电,连接鼠标、键盘、显示器就可以使用啦
- 带SD卡的板子,烧录完毕取出SD卡,插入树莓派板子,上电,连接鼠标、键盘、显示器就可以使用啦
- 树莓派raspbian系统用户为pi ,密码默认为raspberry ;root 权限密码为raspberry。
8、参考网站
https://www.waveshare.net/study/article-595-1.html
https://www.waveshare.net/wiki/CM4_Burn_EMMC
二、制作树莓派img镜像
我们在一块树莓派上将项目配置部署好之后,如果想要在另外一个板子上同样实现,但又不想从头开始配置部署,就需要将现有的树莓派系统制作成一个新的img镜像,提供给别的板子使用。这里提供两种方法,推荐使用第二种
1、直接使用Win32DiskImager.exe
既然它可以用来烧写镜像,当然也可以备份制作镜像
- 将树莓派连接到windows电脑上(带SD卡的板子和不带SD卡的板子连接方式上面有),此时电脑可能会提示新盘符有问题,需要格式化啥的,不用管
类似这样的不用管,点击取消就行!!! - 新建一个.img文件。(新建文本文档,重命名为“我的镜像.img”)
- 打开Win32DiskImager.exe,左边选择“我的镜像.img”,右边选择对应的SD卡的盘符
- 点击Read,等待完成即可
- 此方法简单便捷,但制作镜像速度比较慢,而且是将整个SD卡完全复制,得到的img镜像是卡的大小,只能还原到原卡或大于原卡的卡。
2、剪切(缩小)树莓派系统大小之后再制作img镜像
比如我们树莓派大小为32G,但配置部署好的项目只有5G大小,我们只需要将这5G大小的内容制作成新的img镜像提供其他板子使用。如果使用第一种方法,一点也不好。这里提供给大家的方式是我认为最简单好用的(亲测有效)。
就是将我们的树莓派板子链接到一个Linux发行版中,比如ubuntu。然后使用磁盘分区工具gparted,将板子分区缩小至有效大小(比如我们实际用了5G,我们就缩小至5.5G即可),这时再用官方推荐的磁盘映像工具(这里我没有用到这个工具,参考博客里有,大家自行选择)读取指定分区,就可以使制作的镜像变小了,接下来就是系统下载到板子上后,将整个分区扩展到整个emmc,此时在系统的启动脚本中加入扩展的脚本即可使系统能够正常使用整个emmc分区了。
- 安装虚拟机VMware,给虚拟机装上Ubuntu(这个。。玩树莓派的都知道这是干啥的吧QAQ)我这里使用的是Ubuntu20.4
- 上面在烧录树莓派系统的时候说过两种板子(带SD卡和不带SD卡)如何连接到window系统。接下来就需要将板子连接到Ubuntu上面。如图所示,虚拟机>>可移动设备>>Super Top>>连接(断开与主机连接),即可将板子切换到Ubuntu上面
- 不需要SD卡的板子连接到Ubuntu上,我建议先连接到windows上,使用rpiboot将其识别成SD卡在通过上图操作连接到Ubuntu上。(按照我说的步骤做,强烈建议。)
- 可能你的windows上虚拟机是打开的,如果直接将板子连接到电脑上会提示你是否连接到主机或虚拟机,如果你选择的是虚拟机,那么Ubuntu并不会识别到板子所在的挂载分区,当然你也就没法搞了
- 如图所示,这就是连接到Ubuntu的SD卡挂载分区情况,终端执行
df-h
出现红框内容说明连接成功了。
接下来就是制作ing镜像的过程了
- 安装磁盘工具gparted
wqq@wqq-virtual-machine:~/桌面$ sudo apt-get install gparted
- 安装成功之后,终端输入gparted,出现磁盘工具界面后右上角选择
/dev/sdb
(如果你的不是/dev/sdb
,后面操作自己做调整)
wqq@wqq-virtual-machine:~/桌面$ gparted
-
选择第二个
/dev/sdb2
,右击选择卸载 -
继续选择第二个
/dev/sdb2
,右击选择更改大小/移动
-
输入新大小的值,这个我们系统原来占用5.9G,因此我们将新大小设为6.4G,大致就是6500,然后点击之后的空余空间的空格,它会自动刷新,点击调整大小/移动,结果如图所示。
-
点击中间那个绿色的对号,执行操作,稍等片刻即可。完成之后退出gparted,×掉就行
-
查看分区情况
sudo fdisk -l /dev/sdb
- 运行dd命令
需要注意扇区大小=512
末尾大小=13844479
sudo dd if=/dev/sdb of=./我的镜像.img bs=512 count=13844480 #因为扇区是冲0计数,所以count+1
- 再另一个窗口执行
sudo watch -n 1 pkill -USR1 ^dd$
,即可每一秒输出一次dd命令的进度,执行结束后就可以在Ubuntu桌面找到我的镜像.img - 将制作的镜像拷贝到windows桌面上(拷贝方式有很多,我用硬盘拷贝的,镜像过大的话用U盘会拷贝失败),然后烧录到其他板子上即可
- 烧录成功之后的板子实际大小就跟制作的镜像大小一样,我们需要将其扩容至板子实际大小
树莓派终端执行sudo raspi-config
选择Advanced Options => Expand Filesystem
最后reboot
重启 - 最后制作好的新镜像就可以完全使用了,后续具体树莓派的一些配置、设置大家自行百度。