Yocto新建自定义层编译gobinet内核模块提示找不到Makefile报错求助
问题原因
你使用的源码压缩包gobinet.tar.xz解压后所有文件都存放在gobinet二级子目录下,Yocto内核模块编译类module默认会在工作目录${WORKDIR}下执行编译命令,该目录下没有Makefile,因此触发报错。
解决方案
两种方案任选其一即可:
- 方案一:修改
gobinet_1.bb配置,指定源码根目录路径,在现有recipe内容中新增如下行:
S = "${WORKDIR}/gobinet"
修改后的完整recipe示例:
SUMMARY = "gobinet module" LICENSE = "CLOSED" inherit module SRC_URI = "file://gobinet.tar.xz;md5sum=13b5f20214a3925eb4be3b831b62612f" S = "${WORKDIR}/gobinet" #SRC_URI += " file://0001_gobinet_makefile.patch;md5sum=1261df573e1b91177954f6190a12c7b1"
- 方案二:调整源码压缩包结构,重新打包
gobinet.tar.xz,将所有源码文件直接放在压缩包根目录,不要额外嵌套gobinet文件夹,解压后Makefile会直接暴露在${WORKDIR}下即可正常编译。
验证步骤
修改完成后执行如下命令清理旧的编译缓存后重新编译即可:
bitbake gobinet -c cleansstate bitbake gobinet
内容的提问来源于stack exchange,提问作者Ivan Ivanovich
相关产品推荐
相关产品推荐

