前言
本次开源社区的工作是将compass-CI部署到树莓派。
本文主要内容为:测试机pxe启动过程中的注意事项。
- pxe启动参考文档
参考的内容主要是树莓派关于网络启动的官方文档。
地址:
注:如果该链接失效,请参考我的译文地址:
https://blog.csdn.net/qqdkg/article/details/119848784
图 1 树莓派网络启动官方文档
官方文档讲解了如何使用树莓派3或树莓派4搭建简单的DHCP/TFTP服务器(本文使用的型号为树莓派4B)。由于内容和很明晰,所以这里不做翻译,只写出参考该文档实现客户端网络启动时需要注意的要点。
- 请将客户端树莓派和服务端树莓派以有线的方式连接到本地网络。
- 请将bootloader升级到最新。
- 请使用Raspberry Pi OS Lite(32-bit)版本的系统。
下面将介绍为什么要添加上述三条限制。
-
- 使用有线连接
请将客户端树莓派和服务端树莓派以有线的方式连接到本地网络。
图 2 树莓派连接方式
这所以要增加这一条限制的原因在于:官方文档默认你使用网线连接树莓派(这意味着你有eth0),而如果你的树莓派连接的是wifi则你应该搜索(wlan0)。
图 3 查找服务器端网络设置
如果你的服务器端树莓派连接的是wifi,输入上图红框中的命令不会有任何返回值。需要将”eth0”修改为”wlan0”就能获得网络配置的信息。
由于客户端树莓派网络启动时需要连接网线,所以建议服务器端也使用网线连接并配置。
-
- 请将bootloader升级到最新。
原因在于:
在关于树莓派bootloader的官方文档中:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.m
图 4 关于bootloader版本的描述
官方文档中提到早于2020-09-03之前的bootloader版本对于有些功能支持的不太好,所以建议升级。
图 5 关于低版本bootloader可能会导致的问题
其他论坛中也有用户指出,使用老版本的bootloader可能会造成问题,所以建议升级bootloader。
关于bootloader的升级可以参考这篇文档:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md
图 6 推荐采用pi Imager升级bootloader
建议使用Raspberry Pi Imager升级bootloader,升级过程简单,但使用该方法需要多准备一张SD卡。
Raspberry Pi Imager下载地址:https://www.raspberrypi.org/software/
图 7 bootImager下载地址
图 8 Bootloader
该软件会将bootloader的升级程序烧写到SD卡上,将SD卡插入目标树莓派,大约10秒钟后即可完成。(如果树莓派连接的了屏幕,升级成功之后屏幕会变成绿色)然后装上有系统的SD卡即可。
-
- 请使用Raspberry Pi OS Lite(32-bit)版本的系统。
图 9 成功实现网络启动的系统版本
将该系统(没有GUI的版本)烧写入服务端树莓派的SD卡,然后按照官方文档操作就可以一切顺利的实现客户端树莓派的网络启动。
树莓派官方网络启动文档:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
注:针对这一点讲一下我遇到的问题
刚拿到树莓派时,SD卡中被卖家烧写了带有GUI的完整系统Raspberry Pi OS full(32-bit),直接按照树莓派官方网络启动文档进行操作,会导致客户端树莓派端网络启动时在系统加载途中停下来(等待1h也没有反应)。
图 10 客户端网络启动停止的位置
具体原因不明,可能树莓派官方网络启动文档作者只在没有GUI的版本上做了测试,没有在GUI版本上做测试,导致GUI版本中存在一些不明的bug。