Yocto Linux删除build/tmp后运行bitbake报/tmp权限错误如何解决
Yocto删除build/tmp后报/tmp权限错误的解决方案
- 先修正之前的命令拼写错误:你之前执行的
chomd -R 777 build/tmp/属于拼写错误,正确命令为chmod,该错误会导致你修改权限的操作实际没有生效。 - 检查
conf/local.conf中的TMPDIR配置:确保变量配置为指向构建目录下的临时路径,示例如下:
不要配置为根目录下的绝对路径TMPDIR = "${TOPDIR}/tmp"/tmp,普通用户默认没有权限修改根目录/tmp下的系统级文件属性,会触发权限报错。 - 清理残留的异常权限文件:如果你曾经使用root/sudo身份执行过BitBake操作,会在全局
/tmp目录下生成属主为root的BitBake临时文件,仅修改build目录权限无法解决问题,执行以下命令修正权属:sudo chown -R $(whoami):$(whoami) build/ sudo find /tmp -maxdepth 1 -user root \( -name "*bitbake*" -o -name "*yocto*" -o -name "*poky*" \) | xargs sudo rm -rf - 保留构建进度重跑:不需要全量重编,你已经生成的sstate缓存会被自动复用,仅清理对应镜像配方的无效状态即可:
内核等已经完成构建的组件不会被重新编译,只会重新生成涉及层变更的镜像相关组件。bitbake -c cleansstate <你的镜像配方名> bitbake <你的镜像配方名>
内容的提问来源于stack exchange,提问作者Vid
相关产品推荐
相关产品推荐

