我正在尝试创建一个用户并将其添加到拨出组。
我做了一个继承useradd并添加我的系统需要的用户的食谱。
这是我食谱的相关部分:
inherit useradd
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "-d /home/myuser -r -m -s /bin/bash myuser -g
mygroup -G dialout;"
GROUPADD_PARAM_${PN} = "-g 870 mygroup;"
生成错误之前,构建将进入rootfs_build步骤。日志显示:
NOTE: useradd: Performing useradd with [--root
/mnt/hdd1/yocto/build/tmp/work/intel_corei7_64-poky-
linux/core-image-sato/1.0-r0/rootfs -d /home/myuser -r -m -s /bin/bash
myuser -g mygroup -G dialout]
ERROR: useradd: useradd command did not succeed
没有
-G dialout
选项,它可以完美地工作。关于如何解决这个问题的任何想法?
我也尝试过继承Extrausers并执行
usermod -aG dialout myuser
。 最佳答案
我怀疑这是由于dialout
组不存在,至少在添加myuser
时不存在。
如果跳过-G dialout
部分并构建图像,是否在/etc/group
中有一个称为Dialout的组?如果没有,则可以按照创建dialout
的相同方式创建mygroup
组。如果已经存在,我怀疑您需要确保在使用dialout
之类的软件包之前已安装添加RDEPENDS_${PN} += "<package that provides dialout group>
组的软件包。