微信安装,seo博客,3d演示中国空间站建造,外贸前景比较好的行业开始之前#xff0c;请确认机器有串口(com口, RS232接口)#xff0c;如果没有#xff0c;那就没有办法达到通过串口控制机器的目的了。当然#xff0c;也可以额外给机器安装一个带串口的 PCI 模块#xff0c;然后想办法将模块驱动起来(内核默认能驱动就最好了)#xff0c…开始之前请确认机器有串口(com口, RS232接口)如果没有那就没有办法达到通过串口控制机器的目的了。当然也可以额外给机器安装一个带串口的 PCI 模块然后想办法将模块驱动起来(内核默认能驱动就最好了)这样机器就有可用的串口了。串口终端特别适合用在不方便接显示器和键盘鼠标的 linux 机器上特别是用在用作交换机、路由器等用途的 linux 系统上。配置好串口终端后可以拆掉系统的显示卡用RS232 线缆连接受控机器(配置好串口终端的 Linux 机器)和控制机器然后在控制机器上通过超级终端、minicom 等就可以操作受控机器了。下面的步骤讲述如何配置一台串口终端控制的 Linux 机器即受控机器。1、首先找到计算机的串口命名执行命令:dmesg | grep tty将得到类似以下的输出serial8250: ttyS0 at I/O 0x3f8 (irq 4) is a 16550A00:0c: ttyS0 at I/O 0x3f8 (irq 4) is a 16550AttyS0 便是串口命名如果有多个串口还会有 ttyS1 等等2、检查是使用 agetty 还是 getty 命令有的系统没有 getty 命令, 那初始化虚拟终端时就要使用 agetty 命令,最好使用绝对路径 /sbin/getty 或者 /sbin/agetty3、配置 grub 让启动信息也输出到串口。如果启动信息不需要输出到串口则忽略这一步打开 /boot/grub/grub.conf (也可能是其他路径) 找到以下面字符开始的一行kernel /vmlinuz-*** ro rootLABEL/修改成以下形式kernel /vmlinuz-*** ro rootLABEL/ consolettyS0,115200 consoletty0即添加了相关参数consolettyS0,115200n8 consoletty0ttyS0 是串口命名115200 是波特率无校验数据位 8 同时指定启动信息也要输出到第一个终端 tty04、配置 init, 让其初始化串口终端。这里分两种情况: 老版本的 init 和 upstart4.1、老版本的 init (sysvinit)打开 /etc/inittab , 如果出现以下内容则可以确认是老版本的 init否则请看 4.21:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin/mingetty tty6添加一行初始化串口的内容即可添加后如下:1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin/mingetty tty6co:2345:respawn:/sbin/agetty ttyS0 115200 vt102注意如果系统没有 /sbin/agetty, 则要改成 /sbin/getty 或其它。vt102 是常用的 Linux 虚拟终端4.2、新的 upstart。ubuntu 使用 upstart 替代了 sysvinit并且其他的发行版也有采用 upstart 的(fedora 9 和之后的版本)打开 /etc/inittab, 如果没有出现 4.1 中的内容则说明系统使用的是 upstart进入 /etc/event.d/ 目录, 创建文件 /etc/event.d/ttyS0 , 并加入以下内容:####################################################################### ttyS0 - getty## This service maintains a getty on ttyS0 from the point the system is# started until it is shut down again.start on runlevel 2start on runlevel 3start on runlevel 4start on runlevel 5stop on runlevel 0stop on runlevel 1stop on runlevel 6respawnexec /sbin/agetty -L 115200 ttyS0 vt102######################################################################保存退出即可5、赋予串口终端 root 登录权限在文件 /etc/securetty 末尾加入如下一行(注意行前面没有空格)ttyS0加入上面一行后, root 将可以直接通过串口终端登录系统否则只有普通用户可以通过串口终端登录系统6、注意串口命名(ttyS0 ttyS1 等)一定要和系统识别的一致不能想当然乱编。确认系统有 /sbin/agetty, /sbin/getty 或其他初始化终端的命令有哪个就用哪个。终端波特率设置都要一致用 115200 则全部都要用 115200. 据我的经验9600有一次就是不行原因未知。可用的波特率如下300/600/1200/2400/4800/9600/19200/38400/57600/115200/230400 等等如果确认配置没错, 但就是无法工作, 可以换不同的波特率尝试一下 :)7、配置好后重启系统用其他 windows 机器的超级终端或者 linux 机器的 minicom 连接即可。记得设置好波特率无校验数据位 8连接时两端都用 RS232 线缆(console 线购买交换机、路由器都会随机带的那种线缆)即可。8、关于 grub通过步骤 3 配置的 grub, 只能让部分启动信息输出到串口终端包括 grub 菜单接口在内的另外一部分信息都无法输出到串口终端。要让 grub 完整的支持串口终端需要重新编译grub, 相关内容请参照完整的 grub 文档: