YoctoProject:更改配方中所有文件的所有权

YoctoProject: change ownership of all files in a recipe

对于 YoctoProject(v2.0,Jethro),图像内文件的所有权默认为用户和组 root,除非我通过 chownchgrp 明确更改它们在给定配方的 do_install 步骤中。

我有一些食谱,所有文件都应该属于另一个组和用户而不是 root。有没有一种(cleaner/smarter)方法可以在不调用 do_install 中的 chownchgrp 的情况下实现这一点?

BSP 供应商通常会提供示例配方来解决基本任务。
通常文件夹名为“recipes-skeleton

User/Group 为飞思卡尔 BSP 添加配方示例路径:
~/yocto/fsl-community-bsp/sources/poky/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb

同样可以在 github:
上找到 https://github.com/dirtybit/gumstix-yocto/blob/master/meta-skeleton/recipes-skeleton/useradd/useradd-example.bb

要更改 root 用户信息,请查找 EXTRA_USERS_PARAMS 标志。需要先继承"extrausers"class。 class 的文档位于:
http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#ref-classes-extrausers

您可以轻松地将用户添加到您的食谱中。

inherit extrausers
EXTRA_USERS_PARAMS = " useradd user1; \
                       useradd user2; \
                       useradd user3; \
                       usermod  -p 'user1_psw' user1; \
                       usermod  -p 'user2_psw' user2; \
                       usermod  -p 'user3_psw' user3;\
                       usermod  -a -G sudo user1; \
                       usermod  -a -G sudo user2; \
                       usermod  -a -G sudo user3; "