在 yocto 构建中禁用 root 登录

Disable root login in yocto build

我是 yocto 项目的新手,我只是想在 yocto 构建映像中禁用 root 登录? 我不希望我的最终图像要求我登录。只是我需要在 sdcard 上刷新我的 yocto 图像并且没有显示登录提示。

感谢任何帮助。

创建映像时,将调试调整添加到 EXTRA_IMAGE_FEATURES,这将允许无密码进入 root。并添加 mingetty.

EXTRA_IMAGE_FEATURES = "debug-tweaks "
IMAGE_INSTALL_append = " mingetty "

之后,编辑/etc/inittab,注释掉上一行并使用mingetty进行自动登录;

#1:2345:respawn:/sbin/getty 38400 tty1
1:2345:respawn:/sbin/mingetty --autologin root tty1

如果您正在使用 SYSTEM Vbuild/conf/local.conf 文件中添加以下行。

EXTRA_IMAGE_FEATURES = "debug-tweaks "
IMAGE_INSTALL_append = " mingetty "  

下面的食谱提供了串行 inittab 打开文件并查看 do_install 函数

poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb

./poky/meta/recipes-core/sysvinit/sysvinit-inittab/inittab

#1:2345:respawn:/sbin/getty 38400 tty1 #在bb文件中注释这一行

1:2345:respawn:/sbin/mingetty --autologin root tty1 # 添加这一行

如果您使用的是 systemd,请在文件 meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service 中将服务中的 ExecStart 更改为:

ExecStart=-/sbin/agetty -a USERNAME -8 -L %I @BAUDRATE@ $TERM

将 USERNAME 更改为 root 或其他。