- 浏览: 1434249 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
getelephantbyid:
make 无法通过.....
php-5.3,php-5.4的thttpd2.25b补丁,及编译方法 -
getelephantbyid:
patch -p1 ../php-5.4.7_thttpd-2 ...
php-5.3,php-5.4的thttpd2.25b补丁,及编译方法 -
zander:
zander 写道c 语言是静态类型语言还是动态类型语言阅读理 ...
什么是动态语言和静态语言? -
zander:
c 语言是静态类型语言还是动态类型语言
什么是动态语言和静态语言? -
lunajiayou:
很有道理,赞一个
跟着苍蝇会找到厕所,跟着蜜蜂会找到花朵
开始之前,请确认机器有串口(com口, RS232接口),如果没有,那就没有办法达到通过串口控制机器的目的了。当然,也可以额外给机器安装一个带串口的 PCI 模块,然后想办法将模块驱动起来(内核默认能驱动就最好了),这样机器就有可用的串口了。
串口终端特别适合用在不方便接显示器和键盘鼠标的 linux 机器上,特别是用在用作
交换机、路由器等用途的 linux 系统上。配置好串口终端后,可以拆掉系统的显示卡,用RS232
线缆连接受控机器(配置好串口终端的 Linux 机器)和控制机器,然后在控制机器上通过超级终端、minicom
等就可以操作受控机器了。
下面的步骤讲述如何配置一台串口终端控制的 Linux 机器,即受控机器。
1、首先找到计算机的串口命名
执行命令:
dmesg | grep tty
将得到类似以下的输出
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS0 便是串口命名,如果有多个串口,还会有 ttyS1 等等
2、检查是使用 agetty 还是 getty 命令
有的系统没有 getty 命令, 那初始化虚拟终端时就要使用 agetty 命令,
最好使用绝对路径 /sbin/getty 或者 /sbin/agetty
3、配置 grub ,让启动信息也输出到串口。如果启动信息不需要输出到串口,
则忽略这一步
打开 /boot/grub/grub.conf (也可能是其他路径) 找到以下面字符开始的一行
kernel /vmlinuz-*** ro root=LABEL=/
修改成以下形式
kernel /vmlinuz-*** ro root=LABEL=/ console=tty0 console=ttyS0,115200n8
即添加了相关参数
console=ttyS0,115200n8 console=tty0
ttyS0 是串口命名,115200 是波特率,无校验,数据位 8 ;同时指定启动信息也要
输出到第一个终端 tty0
4、配置 init, 让其初始化串口终端。这里分两种情况: 老版本的 init 和 upstart
4.1、老版本的 init (sysvinit)
打开 /etc/inittab , 如果出现以下内容,则可以确认是老版本的 init,否则
请看 4.2
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
添加一行初始化串口的内容即可,添加后如下:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
co: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 2
start on runlevel 3
start on runlevel 4
start on runlevel 5
stop on runlevel 0
stop on runlevel 1
stop on runlevel 6
respawn
exec /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 文档:
http://www.gnu.org/software/grub/manual/grub.html
http://www.gnu.org/software/grub/manual/grub.html#Serial-terminal
http://www.gnu.org/software/grub/manual/grub.html#Preset-Menu
发表评论
-
google pagespeed禁用改写html文件的cache头
2019-09-04 19:51 424这会禁用html文件的缓存,无法读取last-modifi ... -
macos 安装imagick解决php不能显示验证码的问题
2018-11-04 04:15 1143需要选安装pear,然后用pecl install imagi ... -
linux入侵检测
2018-07-07 22:58 629一、检查系统日志 l ... -
yii的安全策略
2018-07-06 04:02 388web根目录下.htaccess 写道 Options ... -
免费Web防火墙
2018-07-06 01:21 5511,modsecurity 基于apache 历史最悠久 ... -
两款免费好用的Web渗透工具
2018-07-06 01:12 9221,OWASP Zed Attack Proxy (ZAP ... -
apache2反向代理
2018-06-12 18:46 790开启以下两个模块 a2enmod proxy a2enm ... -
扩展Aws云主机磁盘大小
2018-03-05 21:17 1319进入ELASTIC BLOCK STORE-》卷 选中要修 ... -
ubuntu时区设置
2018-02-25 10:41 648查看当前时区 timedatectl 修改时区 dpk ... -
macos 10.13 dmg下载和安装盘制作
2018-02-05 19:58 9891https://bbs.feng.com/read-htm-t ... -
windows升级后 iis服务无效 IIS-W3SVC-WP 无法读取配置文件
2017-12-01 11:35 1547通过使用以管理员身份运行选项打开 Windows PowerS ... -
vmware中运行的macos连接iphone
2017-09-30 17:53 2224需要iphone插在usb2.0端口上,并且虚拟机usb兼容性 ... -
brotli压缩算法说明
2017-06-09 02:36 1210brotli是新一代的HTTP压缩算法,用于替代gzip,相 ... -
TCP Fast Open说明
2017-06-09 02:34 6980相关介绍 https://lwn.net/Article ... -
使用strongswan建立基于ikev2 eap-mschapv2的ipsec服务器
2017-04-17 23:14 3076sudo apt-get install strongsw ... -
使用strongswan/xl2tpd建立ipsec/l2tp服务器
2017-04-17 22:32 6023sudo apt-get install strongsw ... -
SecureFX中文件名乱码的解决
2014-08-28 03:23 3271原始贴子:https://forums.vandyke.c ... -
禁用htc one m7官方内核的写保护
2014-08-26 14:52 1240老外写的内核模块源码:https://github.com ... -
windows和office的kms激活方法(windows 企业版,office vl版可用)
2013-03-17 19:28 21windows 激活windows 8slmgr.vbs /i ... -
windows 8 64bit 离线官安装 .net framework 3.5
2013-01-23 11:32 1885因为国内网络问题不可能在线安装成功,所以就有了这么多麻烦。 ...
相关推荐
USB转串口RS232接口驱动程序 USB转串口RS232接口驱动程序
ARM Linux设置RS232 ttyS1
摘要:串口通信是一种广泛使用且实用的通信方式,介绍RS232串行通信的联结方式,研究利用c语言编程实现RS232串行通信的过程。结合实际应用,在约定双方串行通信协议的基础上,运用C语言开发的串行通信软件,实现了...
FPGA实现串行接口 RS232,verilog代码
虽然近年来随着USB口的日趋流行,RS232接口串口作为一种传统的串口通信口有被取代的趋势。然而由于它具有较高的性价比和传输的可靠性Ⅲ。在传输速率要求不是很高的情况下,串口通信仍然具有其自身的优势。同时RS232...
VC 串口通信 串口读写 com接口 rs232读写 VC编写,工控程序编写
好用的。Serial IO Card-华塑PCMCIA转串口RS232-oxford cf950串口卡驱动程序,win7和linux
USB接口转换成RS232接口驱动程序,通过串口——USB线即可实现通信
一个非常使用编译通过实测亲测可用的 vs2010 c编写的静态库文件,附带了com口urt rs232口的测试程序 可用直接编译使用,我是用在我的工程里面的, 这个工程打包,可以学习如何使用vs开发环境在windows下编写你自己...
usb转串口RS232驱动程序usb转串口RS232驱动程序usb转串口RS232驱动程序
RS232接口定义 PC串行接口串口定义(db9) PC/AT 机上的串行口是 9 针公插座,引脚定义为:
串口调试助手RS232,最常用的通讯串口调试工作,工程师必备。
配置linux系统配置,使得linux可以通过console线连接console口来登录后台。
RS232com上位机串口控制源码。通过pc机连接com串口设备。并测试接收/发送数据。
FPGA实现串行接口RS232.doc
USB口转串口RS232R的驱动及安装说明,内含多个系统的驱动程序。
RS232与RS485串行接口转换电路及其编程实现