如何在 Yocto 发行版上创建交换 partition/file

How to create swap partition/file on a Yocto distribution

我正在尝试在我的板上创建一个交换 partition/file,其中安装了 core-image-minimal

fdisk -l 命令没有显示任何分区,因此我无法弄清楚我需要使用哪个块设备来创建新分区。

其次,在使用 mkswap 正确初始化的 swapfile 上启动 swapon 命令将引发无效参数错误,指出该文件包含漏洞,即使我使用 [= 创建它也是如此17=].

此时我不确定我是否可以做这样的事情,因为 free 输出看起来像:

              total        used        free      shared  buff/cache   available
Mem:         503304       32108      101108         216      370088      465180
Swap:             0           0           0

要向映像添加任何分区,您需要修改用于构建的 wks 文件。

获取当前wks文件运行:

bitbake -e | grep ^WKS_FILE=

然后,在您的图层源中查找该文件。

您可以在该文件中添加(例如 1GB 交换空间):

part swap --ondisk mmcblk0 --size 44 --label swap --fstype=swap --size=1024M --overhead-factor 1

一个真实的例子,你可以看到raspberry-pi machine swap support commit here.

您可以使用自定义 wks 文件并将其设置为您的自定义机器配置文件:

WKS_FILE ?= "custom-image.wks"

有关详细信息,请查看有关 wks 的 Yocto 参考资料。