测试环境:
Host OS: SUSE Pro 9.3
vmware: 4.5.2 for linux (any-any-update89)
Virtual OS: SLES9 两台 (SLES9serv1, SLES9serv2)
关键词:
Linux, console, serial, vmware, console loglevel
Linux 的系统的 console 可以重定向到串口,系统的 console 消息可以通过终端软件记录下来,对分析系统的故障
很有帮助。 由于没有串口线,所以只好借助 vmware 来测试这个功能了。
vmware 4.5.2 支持将串口创建为命名管道(在 linux 下实际是socket)
具体的做法如 vmware 文档 file:///usr/lib/vmware/help-manual/devices_serial_ws.htm 所介绍的方法
In the server virtual machine
- Open the virtual machine settings editor (VM > Settings).
- Click Add to start the Add Hardware Wizard.
- Select Serial Port, then click Next.
- Select Output to named pipe, then click Next.
- In the Path field, enter /tmp/
or another Unix socket name of your choice. - Select This end is the server.
- Select The other end is a virtual machine.
- By default, the device status setting is Connect at power on. You may deselect this setting if you wish.
In the client virtual machine
- Open the virtual machine settings editor (VM > Settings).
- Click Add to start the Add Hardware Wizard.
- Select Serial Port, then click Next.
- Select Output to named pipe, then click Next.
- In the Path field, enter /tmp/
or another Unix socket name of your choice. The pipe name must be the same on both server and client. - Select This end is the client.
- Select The other end is a virtual machine.
- By default, the device status setting is Connect at power on. You may deselect this setting if you wish.
别忘了保存相应的配置。:-)
启动虚拟机之后,VM SLES9serv1 作为串口使用中的服务器端,它的终端会重定向到串口
1) 在 VM SLES9serv1 的 /boot/grub/menu.lst 文件 kernel 对应的行上添加 console=ttyS0,9600 console=tty0,要令它生效需要重启系统。
2) 如果希望在另外一台 VM SLES9serv2 上登录这台 VM SLES9serv1,
在 VM SLES9serv1 的 /etc/inittab 中添加行:
S0:2345:respawn:/sbin/agetty -L 9600 ttyS0 vt102
然后运行命令: # init q
3)在 VM SLES9serv2 上配置 minicom 设置串口为 /dev/ttyS0 参数为 9600 8N1
然后连接上去,应该一切ok了
4) 如果希望把尽可能多的消息通过串口发送出去,需要调整 VM SLES9serv1 的 console loglevel
# echo 8 > /proc/sys/kernel/printk
5) 在 VM SLES9serv1 上插入会产生 kernel msg 的内核模块,测试内核消息发送是否正常
参见:
1. /usr/src/linux/Documentation/serial-console.txt
2. /usr/src/linux/Documentation/sysctl/kernel.txt
3. vmware/help-manual/devices_serial_ws.htm
4. man 1 minicom
5. man 8 init
文章来源于领测软件测试网 https://www.ltesting.net/