有关的标记是:
0x10
启用控制台支持。其他的控制台标记会被忽略,除非它被设置了。现在,绝大多数的设
置都有控制台的支持;这个标记的第一个就是首选的。这个单独选项是不能确保串行口适用
于控制台的,设置下面的标记或加上下面描述的-h 选项,和这个放在一起。
0x20
第23 页FreeBSD 使用手册
不管下面有没有讨论,都迫使这个选项支持控制台。这个标记在FreeBSD 2. X中替换了
COMCONSOLE 选项。标记0x20 必须和0x10 一起使用。
0x40
保存这个设置,确保这个设置不能用于普通访问。你不要把这个标记放在你要使用的串
口设置中。这个标记的唯一的用处是在进行远程内核调试时用于指派单位。看看开发人员手
册了解更多信息。
注意:在FreeBSD 4.0-CURRENT 和以后的版本中,标记0x40 通常是不同的,有另一个
标记可以来指定一个串行口用于远程调试。
例:
device sio0 at isa? port "IO_COM1" tty flags 0x10 irq 4
看看sio 的联机手册了解更多信息。如果标记没有被设置,你必须运行UserConfig 或
重新编译内核。
5. 在启动磁盘的a 分区的根目录创建一个boot.config 文件。
这个文件将指导启动块代码如何启动系统。为了激活串行控制台,你必须有一个或多个
下面的选项---如果你要多个选项,在同一行必须都包含它们:
-h
切换内部和串行控制台。你使用这个来交换控制台设备。例如,如果你从内部控制台启
动,你可以使用-h 来直接使用启动引导器和内核来使用串行口作为它的控制台设备。另外,
如果你从串行口启动,你可以使用-h 来告诉启动引导器和内核使用显示设备作为控制台。
-D
切换单一和双重控制台配置。在单一配置中,控制台将是本机的控制台(显示设备)或
串行口。在双重控制台配置中,显示设备和串行口将同时成为控制台,无论-h 的选项的情
形。然而,双控制台配置只在启动块运行的过程中起作用。一旦启动引导器获得控制,由-h
选项指定的控制台将成为唯一的控制台。
-P
第24 页FreeBSD 使用手册
在启动时,探测键盘。如果键盘找不到,-D 和-h 选项会自动设置。
注意:由于启动块的当前版本的限制,-P 选项只能探测扩展的键盘。少于101 键的键
盘将无法被探测到。如果你碰到这个情况,你必须避免使用-P 选项。不幸的是这个问题还
没有解决。
使用-P 选项来自动选择控制台,或使用-h 选项来激活控制台。
你也可以使用boot 联机文档中所描述的其他选项。
除了-P 选项,所有选项将被传给启动引导器(/boot/loader)。启动引导器将通过检查
-h 选项的状态来决定是显示设备成为控制台,还是串行口成为控制台。这意味着如果你指
定-D 选项,但在/boot.config 中没有-h 选项,你在启动块时使用串行口作为控制台;启动
引导器将使用内部显示设备作为控制台。
6. 启动机器
当你启动你的FreeBSD 时,启动块将把/boot.config 的内容发给控制台。例如:
/boot.config: -P
Keyboard: no
如果你把-P 放在/boot.config 中并指出键盘存在或不存在,那将只出现第二行。这些
信息会被定位到串行口或内部控制台,或两个都是,完全取决于/boot.config 中的选项。
定位信息选项
none internal console
-h serial console
serial and internal consoles -D
serial and internal consoles -Dh
-P, keyboard present internal console
-P, keyboard absent serial console
出现上面信息后,在启动块加载启动引导器和更多信息被映到屏幕之前将有一个小小的
停顿。在通常情况下,你不需要打断启动进程,但为了确信设置是否正确,你也可以这样做。
第25 页FreeBSD 使用手册
键入任何键,而不是Enter,控制台会打断启动进程。启动块将进入命令行模式。你看
到:
>> FreeBSD/i386 BOOT
Default: 0:wd(0,a)/boot/loader
boot:
检验上面出现的信息,可能是串行口,或内部控制台,或两个都是,完全取决于你在
/boot.config 中的选项。如果信息出现在正确的控制台,键入Enter 继续启动进程。
如果你要使用串行控制台,但你没有看到命令行,那可能设置有问题。这时,你键入-h
然后单击Enter/Return 来告诉启动块选择串行口作为控制台。一旦系统起来了,回去检查
一下是什么出问题了。
启动引导器被加载完后,你将进入启动进程的第三步,你仍然可以在启动引导器通过设
定你喜欢的环境来切换内部控制台和串行控制台。看看第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,或内核使用的串行控制台与启
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




