linux - 如何在 Yocto 发行版上创建交换分区/文件
问题描述
我正在尝试在core-image-minimal
已安装 a 的板上创建一个交换分区/文件。
该fdisk -l
命令不显示任何分区,因此我无法确定需要使用哪个块设备来创建新分区。
其次,在正确初始化的 using上启动swapon
命令会引发一个无效参数错误,指出该文件包含漏洞,即使我使用.swapfile
mkswap
dd
在这一点上,我不确定我是否可以做这样的事情,因为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 机器交换支持提交。
您可以使用自定义wks
文件并将其设置为您的自定义机器 conf 文件:
WKS_FILE ?= "custom-image.wks"
有关详细信息,请查看有关wks的 Yocto 参考。
推荐阅读
- c - 表达式值在 C 中被赋值之前是如何存储的?
- postgresql - 如何使用 Gorm(go struct)将 Postman(json 类型)中的值插入 Postgres
- javascript - 如何从 MD5 哈希生成(1-100)之间的随机数
- javascript - 更新时全局 JS 对象的旧值发生变化
- selenium - 多个用户如何使用 Jmeter 在具有多个选项卡的单个浏览器中登录?
- google-sheets - 在两个不同工作表之间使用 IMPORTRANGE 查询
- sql - 根据 Impala 中的条件计算两个时间戳之间的时间差
- postgresql - 基于 Postgresql 上的 LSN 跟踪异常事务
- node.js - 如何通过节点中的短信验证电话号码
- cuda - cudaSetDevice() 对 CUDA 设备的上下文堆栈有什么作用?