如何在 Yocto 发行版上创建交换分区/文件

问题描述

我正在尝试在安装了 core-image-minimal 的板上创建交换分区/文件

fdisk -l 命令不显示任何分区,因此我无法确定我需要使用哪个块设备来创建新分区。

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

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

free

解决方法

要将任何分区添加到您的映像,您需要修改用于构建的 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 机器交换支持提交 here

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

WKS_FILE ?= "custom-image.wks"

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