1

我们正在开发一个小项目,我们需要一种稳定的方式来远程更新我们的设备(我们使用的是 Raspberry PI 4)。我们决定使用 Mender。

我能够从官方 raspbian 映像创建一个可启动的 Mender 映像。之后我决定首先在 SD 卡上安装官方 raspbian 映像,进行所有必要的重大更改(安装所有必需的包,添加我们项目的第一个版本,...)并创建 SD 卡的映像。

所以......这并不顺利。我能够制作 SD 卡的副本,并且能够创建精确的副本并在另一台设备上运行它。但 Mender 无法将其识别为可引导映像,因此无法对其进行转换。

我使用以下命令创建图像文件:

sudo dd if=/dev/sda2 of=/project/input/custom.img

尝试将图像转换为有效的 Mender 图像后,出现以下错误:

2020-03-09 08:03:22 [INFO] [mender-convert-extract] Using configuration file: configs/mender_convert_config
2020-03-09 08:03:22 [INFO] [mender-convert-extract] Using configuration file: configs/raspberrypi4_config
partx: input/custom.img: failed to read partition table
2020-03-09 08:03:22 [INFO] [mender-convert-extract] Validating disk image
2020-03-09 08:03:22 [FATAL] [mender-convert-extract] Sorry, but could not find any valid partitions for: input/custom.img

由于它无法验证图像,我认为我尝试将图像转换为版本的方式没有问题,而是我创建 SD 卡副本的方式。我使用以下教程将图像转换为 Mender 版本:

https://hub.mender.io/t/raspberry-pi-4-model-b-raspbian/1312

所以我的问题:

如何将 SD 卡转换为可引导映像,包括可引导分区和所有内容?

4

1 回答 1

0

如果您尝试执行此类操作,请始终先查看官方教程。

原来我使用了错误的论点。要制作可启动映像,您可以使用:

dd if=<DEVICE> of=golden-image-1.img bs=1M conv=fdatasync

来源:https ://docs.mender.io/2.1/artifacts/debian-family

于 2020-03-09T14:41:03.020 回答