在插入 USB 串行设备上创建串行控制台

在插入 USB 串行设备上创建串行控制台

我有一个没有串口的 CentOS 7 无头系统。我有时我想使用串行电缆访问服务器,因此我插入 USB 串行电缆(连接到笔记本电脑的串行端口),但无法从连接中获取控制台/BASH。

我需要做些什么来告诉内核始终在出现 USB 串行端口时创建串行控制台吗?

答案1

编辑:如果您有最新版本,这将不起作用udev,因为它会阻止您在脚本udev中启动长期后台进程。RUN您可能能够也可能无法通过在命令前加上 来解决此问题gettysetsid但无论如何,如果不是完全禁止的话,也不鼓励这样做。如果您有一个使用的系统,systemd那么还有另一种方法可以实现此目的,我希望有人能提供另一个答案。与此同时,我将这个答案留在这里,以防它对您有用。


您不能使用 USB 串行端口作为控制台,因为 USB 在启动序列中初始化得太晚,在控制台需要工作很久之后。

您可以getty在 USB 串行端口上运行,以允许您登录并在该端口上获取 shell 会话,但它不会是系统的控制台。

getty自动启动,请尝试以下udev规则:

ACTION=="add", SUBSYSTEM=="tty", ENV{ID_BUS}=="usb", RUN+="/usr/local/sbin/usbrungetty"

将其放入规则文件中/etc/udev/rules.d,然后创建此可执行脚本/usr/local/sbin/usbrungetty

#!/bin/sh

/sbin/getty -L "$DEVNAME" 115200 vt102 &

相关内容