解决 2509 QEMU冒烟测试 离线部署 出现 make 执行出错的问题
当前处于生成仿真镜像包的阶段
现象
执行:bingo build -sc qemu -b openUBMC 时出错
分析
执行命令为:sudo make
执行目录为:manifest/temp/qemu/qemu_rootfs/data/script
手动执行make:

离谱。。。。又要下载:https://gitcode.com/openharmony_mirror/third_party_cJSON.git
让我看看Makefile文件中是否还要下载其他软件:
看来只需要下载 third_party_cJSON
最简单的办法是内网部署 third_party_cJSON
这个Makefile在temp目录,只改这个目录下的文件治标不治本,猜测这个Makefile在qemu仓,果然如此:
mock/data/script/Makefile
调试:
1、部署third_party_cJSON到内网
2、修改qemu中的third_party_cJSON下载地址
3、重新执行 bingo build -sc qemu -b openUBMC
调试有效,正常生成了 output/packet/inner/openUBMC_qemu_default.cpio.gz 仿真镜像包
总结
仿真镜像包的构建依赖 cJSON,当前是在qemu仓的Makefile中配置源码仓路径,离线部署无法访问此源码仓路径,导致make执行错误。
解决方案
当前临时:
方案一:部署third_party_cJSON源码到内网(已验证)
方案二:将third_party_cJSON直接放到qemu仓中
长期建议:
如果社区推荐方案一,那么应该在yml中指定third_party_cJSON镜像仓路径
如果社区推荐方案二,那么应该在qemu仓中加入third_party_cJSON压缩包
或者,将third_party_cJSON打包成conan包?




