Yocto构建STM32MP157内核menuconfig时遇SOURCE_DATE_EPOCH权限错误
问题分析
执行bitbake -c menuconfig virtual/kernel时触发PermissionError: [Errno 13] Permission denied: '/home/vboxuser/Projects',核心原因是使用root用户执行Yocto构建操作,目标目录属于普通用户vboxuser导致权限冲突;SOURCE_DATE_EPOCH导出失败是权限问题引发的次生错误,并非根源。
解决方案
1. 切换为普通用户执行构建
Yocto官方明确禁止使用root用户进行构建,退出root会话,切换回vboxuser:
su - vboxuser
重新初始化Yocto构建环境:
cd /home/vboxuser/Projects/yocto source poky/oe-init-build-env build-mp1
再次执行menuconfig命令:
bitbake -c menuconfig virtual/kernel
2. 修复目录权限(若之前用root操作过)
如果之前误以root身份执行过构建,导致目录所有权混乱,用root执行以下命令修复:
chown -R vboxuser:vboxuser /home/vboxuser/Projects chmod -R 755 /home/vboxuser/Projects
该命令将Projects目录及其子目录的所有权恢复给vboxuser,并设置合理的读写权限。
3. 无需手动设置SOURCE_DATE_EPOCH
SOURCE_DATE_EPOCH的导出错误是权限问题导致的连锁反应,解决目录权限和用户身份问题后,Yocto会自动处理该变量,无需手动导出。
内容的提问来源于stack exchange,提问作者PiotrBzdrega
相关产品推荐
相关产品推荐

