YoctoProject:更改配方中所有文件的所有权
YoctoProject: change ownership of all files in a recipe
对于 YoctoProject(v2.0,Jethro),图像内文件的所有权默认为用户和组 root
,除非我通过 chown
和 chgrp
明确更改它们在给定配方的 do_install
步骤中。
我有一些食谱,所有文件都应该属于另一个组和用户而不是 root
。有没有一种(cleaner/smarter)方法可以在不调用 do_install
中的 chown
和 chgrp
的情况下实现这一点?
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; "
对于 YoctoProject(v2.0,Jethro),图像内文件的所有权默认为用户和组 root
,除非我通过 chown
和 chgrp
明确更改它们在给定配方的 do_install
步骤中。
我有一些食谱,所有文件都应该属于另一个组和用户而不是 root
。有没有一种(cleaner/smarter)方法可以在不调用 do_install
中的 chown
和 chgrp
的情况下实现这一点?
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; "