在yocto-kirkstone中设置root密码



我尝试通过几种方法为根设置密码。到目前为止,我什么都没用。我添加到local.conf:

INHERIT += "extrausers"
EXTRA_USER_PARAMS = "usermod -P 'mypasswd' root;"

我还尝试使用"加密"来加密密码;openssl密码-6-salt 12345 mypasswd":

INHERIT += "extrausers"
EXTRA_USER_PARAMS = "usermod -p '$6$12345$CdkMCUqHIe6eWfFhMIppyUE/S.iLGe.PACPivJhw05ideCyogNpnVNDIBSQXhSruJxfZCasTi6YvFOrPgFvM7/' root;"

我尝试了使用和不使用EXTRA_IMAGE_FEATURES的两种变体?="调试调整";。我还试图在sources/meta-qoriq/recipes-kernel/linux/linux-qoriq.inc中设置密码,该密码包含在内核配方中;sources/meta qoriq/precipes kernel/linux/linux-qoriq_5.15.bb";像这样";要求使用linux-qoriq.inc";。具有EXTRA_IMAGE_FEATURES?="调试调整";设置,没有设置密码,没有设置,密码就是错误的。我还尝试使用ROOTFS_POSTPROCESS_COMMAND手动编辑/ect/shadow文件。因此,我在sources/meta-qoriq/recipes-kernel/linux/linux-qoriq.inc文件中添加了这几行,因为似乎无法将bash函数添加到local.conf文件中。

set_pw () {
encrypted=$(openssl passwd -6 -salt 12345  mypasswd)
sed -i "s/^root::/root:$encrypted:/" ${IMAGE_ROOTFS}/etc/shadow
}
ROOTFS_POSTPROCESS_COMMAND += "set_pw;"

这也没有奏效。我的董事会是一个自由缩放LS1046ARDB。这就是为什么我使用freescale的linux qoriq发行版。

编辑:

添加:

inherit fsl-utils
ROOTFS_POSTPROCESS_COMMAND += "set_pw;

添加到我正在构建的映像的.bb文件(sources/meta-qoriq/precipes-fsl/images/fsl-image-networking.bb(,并将set_pw函数添加到sources/meta-qoriq/classes/fsl-utils.bclass文件对我来说很有效。无法直接将bash函数添加到fsl-image-networking.bb文件。但我仍然想知道为什么

INHERIT += "extrausers"
EXTRA_USER_PARAMS = "usermod -P 'mypasswd' root;"

不起作用。这就是它在其他一些帖子中的工作原理,比如这篇文章。如何在Yocto/Poky图像上设置root密码?。在柯克斯通,这样做的语法改变了吗?

可能是变量名的拼写错误?正确的是EXTRA_USERS_PARAMS(注意用户的复数(,请参阅官方文档。

顺便说一句,这里讨论了最佳实践:如何在yocto中安全地更新根密码的配置?

要回答:

但我仍然想知道为什么

INHERIT+=";外部用户";

EXTRA_USER_PARAMS=";usermod-P"mypasswd"根">

不起作用。这就是它在其他一些帖子中的作用,比如这篇如何在Yocto/Poky镜像上设置root密码?。具有的语法柯克斯通改变了吗?

正如Tomas所提到的,您需要使用EXTRA_USERS_PARAMS。

我过去在Yocto Sumo上使用过纯文本密码,这很有效。现在我已经搬到了柯克斯通,我注意到它没有,因为usermod已经被更改为不再接受明文密码。你必须给它一个加密的密码:

-p,--密码密码

crypt(3(返回的加密密码。

还要注意,使用-p而不是-p

Yocto手册提供了一个设置root密码+新用户的好例子。Kirkstone 中使用额外用户的示例

最新更新