VirtualBox下配置串口以及stty命令详解(原创)

简介:

虚拟机于主机通过串口通信 

我们需要先配置一下宿主机器上的virtualbox。

1. 在串口栏中勾选 []启用串口(E)

2. 端口编号选择COM1

3. 端口模式选择Host Pipe

4. 勾选 []创建通道(C)

5. Port/File Path: 填上 /tmp/serial. 也就是说我们在宿主机器的/tmp/中创建了serial的通道文件

此外,我们还要在宿主机器上设定一下串口.在此之前需要安装minicom软件

1. 运行minicom -s命令

2. CTRL+A调出配置界面,选择Serial port setup

3. Serial Device修改为 unix#/tmp/serial

4. Bps/Par/Bits修改为 9600 8N1

5. Hardware Flow Control和Software Flow Control都设置为No.

6. 保存为dfl以后退出

在虚拟机上配置:

修改/boot/grub/menu.lst,将输出导出到串口

title     Debian GNU/Linux, kernel 2.6.32.7

root    (hd0,0)

kernel  /boot/vmlinuz-2.6.32.7 root=/dev/hda1 ro console=ttyS0,9600

initrd    /boot/initrd.img-2.6.32.7

修改/etc/inittab,允许输出的控制台为ttyS0.

#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100

启用即可。

宿主机开启minicom, 然后启动虚拟机,就可以看到系统启动输出信息全部导出到了串口上。等到登陆界面出现的时候,就可以登陆操作。

虚拟机和虚拟机之间的串口通信 

两台虚拟机间的通信也可以通过利用主机的命名管道来完成。原理可以简单的这样描述:一台虚拟机在主机中创建的命名管道并其串口相连,另外一台虚拟机也将自 己的串口连到主机的命名管道上,这样两个虚拟机的串口就能连起来了。这里两台虚拟机都使用各自的COM1端口,主机的命名管道为同一管道/tmp /vbox,在配置时一台创建通道(假设为Ubuntu8.10DevOS),另一台不创建。启动时先启动创建通道的虚拟机,然后启动另一台虚拟机,分别 打开两台虚拟机的终端,通过如下命令将各自的COM1口的输入输出波特率都设为115200
虚拟机A:stty ispeed 115200 ospeed 115200 -F /dev/ttyS0 
虚拟机B:stty ispeed 115200 ospeed 115200 -F /dev/ttyS0 
测试过程:
在其中一台虚拟机A终端上执行
cat /dev/ttyS0 
在另一台虚拟机B上执行
echo ok > /dev/ttyS0 
这时虚拟机A的终端会接受到B发来的ok消息。

如果不确认串口线在哪个串口上可以安装setserial软件执行

setserial -g /dev/ttyS*

看看那个串口有信息! 有可能是串口到ttyS1上了

stty命令详解 

[语法]: stty [-a] [-g] [选项]

[说明]: 本命令设置终端,无参数时报告终端设置,本命令功能十分强大,应谨慎使用,下面仅介绍部分常用功能  详细如下:

-a 显示当前终端所有设置

-g 以能作为 stty 命令参数的方式显示终端设置

以下是终端常用设置,在设置前加-表示清除设置:

控制方式 
ispeed 0 110 300 600 1200 1800 2400 4800 9600 19200 38400
本命令设置终端输入波特率,若为0则使用缺省波特率。

例如 stty ispeed 9600 
ospeed 0 110 300 600 1200 1800 2400 4800 9600 19200 38400
本命令设置终端输出波特率,参看 ispeed。

输入方式 
ingbrk(-ignbrk) 忽略(不忽略)中断(BREAK)
brkint(-brkint) 设置(清除)信号INTR为中断信号
inlcr(-inlcr) 将换行转换(不转换)成回车
icrnl( -icrnl) 将回车转换(不转换)成换行
igncr(-ignrc) 忽略(不忽略)回车
iuclc( -iuclc) 将大写字母转换(不转换)成小写字母

输出方式 
olcut(-olcut) 将小写字母转换(不转换)为大写字母
onlcr(-onlcr) 输出时将换行符转换(不转换)为回车换行
ocrnl(-ocrnl) 输出时将回车符转换(不转换)为换行符

本地方式 
echo (-echo) 设置(清除)回显
stwrap(-stwrap) 截断(不截断)大于79个字符的行
echoctl(-echoctr) 将控制键回显为^


参考至:http://www.osmsg.com/2010/06/%E6%AF%8F%E5%A4%A9%E4%B8%80%E4%B8%AA-linux-%E5%91%BD%E4%BB%A4%E4%B9%8B-stty-%E8%AF%A6%E8%A7%A3/

           http://forum.eet-cn.com/BLOG_ARTICLE_5058.HTM

           http://hi.baidu.com/%E8%9D%8C%E8%9A%AAabc/blog/item/1f3a9bdb4bdfb4d5b7fd4847.html

           http://blog.sina.com.cn/s/blog_5e6fbd010100d8r2.html

           http://wenwen.soso.com/z/q202296886.htm

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

作者:czmmiao 原文地址:http://czmmiao.iteye.com/blog/1044158
相关文章
|
9月前
|
Linux
【Linux】常用命令大全(二)(上)
【Linux】常用命令大全(二)
87 0
|
16天前
|
Ubuntu Linux 网络安全
【Linux】虚拟机安装Linux、客户端工具及Linux常用命令(详细教程)
【Linux】虚拟机安装Linux、客户端工具及Linux常用命令(详细教程)
109 1
|
6月前
|
数据可视化 Linux 网络安全
【Linux】虚拟机安装Linux、客户端工具,MobaXterm的使用,Linux常用命令
【Linux】虚拟机安装Linux、客户端工具,MobaXterm的使用,Linux常用命令
115 0
|
8月前
|
Ubuntu Linux 数据安全/隐私保护
Linux专栏(二)——创建虚拟机与Ubuntu安装
Linux专栏(二)——创建虚拟机与Ubuntu安装
141 0
|
9月前
|
Java Linux 开发工具
【Linux】常用命令大全(二)(下)
【Linux】常用命令大全(二)(下)
92 0
|
10月前
|
Linux Windows
【Linux专栏】Linux 常用文件管理命令(常用命令大全)(一)
【Linux专栏】Linux 常用文件管理命令(常用命令大全)(一)
100 0
|
10月前
|
Linux
【Linux专栏】Linux 常用文件管理命令(常用命令大全)(二)
【Linux专栏】Linux 常用文件管理命令(常用命令大全)(二)
144 0
|
Linux 网络安全
LINUX DHCP服务操作参考
LINUX DHCP服务操作参考
116 0
|
安全 Linux 数据安全/隐私保护
【Linux搭建创建FTP服务器】---完美解决 - 费元星
配置大红字文件置顶:   vsftp d.conf 4.5KB     useradd -d /home/bai_du -s /sbin/nologin bai_du 修改访问权限: usermod -d /home/webroot/fourcar.diliulian.com/ -s /sbin/nologin fourcar       在创建FTP服务器之有先命令: ps -ef |grep vsftpd 费元星版权Q【9715234】 查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装。
1504 0