![无需终端服务器即可通过 TCP 连接串行端口](https://linux22.com/image/1420705/%E6%97%A0%E9%9C%80%E7%BB%88%E7%AB%AF%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8D%B3%E5%8F%AF%E9%80%9A%E8%BF%87%20TCP%20%E8%BF%9E%E6%8E%A5%E4%B8%B2%E8%A1%8C%E7%AB%AF%E5%8F%A3.png)
使用 pandboard,我想要转发 ttyO2 端口,首次登录会出现该端口并给出 bash。
如果不使用终端服务器(中间 PC 或串行服务器)作为 pandaboard 支持 eth0,我如何利用这个 eth0 来共享 ttyO2 并访问 bash 提示符以及内核日志(运行时)。
已经尝试过 socat、netcat、ser2net ser2sock 等......但它们不允许我访问可在 ttyO2 上交互的 bash 提示符,但创建了一个单独的管道,并且主机和设备都可以聊天,但无法发出命令。
答案1
我想转发 ttyO2 端口,第一次登录会出现该端口并给出 bash。
这是不可能的
。设备无法从内核重定向到其他地方。
有外部硬件解决方案,例如串行到以太网转换器(也称为调制解调器替代设备)。
然而逻辑安慰不必(单独)分配给串行端口。
控制台也可以分配给“网络控制台",它将输出大部分内核启动信息。一旦内核启动完成,你就可以通过 telnet 或 ssh 进入系统。
这Linux 内核文档描述了它的功能和用途。netconsole
和以太网驱动程序必须内置到内核中(即不能是可加载模块),因此您可能必须重新配置并为您的 Pandaboard 构建内核。
必须编辑内核命令行才能激活 netconsole:
netconsole=[src-port]@[src-ip]/[<dev>],[tgt-port]@<tgt-ip>/[tgt-macaddr]
where
src-port source for UDP packets (defaults to 6665)
src-ip source IP to use (interface address)
dev network interface (eth0)
tgt-port port for logging agent (6666)
tgt-ip IP address for logging agent
tgt-macaddr ethernet MAC address for logging agent (broadcast)