启动引导器被加载完后 , 你将进入启动进程的第三步 , 你仍然可以在启动引导器通过设
定你喜欢的环境来切换内部控制台和串行控制台 。看看第15.6.5 节 。
15.6.3 摘要
这是几个在这章要讨论的几个设置和选择的控制台的摘要 。
15.6.3.1 Case 1: You Set the flags to 0x10 for sio0
device sio0 at isa? port "IO_COM1" tty flags 0x10 irq 4
Console in Console during boot Console during boot Options in
kernel loader blocks /boot.config
nothing internal internal internal
-h serial serial serial
internal internal -D serial and internal
serial serial -Dh serial and internal
internal internal internal -P, keyboard present
serial serial -P, keyboard absent serial and internal
第26 页FreeBSD 使用手册
15.6.3.2 Case 2: You Set the flags to 0x30 for sio0
device sio0 at isa? port "IO_COM1" tty flags 0x30 irq 4
Console in Console during Console during Options in
kernel boot loader boot blocks /boot.config
nothing internal internal serial
-h serial serial serial
-D serial and internal internal serial
-Dh serial and internal serial serial
serial internal internal -P, keyboard present
serial serial serial and internal -P, keyboard absent
15.6.4 串行控制台的提示
15.6.4.1 设置一个快速的串行口速度
默认的串行口被设置成9600 波特 , 8 位 , 没有奇偶性 , 1 个停止位 。如果你希望改变速
度 , 你必须重新编译启动块 。在/etc/make.conf 中添加下面一行 , 然后编译新的启动块:
BOOT_COMCONSOLE_SPEED=19200
如果串行控制台用其他方法来配置而不是在启动时用-h , 或内核使用的串行控制台与启
动块使用的不同 , 那你必须在内核配置文件中添加下面这行 , 然后编译内核:
options CONSPEED=19200
15.6.4.2 使用串行口而不是sio0 作为控制台
使用串行口而不是sio0 作为控制台需要做一些重编译 。如果你无论如何都要使用另一
个串行口 , 重新编译启动块 , 启动引导器和内核 。
1. 得到内核源代码 。
2. 编辑/etc/make.conf 文件 , 然后设置BOOT_COMCONSOLE_PORT 作为你要使用(0x3F8,
0x2F8, 0x3E8 or 0x2E8)端口的地址 。只有sio0 到sio3(COM1: through COM4:)能被使
用;多接口串行卡将不会工作 。不需要任何中断设置 。
第27 页FreeBSD 使用手册
3. 创建一个定制的内核配置文件 , 在你要使用的串行口添加合适的标记 。例如 , 如果
要将sio1(COM2:)作为控制台:
4. device sio1 at isa? port "IO_COM2" tty flags 0x10 irq 3
或
device sio1 at isa? port "IO_COM2" tty flags 0x30 irq 3
其他端口的控制台标记也不要设 。
5. 重新编译和安装启动块:
6. # cd /sys/boot/i386/boot2
7. # make
8. # make install
9. 重编译和安装启动引导器:
10. # cd /sys/boot/i386/loader
11. # make
12. # make install
13. 重建和安装内核 。
14. 用disklabel 将启动块写到启动磁盘上 , 然后从新内核启动 。
15.6.4.3 通过串行线键入DDB 调试器
如果你想通过串行控制台进行内核调试 , 你需要在编译内核时加上下面选项:
options BREAK_TO_DEBUGGER
options DDB
15.6.4.4 在串行控制台上得到一个登陆命令行
第28 页FreeBSD 使用手册
你可能希望通过串行线得到一个登陆命令行 , 现在你可以看到启动信息 , 通过串行控制
台键入内核调试信息 。可以这样做 。
用一个编辑器打开/etc/ttys 文件 , 然后定位到下面的行:
ttyd0 "/usr/libexec/getty std.9600" unknown off secure
ttyd1 "/usr/libexec/getty std.9600" unknown off secure
ttyd2 "/usr/libexec/getty std.9600" unknown off secure
ttyd3 "/usr/libexec/getty std.9600" unknown off secure
ttyd0 到ttyd3 相当于COM1 到COM4 。可以打开或关闭某个端口 。如果你已经改变了串
推荐阅读
- 在FreeBSD 4.0下安装USB鼠标支持
- 2 FreeBSD handbook中文版 11 打印 高级打印机设置 B.Header Pages
- FreeBSD 4.0 Kernel Hacking Guide--vm/vm_object.c
- NDIS wrapper for FreeBSD 5.2 CURRENT
- 如何压缩FreeBSD内核
- FreeBSD 4.0 Kernel Hacking Guide--i386/i386/machdep.c
- FreeBSD紧急救援状况的应变措施
- freebsd 文件类型表示
- 用 NT loader 来启动 FreeBSD
- FreeBSD中用MRTG监测网路流量