在我的嵌入式系统上,我使用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/serial-getty@console.service,它正在启动/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仍在启动。
当我杀死' console‘服务(与上一个版本处于相同的状态)时,我可以登录,控制台最终就可以了。
如何配置buildroot或systemd以防止控制台服务启动?
发布于 2020-02-12 14:28:34
问题是,BR2_TARGET_GENERIC_GETTY_PORT是在buildroot 2018.05的“控制台”上设置的。在buildroot 2019.02.9中,它需要由'ttyS0‘来更改。
https://unix.stackexchange.com/questions/566959
复制相似问题