配置 Raspberry Pi 计算模块
配置 Raspberry Pi 计算模块(版本 3 和 4)
树莓派有限公司
2022-07-19: githash: 94a2802-clean
版权页
© 2020-2022 Raspberry Pi Ltd(原 Raspberry Pi (Trading) Ltd.)
本文档根据 Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND) 获得许可。 构建日期:2022-07-19 构建版本:githash:94a2802-clean
法律免责声明
不时修改的 RASPBERRY PI 产品(包括数据表)的技术和可靠性数据(“资源”)由 RASPBERRY PI LTD(“RPL”)“按原样”提供,以及任何明示或暗示的保证,包括但不限于TO,不提供针对特定用途的适销性和适用性的默示保证。 在适用法律允许的最大范围内,在任何情况下,RPL 均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于替代商品或服务的采购;使用损失、数据, 或利润; 或业务中断),无论是基于合同、严格责任或侵权行为(包括疏忽或其他)以任何方式因使用资源而引起的任何责任理论,即使已被告知这种可能性此类损坏。
RPL 保留随时对资源或其中描述的任何产品进行任何增强、改进、更正或任何其他修改的权利,恕不另行通知。 这些资源适用于具有适当设计知识水平的熟练用户。 用户对其选择和使用资源以及其中描述的产品的任何应用承担全部责任。 用户同意赔偿 RPL 并使其免受因使用资源而产生的所有责任、成本、损害或其他损失。 RPL 授予用户仅将资源与 Raspberry Pi 产品结合使用的权限。 禁止对资源的所有其他使用。 未向任何其他 RPL 或其他第三方知识产权授予许可。 高风险活动。 Raspberry Pi 产品并非设计、制造或旨在用于需要故障安全性能的危险环境,例如核设施、飞机导航或通信系统、空中交通管制、武器系统或安全关键应用(包括生命支持)的运行系统和其他医疗设备),其中产品故障可能直接导致死亡、人身伤害或严重的物理或环境破坏(“高风险活动”)。 RPL 明确否认对高风险活动适用性的任何明示或暗示保证,并且不对在高风险活动中使用或包含 Raspberry Pi 产品承担任何责任。 Raspberry Pi 产品的提供受 RPL 标准条款的约束。 RPL 提供的资源不会扩展或以其他方式修改 RPL 的标准条款,包括但不限于其中表达的免责声明和保证。
文档版本历史 文件范围管理
本文档适用于以下树莓派产品:
介绍
CM Provisioner 是一个 web 应用程序旨在使对大量 Raspberry Pi 计算模块 (CM) 设备进行编程变得更加容易和快捷。 它安装简单,使用简单。 它提供了一个可以上传的内核映像数据库的接口,以及在刷写过程中使用脚本自定义安装的各个部分的能力。 还支持标签打印和固件更新。 本白皮书假定 Provisioner 服务器、软件版本 1.5 或更高版本在 Raspberry Pi 上运行。
工作原理
CM4
Provisioner系统需要安装在自己的有线网络上; 运行服务器的 Raspberry Pi 连同交换机可以支持的尽可能多的 CM4 设备一起插入交换机。 任何插入该网络的 CM4 都将被配置系统检测到,并自动刷新用户所需的固件。 当您考虑到任何插入网络的 CM4 都会被配置时,拥有自己的有线网络的原因就变得很清楚了,因此将网络与任何实时网络分开对于防止设备无意中重新编程至关重要。
图像更改 CM 4 IO 板与 CM 4 -> CM4 IO 板与 CM4
通过使用 Raspberry Pi 作为服务器,Provisioner 可以使用有线网络,但仍然允许使用无线连接访问外部网络。 这允许将图像轻松下载到服务器,为配置过程做好准备,并允许 Raspberry Pi 为 Provisioner 提供服务 web 界面。 可以下载多张图片; Provisioner 保留了一个图像数据库,可以很容易地选择合适的图像来设置不同的设备。
当 CM4 连接到网络并通电时,它将尝试启动,一旦尝试了其他选项,就会尝试网络启动。 此时,Provisioner 动态主机配置协议 (DHCP) 系统响应启动 CM4 并为其提供最小的可启动映像,该映像下载到 CM4 然后以 root 身份运行。 该映像可以按照 Provisioner 的指示对嵌入式多媒体卡 (eMMC) 进行编程并运行任何所需的脚本。
更多详细信息
CM4 模块附带一个启动配置,该配置将首先尝试从 eMMC 启动; 如果由于 eMMC 为空而失败,它将执行预引导执行环境 (PXE) 网络引导。 因此,对于尚未配置且具有空 eMMC 的 CM4 模块,默认情况下将执行网络引导。 在配置网络上的网络启动期间,配置服务器将通过网络向 CM4 模块提供轻量级实用程序操作系统 (OS) 映像(实际上是 Linux 内核和脚本执行 initramfs),该映像处理配置。
CM 3 和 CM 4s
基于SODIMM接口的CM设备不能网络启动,只能通过USB进行烧录。 每个设备都需要连接到 Provisioner。 如果需要连接超过 4 个设备(树莓派上 USB 端口的数量),可以使用 USB 集线器。 使用优质 USB-A 到 Micro-USB 电缆,从 Raspberry Pi 或集线器连接到每个 CMIO 板的 USB 从属端口。 所有的 CMIO 板也需要电源,J4 USB slave boot enable jumper 应该设置为 enable
重要的
请勿连接 Pi 4 的以太网端口。无线连接用于访问管理 web 界面。
安装
以下说明在发布时是正确的。 最新的安装说明可以在 Provisioner GitHub 页面上找到。
安装 Provisioner web 在树莓派上的应用
警告
确保 eth0 连接到仅连接了 CM4 IO 板的以太网交换机。 不要将 eth0 连接到您的办公室/公共网络,否则它也可能会“配置”您网络中的其他 Raspberry Pi 设备。 使用 Raspberry Pi 无线连接连接到您的本地网络。
建议将 Raspberry Pi OS 的 Lite 版本作为安装 Provisioner 的基础操作系统。 为简单起见,请使用 rpi-imager,并激活高级设置菜单 (Ctrl-Shift-X) 来设置密码、主机名和无线设置。 在 Raspberry Pi 上安装操作系统后,您需要设置以太网系统:
- 通过编辑 DHCP 配置,将 eth0 配置为在 /172.20.0.1 子网(网络掩码 16)内具有静态互联网协议 (IP) 地址 255.255.0.0:
- sudo nano /etc/dhcpcd.conf
- 添加到底部 file:
接口 eth0
静态 ip_address=172.20.0.1/16 - 重新启动以使更改生效。
- 确保操作系统安装是最新的:
sudo apt 更新
sudo apt完全升级 - Provisioner 作为现成的 .deb 提供 file 在 Provisioner GitHub 页面上。 从该页面或使用 wget 下载最新版本,并使用以下命令安装它:
sudo apt 安装./cmprovision4_*_all.deb - 设置 web 应用用户名和密码:
sudo /var/lib/cmprovision/artisan auth:创建用户
您现在可以访问 web Provisioner 的接口 web 使用 Raspberry Pi 无线 IP 地址和上一节中输入的用户名和密码的浏览器。 只需在浏览器的地址栏中输入 IP 地址,然后按 Enter。
用法
当您第一次连接到 Provisioner 时 web 与您一起申请 web 浏览器,您将看到仪表板屏幕,它看起来像这样:
这个登陆页面只是提供了一些关于 Provisioner 执行的最新操作的信息(在前amp上面,已配置单个 CM4)。
上传图片
设置时所需的第一个操作是将您的图像加载到服务器,从那里可以使用它来配置您的 CM4 板。 单击顶部的“图像”菜单项 web 页面,您应该会看到一个类似于下图的屏幕,显示当前上传的图像列表(最初是空的)。
选择添加图片按钮上传图片; 你会看到这个屏幕:
该图像需要在安装的设备上可访问 web 浏览器正在运行,并且采用指定的图像格式之一。 使用标准从您的机器中选择图像 file 对话框,然后单击“上传”。 现在,这会将图像从您的计算机复制到在 Raspberry Pi 上运行的 Provisioner 服务器。 这可能需要一些时间。 上传图片后,您将在“图片”页面上看到它。
添加项目
现在您需要创建一个项目。 您可以指定任意数量的项目,每个项目都可以有不同的图像、脚本集或标签。 活动项目是当前用于配置的项目。
单击“项目”菜单项以显示“项目”页面。 以下前ample 已经设置了一个名为“测试项目”的项目。
现在单击“添加项目”以设置新项目
- 为项目取一个合适的名称,然后从下拉列表中选择您希望该项目使用的图像。 您还可以在此设置许多其他参数tage,但通常只有图像就足够了。
- 如果您使用的是 v1.5 或更高版本的 Provisioner,则可以选择验证闪烁是否已正确完成。 选择此项会在刷机后从CM设备中读回数据,确认是否与原图匹配。 这将为每个设备的配置增加额外的时间,增加的时间量将取决于图像的大小。
- 如果您选择要安装的固件(这是可选的),您还可以使用一些将合并到引导加载程序二进制文件中的特定配置条目来自定义该固件。 可以在 Raspberry Pi 上找到可用选项 web地点。
- 完全定义新项目后,单击“保存”; 您将返回到项目页面,新项目将被列出。 请注意,任何时候只能有一个项目处于活动状态,您可以从此列表中选择它。
脚本
Provisioner 的一个非常有用的功能是能够在安装之前或之后在图像上运行脚本。 Provisioner默认安装了三个脚本,新建项目时可以选择。 它们列在 Scriptspage 上
前任amp脚本的使用可能是将自定义条目添加到 config.txt。 标准脚本 Add dtoverlay=dwc2 to config.txt 使用以下 shell 代码执行此操作:
单击“添加脚本”以添加您自己的自定义:
标签
Provisioner 可以为正在配置的设备打印标签。 Labels 页面显示了所有可以在项目编辑过程中选择的预定义标签。 对于前amp例如,您可能希望为每个配置的板打印 DataMatrix 或快速响应 (QR) 代码,此功能使这变得非常容易。
单击“添加标签”以指定您自己的标签:
固件
Provisioner 提供了指定您希望在 CM4 上安装哪个版本的引导加载程序固件的能力。 在固件页面上有一个所有可能选项的列表,但最新的通常是最好的。要使用最新版本的引导加载程序更新列表,请单击“从 github 下载新固件”按钮。
可能出现的问题
过时的引导加载程序固件
如果您的 CM4 在插入时未被 Provisioner 系统检测到,则引导加载程序固件可能已过期。 请注意,自 4 年 2021 月以来制造的所有 CMXNUMX 设备在出厂时都安装了正确的引导加载程序,因此这只会发生在该日期之前制造的设备上。
已经编程的eMMC
如果CM4模块已经有boot files 在 eMMC 中来自以前的配置尝试,那么它将从 eMMC 引导,并且不会发生配置所需的网络引导。
如果您确实希望重新配置 CM4 模块,则需要:
- 在 Provisioning 服务器和 CM4 IO 板的微型 USB 端口(标有“USB slave”)之间连接 USB 电缆。
- 在 CM4 IO 板上放置一个跳线(J2,'Fit jumper to disable eMMC boot')。
这将导致 CM4 模块执行 USB 引导,在这种情况下,配置服务器将传输 file通过 USB 的实用程序操作系统。
实用程序操作系统启动后,它将通过以太网联系配置服务器以接收进一步的指令,并下载额外的 files(例如要写入 eMMC 的操作系统映像)像往常一样。 因此,除了 USB 电缆之外,以太网连接仍然是必要的。
托管以太网交换机上的生成树协议 (STP)
如果在托管以太网交换机上启用了 STP,则 PXE 引导将无法正常工作。 这可能是某些交换机(例如 Cisco)的默认设置,如果是这种情况,则需要禁用它才能使配置过程正常工作。
Raspberry Pi是Raspberry Pi Foundation的商标
树莓派有限公司
文件/资源
![]() |
Raspberry Pi 配置 Raspberry Pi 计算模块 [pdf] 用户指南 配置 Raspberry Pi 计算模块,配置,Raspberry Pi 计算模块,计算模块 |