如何阻止console-getty.service启动?

如何阻止console-getty.service启动?

在我的嵌入式系统上,我使用 linux 内核 4.19.102 和 systemd 240。所有内容都是使用 buildroot 2019.02.9 生成的。

我使用设备的串行端口输出控制台。

bootargs = "console=ttyS0,115200";

在我使用的之前版本中,控制台端一切都很好(buildroot 2018.05、内核 4.16.y 和 systemd 237)。我有以下文件:正在启动/etc/systemd/system/getty.target.wants/[email protected]/sbin/getty -L ttyS0 115200 vt100

现在,控制台打印通常的启动消息,然后打印日志消息两次:

Welcome to MyDevice
MyDevice login:
Welcome to MyDevice
MyDevice login:

当我尝试使用以“r”开头的长密码登录时,我得到如下信息:

Welcome to MyDevice
MyDevice login:
Welcome to MyDevice
MyDevice login: root
Password: r
Login incorrect
MyDevice login:

我希望可以使用 SSH 登录。我已经看到“getty”服务在此版本中启动了两次:

# ps | grep getty
  988 root     /sbin/getty -L ttyS0 115200 vt100
 1002 root     /sbin/getty -L console 115200 vt100
 1117 root     grep getty

/etc 文件现在:/etc/systemd/system/getty.target.wants/console-getty.service正在启动/sbin/getty -L console 115200 vt100/sbin/getty -L ttyS0 115200 vt100仍然启动。

当我终止“控制台”服务(与以前的版本处于相同状态)时,我可以登录并且控制台终于正常了。

如何配置 buildroot 或 systemd 以阻止控制台服务启动?

答案1

问题是 BR2_TARGET_GENERIC_GETTY_PORT 是在 buildroot 2018.05 的“控制台”上设置的。需要在 buildroot 2019.02.9 中通过 'ttyS0' 进行更改。

相关内容