使用串口控制FreeBSD Using Serial Console in FreeBSD( 二 )


如果非常不幸,你并没有在超级终端里面看到任何信息,并且FreeBSD上也一直显示:
Loading /boot/defaults/loader.conf
|
此时请不要慌张,稍等一会儿,因为机器依然在运行,只不过输出的内容全部重定向到Serial Console上去了,所以你在FreeBSD上看不到任何信息,一旦启动完成后FreeBSD本地的login提示就会出来,所以千万不要以为机器死掉了(FreeBSD不会这样脆弱的:p)而重新启动,因为就算你些时重新启动机器结果还是一样 。
但是如果你等了很久机器仍然没有任何反应,此时你只有reset你的机器,然后采用以下方法来解决:
重新启动机器,当机器启动出现 "-" 提示的时候按任意键(回车除外)进入"boot :"提示符,输入: boot kernel 此时机器开始启动,这时你便可以进入到系统了 。

我们可以看到通过Serial Console比通过telnet/ssh管理要好一些,因为FreeBSD的启动过程也逃不出我们的眼底 。
不过细心的朋友可能已经注意这种方式显示的只是加载了loader.conf之后的信息,所以也不能进入单用户模式,以及设置启动选项,那么有没有办法将加载loader.conf之前的信息也显示出来并且可以在启动前设置启动选项呢?答案是肯定的,具体步骤如下:
(提醒:在做以下设置时请确认你的Serial Console已经配制正确,要不然你会看不到任何启动的信息,如果失败请等待机器完成启动并出现login:提示符,千万不要重新启动机器)
在/目录下生成一个文件boot.config,其内容为:
-h
保存,并重新启动你的机器,此时你可以在超级终端上看到类似以下的信息:
Console: Serial port
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 638kB/30708kB available memory

FreeBSD/i386 bootstrap loader, Revision 0.8
(root@freebsd-stable.sentex.ca, Thu Apr 3 08:41:45 GMT 2003)
Loading /boot/defaults/loader.conf
/kernel text=0x30b115 data=https://www.rkxy.com.cn/dnjc/0x4c268 0x34d8c syms=[0x4 0x43380 0x4 0x4b09b]
-
Hit [Enter] to boot immdiately, or any other key for command prompt.
可以看到这里可以显示出加载loader.conf之前的信息了,并且你还可以选择进入单用户模式了 。:)

到这里,关于如何在FreeBSD使用Serial Console已经讲完了,感觉是不是很简单,只要连接好连线,更改一下设置就可以了 。

由于时间和作者的水平有限,文中难免出现错误的地方还请大家原谅和指教 。


参考:
FreeBSD Man Pages boot[8]
FreeBSD HandBook

推荐阅读