使用串行连接是测试驱动程序的一种好方法。使用 tip(1) 命令可在主机系统和测试系统之间建立串行连接。借助此方法,可将主机控制台上的 tip 窗口用作测试计算机的控制台。有关其他信息,请参见 tip(1) 手册页。
tip 窗口具有如下优点:
可以监视与测试系统和内核调试程序的交互。例如,如果驱动程序使测试系统崩溃,则该窗口可以保留会话日志,以供使用。
通过登录 tip 主机并使用 tip(1) 连接到测试计算机可以远程访问测试计算机。
尽管调试 Solaris 设备驱动程序时不要求使用 tip 连接和另一台计算机,但仍建议使用此方法。
使用主机系统和测试计算机上的串行端口 A 将两台计算机连接起来。
必须使用空调制解调器电缆建立此连接。
在主机系统中,确保 /etc/remote 中存在对应于该连接的项。有关详细信息,请参见 remote(4) 手册页。
终端项必须与使用的串行端口匹配。Solaris 操作系统附带对应于串行端口 B 的适当项,但必须为串行端口 A 添加一个终端项:
debug:\ :dv=/dev/term/a:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D: |
波特率必须设置为 9600。
在主机上的 shell 窗口中,运行 tip(1) 并指定项的名称:
% tip debug connected |
现在,shell 窗口是一个 tip 窗口,具有到测试计算机的控制台的连接。
请勿在主机上使用 STOP-A(针对 SPARC 计算机)或 F1-A(针对 x86 体系结构计算机)来停止测试计算机。此操作实际上会停止主机。要向测试计算机发送中断,请在 tip 窗口中键入 ~#。仅当诸如 ~# 命令的这些字符位于行首才能识别这些命令。如果命令无效,请按回车键或 Ctrl-U 组合键。
一种在 SPARC 平台上快速设置测试计算机的方法是在打开计算机之前拔除键盘。然后,该计算机将自动使用串行端口 A 作为控制台。
另一种设置测试计算机的方法是使用引导 PROM 命令使串行端口 A 成为控制台。在测试计算机上,在引导 PROM ok 提示符处,将控制台 I/O 定向到串行线路。要使测试计算机始终以串行端口 A 作为控制台,请设置环境变量 input-device 和 output-device。
ok setenv input-device ttya ok setenv output-device ttya |
也可以使用 eeprom 命令使串行端口 A 成为控制台。以超级用户身份,执行以下命令使 input-device 和 output-device 参数指向串行端口 A。以下示例对 eeprom 命令进行了说明。
# eeprom input-device=ttya # eeprom output-device=ttya |
eeprom 命令会导致在以后每次系统引导时都将控制台重定向到串行端口 A。
在 x86 平台上,使用 eeprom 命令可使串行端口 A 成为控制台。此过程与 SPARC 平台过程相同。请参见在 SPARC 平台上设置目标系统。eeprom 命令会使控制台在重新引导期间切换到串行端口 A (COM1)。
除非 BIOS 支持控制台重定向到串行端口,否则 x86 计算机在引导过程的早期阶段之前不会将控制台控制权转交给 tip 连接。在 SPARC 计算机中,tip 连接在整个引导过程中都维护着控制台控制权。