Yocto Warrior 无法为 root 或其他用户设置密码

Yocto Warrior Cannot Set Password for root or other users

我正在使用 meta-tegra warrior 分支层为 Nvidia Jetson Nano 构建 SD 卡映像。映像完成,电路板启动,但如果我尝试在 Yocto 中设置任何类型的密码,我将无法登录。我试过创建除 root 以外的用户并设置他们的密码,但同样的问题出现在我无法登录的地方。

如果我启用 "debug-tweaks",并且根本不尝试修改 root 密码,我可以在没有密码的情况下成功登录。

我在OE中使用warrior分支,没有修改其他层。如何为root设置密码?谢谢。

这是我的 local.conf 密码相关行:

# Password Stuff
INHERIT += "extrausers"
#EXTRA_IMAGE_FEATURES = "debug-tweaks"
EXTRA_USERS_PARAMS = "usermod -P mypassword123 root; "
EXTRA_USERS_PARAMS = " useradd testing; \
                       useradd mts; \
                       usermod  -p 'testing12345' testing; \
                       usermod  -p 'comp12345' comp; \

usermod-p(减去 p)需要从 openssl passwd 命令生成的散列,因此您需要按如下方式设置 Yocto 变量:

EXTRA_USERS_PARAMS = "usermod -p $(openssl passwd <some_password>) root;"

如果你想附加一些东西到bitbake变量,你需要使用_append+=运算符,即:

EXTRA_USERS_PARAMS_append = " useradd testing;"
EXTRA_USERS_PARAMS_append = " useradd mts;"
...