能否为runqemu配置永久生效的Qemu默认运行参数?
runqemu永久设置默认QEMU参数方案
完全可以实现永久配置,即使重新bitbake编译项目也不会失效,有两种常用方案可选:
方案1:修改构建配置文件local.conf(单项目适用)
这是最简便的方案,不需要改动层配置,仅对当前构建项目生效:
- 打开你构建目录下的
conf/local.conf文件 - 在文件末尾添加对应配置变量,示例如下:
# 设置QEMU默认内存为4G QB_MEM = "-m 4G" # 设置QEMU默认CPU核数为8 QB_CPU = "-smp 8" # 追加其他自定义QEMU参数,例如开启KVM加速、指定CPU型号 QB_OPT_APPEND = "-enable-kvm -cpu host"
- 保存退出后重新构建或者直接启动runqemu即可生效,不需要每次手动传入
qemuparams参数。如果临时需要覆盖默认配置,还是可以正常传入qemuparams参数,手动传入的值优先级高于默认配置。
小提示
如果需要针对特定架构单独配置参数,可以在变量后加架构后缀,避免影响其他架构的QEMU启动:
- 针对x86-64架构配置:
QB_MEM:x86-64 = "-m 8G" - 针对arm64架构配置:
QB_MEM:arm64 = "-m 2G"
方案2:写入自定义层配置(多项目/团队复用适用)
如果需要把默认配置固化到层中,方便多个项目复用,可以直接把上面提到的QB_*系列变量添加到自定义层的conf/layer.conf文件中,只要你的自定义层被加入到构建环境的bblayers.conf中,配置就会自动生效,不需要每个项目单独修改local.conf。
验证方法
启动runqemu时不需要加任何qemuparams参数,进入系统后可以通过free -h查看内存大小、lscpu查看CPU核数确认配置是否生效,也可以直接查看runqemu启动时的控制台输出,里面会打印完整的QEMU启动参数,确认配置是否被正确加载。
内容的提问来源于stack exchange,提问作者Piotr Surma
相关产品推荐
相关产品推荐

