我需要在Yocto中更改文件所有权。我有一个创建目录的食谱。为了创建一个新的组和用户,我添加了image.bbappend:
inherit extrausers
EXTRA_USERS_PARAMS = " groupadd new_group;
useradd -g new_group -p '' new_user;
usermod -a -G new_group root
"
为我的图像添加一个新目录,我添加了some_recipe.bbappend:
FILES_${PN} = "/dir1/dir2"
do_install_append() {
install -d ${D}/dir1/dir2
}
当我尝试在上面的do_install_append()任务中使用chown -R my_group.my_user /dir1/dir2
时,我得到一个错误,即这样的组和用户不存在。所以接下来,我尝试将上面的三条线添加到图像中。bbappend文件。我从bitbake中没有得到任何错误,但在最终的图像目录中仍然由root拥有。
尝试在.bbappend文件中添加:
pkg_postinst_ontarget:${PN}() {
chown -R user:group /dir1/dir2
}
我认为问题在于您试图在Yocto创建用户之前更改文件的所有权。