分享
 
 
 

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

王朝system·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

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

========================================

作者:黑夜编码人(Matthew)

日期:2003年04月23日

Mail:matthew@linuxforum.net

Web:http://www.arbornet.org/~matthew/

**声明:

作者写这篇文章只是将自己如何配制Serial Console的过程写出来并且希望能给需要的朋友一点帮助,对于文中所写的内容如果对你造成了任何损失概不负责,特此声明!

任何转载或摘抄请保留以上信息。

FreeBSD支持使用Serial Console来远程控制计算机,并且支持在启动的时候就使用Serial Console来对机器进行控制。

好了,费话少说,下面让我们来看看在FreeBSD上如何使用和配制Serial Console。

1)准备Null-Modem连线。

我跑便了整个电脑城都没有买到这种连线,后来没有办法就买了一根”母“COM口的连接线(注意别买成“公”的了,母的连接处应该是针孔,而不是针),然后自己做了一根null-modem连接线。

我制作的是标准Null-Modem连接线,其连接交叉图如下:

2)设置FreeBSD

在设置前请确定你的当前Kernel已经支持Serial Console,你可以使用dmesg | grep sio来查看当前Kernel是否支持Serial Console,如果支持的话将会出现类似以下的信息:

sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0

sio0: type 16550A

sio1 at port 0x2f8-0x2ff irq 3 on isa0

sio1: type 16550A

如果你没有看到以上信息说明你的Kernel不支持Serial Console,你需要重新配制你的Kernel,在内核配制文件中加入以内存:

device sio0 at isa? port IO_COM1 flags 0x10 irq 4

device sio1 at isa? port IO_COM2 irq 3

然后重新编译你的内核。(如果你不知道如何编译内核,请参阅Handbook)

当内核支持Serial Console并且已经用Null-Modem将两台计算机的COM口连接好以后,你可以使用以下命令来测试你的连接是否已经正常工作:

# cu -l /dev/cuaa0 -s 9600

(注:这里FreeBSD使用的连接端口是COM1,如果你使用的是COM2请将cuaa0换成cuaa1)

如果显示“connected.”表示连接成功,此时你可以使用Windows的超级终端连接到FreeBSD Box,连接时设置端口属性:

每秒位数:9600

数据位:8

奇偶校验:无

停止位:1

数据流控制:硬件

当超级终端连接上FreeBSD Box之后,超终端终上不能看到任何内容,也不能进行任何操作,但你可以在刚才执行的cu -l /dev/cuaa0 -s 9600命令之后输入字符(当然,你在FreeBSD的终端上看不到任何显示),这时这些字符将在超级终端里显示出来,这表明你的硬件设置已经正常工作,可以继续下面的工作了。

编辑/etc/ttys更改其中的ttyd0和ttyd1设置如下:

ttyp0 "/usr/libexec/getty std.9600" unknown on secure

ttyp1 "/usr/libexec/getty std.9600" unknown on secure

这样的设置允许root权限的用户从Serial Console上登录,如果你比较重视安全,你可以将这里的secure改为insecure来限制root权限的用户登录。

编辑/boot/loader.conf并设置默认控制台为Serial Console,你需要加入以下设置:

console="comconsole"

此时打开你的超级终端并且连接上FreeBSD,这里你将看不到任何信息,因为你刚才在FreeBSD上的设置还没有生效。

现在重新启动你的FreeBSD机器。

当机器重新启动后,在FreeBSD上显示出:

Loading /boot/defaults/loader.conf

|

之后,如果此时你的配制正确的话便可以在超级端上看到FreeBSD的启动信息,等启动完成后就可以看到熟悉的login:提示了。

如果你在重新启动的时候没有打开超级端也没有关系,等机器启动完之后,打开超级终端连接上FreeBSD,然后在超级终端里按回车键(注意,一定要按回车来激活),这时login:提示也将出现,你现在便可以登录并管理你的机器了。

如果非常不幸,你并没有在超级终端里面看到任何信息,并且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=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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有